diff mbox series

.gitlab-ci/windows.yml: Don't install libusb or spice packages on 32-bit

Message ID 20240215155009.2422335-1-peter.maydell@linaro.org
State New
Headers show
Series .gitlab-ci/windows.yml: Don't install libusb or spice packages on 32-bit | expand

Commit Message

Peter Maydell Feb. 15, 2024, 3:50 p.m. UTC
When msys2 updated their libusb packages to libusb 1.0.27, they
dropped support for building them for mingw32, leaving only mingw64
packages.  This broke our CI job, as the 'pacman' package install now
fails with:

error: target not found: mingw-w64-i686-libusb
error: target not found: mingw-w64-i686-usbredir

(both these binary packages are from the libusb source package).

Similarly, spice is now 64-bit only:
error: target not found: mingw-w64-i686-spice

Fix this by dropping these packages from the list we install for our
msys2-32bit build.  We do this with a simple mechanism for the
msys2-64bit and msys2-32bit jobs to specify a list of extra packages
to install on top of the common ones we install for both jobs.

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 .gitlab-ci.d/windows.yml | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé Feb. 15, 2024, 5:36 p.m. UTC | #1
On 15/2/24 16:50, Peter Maydell wrote:
> When msys2 updated their libusb packages to libusb 1.0.27, they
> dropped support for building them for mingw32, leaving only mingw64
> packages.  This broke our CI job, as the 'pacman' package install now
> fails with:
> 
> error: target not found: mingw-w64-i686-libusb
> error: target not found: mingw-w64-i686-usbredir
> 
> (both these binary packages are from the libusb source package).
> 
> Similarly, spice is now 64-bit only:
> error: target not found: mingw-w64-i686-spice
> 
> Fix this by dropping these packages from the list we install for our
> msys2-32bit build.  We do this with a simple mechanism for the
> msys2-64bit and msys2-32bit jobs to specify a list of extra packages
> to install on top of the common ones we install for both jobs.
> 
> Cc: qemu-stable@nongnu.org
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   .gitlab-ci.d/windows.yml | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Michael Tokarev Feb. 15, 2024, 6:54 p.m. UTC | #2
15.02.2024 18:50, Peter Maydell пишет:
> When msys2 updated their libusb packages to libusb 1.0.27, they
> dropped support for building them for mingw32, leaving only mingw64
> packages.  This broke our CI job, as the 'pacman' package install now
> fails with:
> 
> error: target not found: mingw-w64-i686-libusb
> error: target not found: mingw-w64-i686-usbredir
> 
> (both these binary packages are from the libusb source package).
> 
> Similarly, spice is now 64-bit only:
> error: target not found: mingw-w64-i686-spice
> 
> Fix this by dropping these packages from the list we install for our
> msys2-32bit build.  We do this with a simple mechanism for the
> msys2-64bit and msys2-32bit jobs to specify a list of extra packages
> to install on top of the common ones we install for both jobs.

Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>

Yes, this also hit me on -stable.

Thanks,

/mjt

> Cc: qemu-stable@nongnu.org
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   .gitlab-ci.d/windows.yml | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
> index f7645f72b7c..5c1e385dc89 100644
> --- a/.gitlab-ci.d/windows.yml
> +++ b/.gitlab-ci.d/windows.yml
> @@ -88,7 +88,6 @@
>         $MINGW_TARGET-libpng
>         $MINGW_TARGET-libssh
>         $MINGW_TARGET-libtasn1
> -      $MINGW_TARGET-libusb
>         $MINGW_TARGET-lzo2
>         $MINGW_TARGET-nettle
>         $MINGW_TARGET-ninja
> @@ -98,9 +97,8 @@
>         $MINGW_TARGET-SDL2
>         $MINGW_TARGET-SDL2_image
>         $MINGW_TARGET-snappy
> -      $MINGW_TARGET-spice
> -      $MINGW_TARGET-usbredir
> -      $MINGW_TARGET-zstd "
> +      $MINGW_TARGET-zstd
> +      $EXTRA_PACKAGES "
>     - Write-Output "Running build at $(Get-Date -Format u)"
>     - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
>     - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
> @@ -123,6 +121,8 @@ msys2-64bit:
>     variables:
>       MINGW_TARGET: mingw-w64-x86_64
>       MSYSTEM: MINGW64
> +    # msys2 only ship these packages for 64-bit, not 32-bit
> +    EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
>       # do not remove "--without-default-devices"!
>       # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
>       # changed to compile QEMU with the --without-default-devices switch
> @@ -137,5 +137,6 @@ msys2-32bit:
>     variables:
>       MINGW_TARGET: mingw-w64-i686
>       MSYSTEM: MINGW32
> +    EXTRA_PACKAGES:
>       CONFIGURE_ARGS:  --target-list=ppc64-softmmu -Ddebug=false -Doptimization=0
>       TEST_ARGS: --no-suite qtest
Alex Bennée Feb. 16, 2024, 11:29 a.m. UTC | #3
Peter Maydell <peter.maydell@linaro.org> writes:

