All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image
@ 2021-03-03 12:42 Philippe Mathieu-Daudé
  2021-03-03 12:46 ` Daniel P. Berrangé
  0 siblings, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-03 12:42 UTC (permalink / raw)
  To: Daniel P . Berrange, qemu-devel
  Cc: Fam Zheng, Alex Bennée, Thomas Huth,
	Philippe Mathieu-Daudé,
	Richard W . M . Jones

The only difference between fedora-winXX-cross.docker and
fedora.docker is the specific QEMU_CONFIGURE_OPTS environment
variable. All the rest can be inherited from the generic Fedora
image.
Basing the cross containers on the generic Fedora allows us to
- save registry/local storage
- use more tools in the cross container (ccache for example).

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/containers.yml                   |  4 ++
 tests/docker/Makefile.include                 |  2 +
 .../dockerfiles/fedora-win32-cross.docker     | 41 +------------------
 .../dockerfiles/fedora-win64-cross.docker     | 37 +----------------
 4 files changed, 10 insertions(+), 74 deletions(-)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 33e4046e233..1f7f82ece65 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -222,11 +222,15 @@ i386-fedora-cross-container:
 
 win32-fedora-cross-container:
   <<: *container_job_definition
+  stage: containers-layer2
+  needs: ['amd64-fedora-container']
   variables:
     NAME: fedora-win32-cross
 
 win64-fedora-cross-container:
   <<: *container_job_definition
+  stage: containers-layer2
+  needs: ['amd64-fedora-container']
   variables:
     NAME: fedora-win64-cross
 
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 7cab761bf5b..5aa99df32ad 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -144,6 +144,8 @@ docker-image-debian-riscv64-cross: docker-image-debian10
 docker-image-debian-s390x-cross: docker-image-debian10
 docker-image-debian-sh4-cross: docker-image-debian10
 docker-image-debian-sparc64-cross: docker-image-debian10
+docker-image-fedora-win32-cross: docker-image-fedora
+docker-image-fedora-win64-cross: docker-image-fedora
 
 # Specialist build images, sometimes very limited tools
 docker-image-debian-tricore-cross: docker-image-debian10
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
index 81b5659e9c5..425f05c3e98 100644
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -1,41 +1,4 @@
-FROM fedora:33
-
-# Please keep this list sorted alphabetically
-ENV PACKAGES \
-    bc \
-    bzip2 \
-    diffutils \
-    findutils \
-    gcc \
-    gettext \
-    git \
-    hostname \
-    make \
-    meson \
-    mingw32-bzip2 \
-    mingw32-curl \
-    mingw32-glib2 \
-    mingw32-gmp \
-    mingw32-gnutls \
-    mingw32-gtk3 \
-    mingw32-libjpeg-turbo \
-    mingw32-libpng \
-    mingw32-libtasn1 \
-    mingw32-nettle \
-    mingw32-nsis \
-    mingw32-pixman \
-    mingw32-pkg-config \
-    mingw32-SDL2 \
-    perl \
-    perl-Test-Harness \
-    python3 \
-    python3-PyYAML \
-    tar \
-    which
-
-RUN dnf install -y $PACKAGES
-RUN rpm -q $PACKAGES | sort > /packages.txt
-ENV FEATURES mingw
+FROM qemu/fedora
 
 # Specify the cross prefix for this image (see tests/docker/common.rc)
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
+ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index bcb428e7242..abdbce2a145 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,37 +1,4 @@
-FROM fedora:33
-
-# Please keep this list sorted alphabetically
-ENV PACKAGES \
-    bc \
-    bzip2 \
-    diffutils \
-    findutils \
-    gcc \
-    gettext \
-    git \
-    hostname \
-    make \
-    meson \
-    mingw64-bzip2 \
-    mingw64-curl \
-    mingw64-glib2 \
-    mingw64-gmp \
-    mingw64-gtk3 \
-    mingw64-libjpeg-turbo \
-    mingw64-libpng \
-    mingw64-libtasn1 \
-    mingw64-pixman \
-    mingw64-pkg-config \
-    perl \
-    perl-Test-Harness \
-    python3 \
-    python3-PyYAML \
-    tar \
-    which
-
-RUN dnf install -y $PACKAGES
-RUN rpm -q $PACKAGES | sort > /packages.txt
-ENV FEATURES mingw
+FROM qemu/fedora
 
 # 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 QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image
  2021-03-03 12:42 [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image Philippe Mathieu-Daudé
@ 2021-03-03 12:46 ` Daniel P. Berrangé
  2021-03-04 14:00   ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-03-03 12:46 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Alex Bennée, qemu-devel,
	Richard W . M . Jones

On Wed, Mar 03, 2021 at 01:42:22PM +0100, Philippe Mathieu-Daudé wrote:
> The only difference between fedora-winXX-cross.docker and
> fedora.docker is the specific QEMU_CONFIGURE_OPTS environment
> variable. All the rest can be inherited from the generic Fedora
> image.

This is relying on the base Fedora image already having the
mingw packages installed. My series to automate creation of
the container dockerfiles removes those entirely, so we have
strictly separate native and mingw images for Fedora:

  https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg03123.html

