Skip to content

Commit

Permalink
tests/docker: update fedora-win[32|64]-cross with lcitool
Browse files Browse the repository at this point in the history
Convert another two dockerfiles to lcitool and update.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220929114231.583801-10-alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221028095659.48734-4-philmd@linaro.org>
  • Loading branch information
stsquad committed Oct 31, 2022
1 parent 6532426 commit 9e243b7
Show file tree
Hide file tree
Showing 3 changed files with 207 additions and 80 deletions.
139 changes: 98 additions & 41 deletions tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -1,46 +1,103 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool dockerfile --layers all --cross mingw32 fedora-35 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM registry.fedoraproject.org/fedora:35

# Please keep this list sorted alphabetically
ENV PACKAGES \
bc \
bison \
bzip2 \
ccache \
diffutils \
findutils \
flex \
gcc \
gettext \
git \
glib2-devel \
hostname \
make \
meson \
mingw32-bzip2 \
mingw32-curl \
mingw32-glib2 \
mingw32-gmp \
mingw32-gnutls \
mingw32-gtk3 \
mingw32-libffi \
mingw32-libjpeg-turbo \
mingw32-libpng \
mingw32-libtasn1 \
mingw32-libusbx \
mingw32-nettle \
mingw32-nsis \
mingw32-pixman \
mingw32-pkg-config \
mingw32-SDL2 \
msitools \
perl \
python3 \
python3-PyYAML \
tar \
which
RUN dnf install -y nosync && \
echo -e '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
exec "$@"' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
bash \
bc \
bison \
bzip2 \
ca-certificates \
ccache \
ctags \
dbus-daemon \
diffutils \
findutils \
flex \
gcovr \
genisoimage \
git \
glib2-devel \
glibc-langpack-en \
hostname \
llvm \
make \
meson \
ninja-build \
nmap-ncat \
openssh-clients \
pcre-static \
perl-base \
python3 \
python3-PyYAML \
python3-numpy \
python3-opencv \
python3-pillow \
python3-pip \
python3-sphinx \
python3-sphinx_rtd_theme \
rpm \
sed \
sparse \
spice-protocol \
tar \
tesseract \
tesseract-langpack-eng \
texinfo \
util-linux \
which && \
nosync dnf autoremove -y && \
nosync dnf clean all -y

ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"

RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
RUN nosync dnf install -y \
mingw32-SDL2 \
mingw32-SDL2_image \
mingw32-bzip2 \
mingw32-curl \
mingw32-gcc \
mingw32-gcc-c++ \
mingw32-gettext \
mingw32-glib2 \
mingw32-gnutls \
mingw32-gtk3 \
mingw32-libgcrypt \
mingw32-libjpeg-turbo \
mingw32-libpng \
mingw32-libtasn1 \
mingw32-nettle \
mingw32-nsis \
mingw32-pixman \
mingw32-pkg-config && \
nosync dnf clean all -y && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV ABI "i686-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
ENV DEF_TARGET_LIST i386-softmmu
138 changes: 99 additions & 39 deletions tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,43 +1,103 @@
# THIS FILE WAS AUTO-GENERATED
#
# $ lcitool dockerfile --layers all --cross mingw64 fedora-35 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM registry.fedoraproject.org/fedora:35

# Please keep this list sorted alphabetically
ENV PACKAGES \
bc \
bison \
bzip2 \
ccache \
diffutils \
findutils \
flex \
gcc \
gettext \
git \
glib2-devel \
hostname \
make \
meson \
mingw32-nsis \
mingw64-bzip2 \
mingw64-curl \
mingw64-glib2 \
mingw64-gmp \
mingw64-gtk3 \
mingw64-libffi \
mingw64-libjpeg-turbo \
mingw64-libpng \
mingw64-libtasn1 \
mingw64-libusbx \
mingw64-pixman \
mingw64-pkg-config \
msitools \
perl \
python3 \
python3-PyYAML \
tar \
which
RUN dnf install -y nosync && \
echo -e '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
exec "$@"' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
bash \
bc \
bison \
bzip2 \
ca-certificates \
ccache \
ctags \
dbus-daemon \
diffutils \
findutils \
flex \
gcovr \
genisoimage \
git \
glib2-devel \
glibc-langpack-en \
hostname \
llvm \
make \
meson \
ninja-build \
nmap-ncat \
openssh-clients \
pcre-static \
perl-base \
python3 \
python3-PyYAML \
python3-numpy \
python3-opencv \
python3-pillow \
python3-pip \
python3-sphinx \
python3-sphinx_rtd_theme \
rpm \
sed \
sparse \
spice-protocol \
tar \
tesseract \
tesseract-langpack-eng \
texinfo \
util-linux \
which && \
nosync dnf autoremove -y && \
nosync dnf clean all -y

ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"

RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
RUN nosync dnf install -y \
mingw32-nsis \
mingw64-SDL2 \
mingw64-SDL2_image \
mingw64-bzip2 \
mingw64-curl \
mingw64-gcc \
mingw64-gcc-c++ \
mingw64-gettext \
mingw64-glib2 \
mingw64-gnutls \
mingw64-gtk3 \
mingw64-libgcrypt \
mingw64-libjpeg-turbo \
mingw64-libpng \
mingw64-libtasn1 \
mingw64-nettle \
mingw64-pixman \
mingw64-pkg-config && \
nosync dnf clean all -y && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
ENV ABI "x86_64-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
ENV DEF_TARGET_LIST x86_64-softmmu
10 changes: 10 additions & 0 deletions tests/lcitool/refresh
Expand Up @@ -161,6 +161,16 @@ try:
trailer=cross_build("s390x-linux-gnu-",
"s390x-softmmu,s390x-linux-user"))

generate_dockerfile("fedora-win32-cross", "fedora-35",
cross="mingw32",
trailer=cross_build("i686-w64-mingw32-",
"i386-softmmu"))

generate_dockerfile("fedora-win64-cross", "fedora-35",
cross="mingw64",
trailer=cross_build("x86_64-w64-mingw32-",
"x86_64-softmmu"))

#
# Cirrus packages lists for GitLab
#
Expand Down

0 comments on commit 9e243b7

Please sign in to comment.