> When msys2 updated their libusb packages to libusb 1.0.27, they
> dropped support for building them for mingw32, leaving only mingw64
> packages.  This broke our CI job, as the 'pacman' package install now
> fails with:
>
> error: target not found: mingw-w64-i686-libusb
> error: target not found: mingw-w64-i686-usbredir
>
> (both these binary packages are from the libusb source package).
>
> Similarly, spice is now 64-bit only:
> error: target not found: mingw-w64-i686-spice
>
> Fix this by dropping these packages from the list we install for our
> msys2-32bit build.  We do this with a simple mechanism for the
> msys2-64bit and msys2-32bit jobs to specify a list of extra packages
> to install on top of the common ones we install for both jobs.
>
> Cc: qemu-stable@nongnu.org
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Queued to testing/next, thanks.
Peter Maydell Feb. 16, 2024, 1:19 p.m. UTC | #4
On Fri, 16 Feb 2024 at 11:29, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Peter Maydell <peter.maydell@linaro.org> writes:
>
> > When msys2 updated their libusb packages to libusb 1.0.27, they
> > dropped support for building them for mingw32, leaving only mingw64
> > packages.  This broke our CI job, as the 'pacman' package install now
> > fails with:
> >
> > error: target not found: mingw-w64-i686-libusb
> > error: target not found: mingw-w64-i686-usbredir
> >
> > (both these binary packages are from the libusb source package).
> >
> > Similarly, spice is now 64-bit only:
> > error: target not found: mingw-w64-i686-spice
> >
> > Fix this by dropping these packages from the list we install for our
> > msys2-32bit build.  We do this with a simple mechanism for the
> > msys2-64bit and msys2-32bit jobs to specify a list of extra packages
> > to install on top of the common ones we install for both jobs.
> >
> > Cc: qemu-stable@nongnu.org
> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>
> Queued to testing/next, thanks.

I'm just testing a merge where I've applied this directly to
get our CI back to green, so you don't need to take it via
your tree.

thanks
-- PMM
Alex Bennée Feb. 16, 2024, 3:47 p.m. UTC | #5
Peter Maydell <peter.maydell@linaro.org> writes:

> On Fri, 16 Feb 2024 at 11:29, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> Peter Maydell <peter.maydell@linaro.org> writes:
>>
>> > When msys2 updated their libusb packages to libusb 1.0.27, they
>> > dropped support for building them for mingw32, leaving only mingw64
>> > packages.  This broke our CI job, as the 'pacman' package install now
>> > fails with:
>> >
>> > error: target not found: mingw-w64-i686-libusb
>> > error: target not found: mingw-w64-i686-usbredir
>> >
>> > (both these binary packages are from the libusb source package).
>> >
>> > Similarly, spice is now 64-bit only:
>> > error: target not found: mingw-w64-i686-spice
>> >
>> > Fix this by dropping these packages from the list we install for our
>> > msys2-32bit build.  We do this with a simple mechanism for the
>> > msys2-64bit and msys2-32bit jobs to specify a list of extra packages
>> > to install on top of the common ones we install for both jobs.
>> >
>> > Cc: qemu-stable@nongnu.org
>> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2160
>> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>>
>> Queued to testing/next, thanks.
>
> I'm just testing a merge where I've applied this directly to
> get our CI back to green, so you don't need to take it via
> your tree.

Ok.
diff mbox series

Patch

diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml
index f7645f72b7c..5c1e385dc89 100644
--- a/.gitlab-ci.d/windows.yml
+++ b/.gitlab-ci.d/windows.yml
@@ -88,7 +88,6 @@ 
       $MINGW_TARGET-libpng
       $MINGW_TARGET-libssh
       $MINGW_TARGET-libtasn1
-      $MINGW_TARGET-libusb
       $MINGW_TARGET-lzo2
       $MINGW_TARGET-nettle
       $MINGW_TARGET-ninja
@@ -98,9 +97,8 @@ 
       $MINGW_TARGET-SDL2
       $MINGW_TARGET-SDL2_image
       $MINGW_TARGET-snappy
-      $MINGW_TARGET-spice
-      $MINGW_TARGET-usbredir
-      $MINGW_TARGET-zstd "
+      $MINGW_TARGET-zstd
+      $EXTRA_PACKAGES "
   - Write-Output "Running build at $(Get-Date -Format u)"
   - $env:CHERE_INVOKING = 'yes'  # Preserve the current working directory
   - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink
@@ -123,6 +121,8 @@  msys2-64bit:
   variables:
     MINGW_TARGET: mingw-w64-x86_64
     MSYSTEM: MINGW64
+    # msys2 only ship these packages for 64-bit, not 32-bit
+    EXTRA_PACKAGES: $MINGW_TARGET-libusb $MINGW_TARGET-usbredir $MINGW_TARGET-spice
     # do not remove "--without-default-devices"!
     # commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices"
     # changed to compile QEMU with the --without-default-devices switch
@@ -137,5 +137,6 @@  msys2-32bit:
   variables:
     MINGW_TARGET: mingw-w64-i686
     MSYSTEM: MINGW32
+    EXTRA_PACKAGES:
     CONFIGURE_ARGS:  --target-list=ppc64-softmmu -Ddebug=false -Doptimization=0
     TEST_ARGS: --no-suite qtest