> Basing the cross containers on the generic Fedora allows us to
> - save registry/local storage
> - use more tools in the cross container (ccache for example).
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .gitlab-ci.d/containers.yml                   |  4 ++
>  tests/docker/Makefile.include                 |  2 +
>  .../dockerfiles/fedora-win32-cross.docker     | 41 +------------------
>  .../dockerfiles/fedora-win64-cross.docker     | 37 +----------------
>  4 files changed, 10 insertions(+), 74 deletions(-)

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image
  2021-03-03 12:46 ` Daniel P. Berrangé
@ 2021-03-04 14:00   ` Philippe Mathieu-Daudé
  2021-03-04 14:18     ` Daniel P. Berrangé
  0 siblings, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-04 14:00 UTC (permalink / raw)
  To: Daniel P. Berrangé, Alex Bennée
  Cc: Fam Zheng, Thomas Huth, qemu-devel, Richard W . M . Jones

On 3/3/21 1:46 PM, Daniel P. Berrangé wrote:
> On Wed, Mar 03, 2021 at 01:42:22PM +0100, Philippe Mathieu-Daudé wrote:
>> The only difference between fedora-winXX-cross.docker and
>> fedora.docker is the specific QEMU_CONFIGURE_OPTS environment
>> variable. All the rest can be inherited from the generic Fedora
>> image.
> 
> This is relying on the base Fedora image already having the
> mingw packages installed. My series to automate creation of
> the container dockerfiles removes those entirely, so we have
> strictly separate native and mingw images for Fedora:
> 
>   https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg03123.html

I'm a bit confused. So instead of having one single big image,
you prefer to have multiple ones.

I stopped using the fedora-winXX-cross because they lacks ccache,
and the "big" fedora image contains the mingwXX toolchains.

I'll wait you respin your series and test the new created containers
to see if they fit my needs.

Thanks,

Phil.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image
  2021-03-04 14:00   ` Philippe Mathieu-Daudé
@ 2021-03-04 14:18     ` Daniel P. Berrangé
  2021-03-04 15:11       ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-03-04 14:18 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Alex Bennée, qemu-devel,
	Richard W . M . Jones

On Thu, Mar 04, 2021 at 03:00:04PM +0100, Philippe Mathieu-Daudé wrote:
> On 3/3/21 1:46 PM, Daniel P. Berrangé wrote:
> > On Wed, Mar 03, 2021 at 01:42:22PM +0100, Philippe Mathieu-Daudé wrote:
> >> The only difference between fedora-winXX-cross.docker and
> >> fedora.docker is the specific QEMU_CONFIGURE_OPTS environment
> >> variable. All the rest can be inherited from the generic Fedora
> >> image.
> > 
> > This is relying on the base Fedora image already having the
> > mingw packages installed. My series to automate creation of
> > the container dockerfiles removes those entirely, so we have
> > strictly separate native and mingw images for Fedora:
> > 
> >   https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg03123.html
> 
> I'm a bit confused. So instead of having one single big image,
> you prefer to have multiple ones.
> 
> I stopped using the fedora-winXX-cross because they lacks ccache,
> and the "big" fedora image contains the mingwXX toolchains.
> 
> I'll wait you respin your series and test the new created containers
> to see if they fit my needs.

ccache will be present in any of the containers I auto-generate for
QEMU using lcitool, as I agree its a very useful part o fthe toolchain.
So when i convert the winXXX-cross containers, they'll gain ccache
(and alot of other missing mingw pieces)


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image
  2021-03-04 14:18     ` Daniel P. Berrangé
@ 2021-03-04 15:11       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-04 15:11 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Fam Zheng, Thomas Huth, Alex Bennée, qemu-devel,
	Richard W . M . Jones

On 3/4/21 3:18 PM, Daniel P. Berrangé wrote:
> On Thu, Mar 04, 2021 at 03:00:04PM +0100, Philippe Mathieu-Daudé wrote:
>> On 3/3/21 1:46 PM, Daniel P. Berrangé wrote:
>>> On Wed, Mar 03, 2021 at 01:42:22PM +0100, Philippe Mathieu-Daudé wrote:
>>>> The only difference between fedora-winXX-cross.docker and
>>>> fedora.docker is the specific QEMU_CONFIGURE_OPTS environment
>>>> variable. All the rest can be inherited from the generic Fedora
>>>> image.
>>>
>>> This is relying on the base Fedora image already having the
>>> mingw packages installed. My series to automate creation of
>>> the container dockerfiles removes those entirely, so we have
>>> strictly separate native and mingw images for Fedora:
>>>
>>>   https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg03123.html
>>
>> I'm a bit confused. So instead of having one single big image,
>> you prefer to have multiple ones.
>>
>> I stopped using the fedora-winXX-cross because they lacks ccache,
>> and the "big" fedora image contains the mingwXX toolchains.
>>
>> I'll wait you respin your series and test the new created containers
>> to see if they fit my needs.
> 
> ccache will be present in any of the containers I auto-generate for
> QEMU using lcitool, as I agree its a very useful part o fthe toolchain.
> So when i convert the winXXX-cross containers, they'll gain ccache
> (and alot of other missing mingw pieces)

Cool, looking forward to QEMU using lcitool :)



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-03-04 15:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03 12:42 [PATCH] docker: Base Fedora MinGW cross containers on the base Fedora image Philippe Mathieu-Daudé
2021-03-03 12:46 ` Daniel P. Berrangé
2021-03-04 14:00   ` Philippe Mathieu-Daudé
2021-03-04 14:18     ` Daniel P. Berrangé
2021-03-04 15:11       ` Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.