qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 24/24] ci: Enable msys2 ci in cirrus


From: Daniel P . Berrangé
Subject: Re: [PATCH v4 24/24] ci: Enable msys2 ci in cirrus
Date: Wed, 9 Sep 2020 17:33:10 +0100
User-agent: Mutt/1.14.6 (2020-07-11)

On Thu, Sep 10, 2020 at 12:14:30AM +0800, Yonggang Luo wrote:
> Install msys2 in a proper way refer to 
> https://github.com/cirruslabs/cirrus-ci-docs/issues/699
> The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be 
> updated.
> There is no need of --cross-prefix, open mingw64.exe instead of msys2.exe 
> then we don't
> need the --cross-prefix, besides we using environment variable settings:
>     MSYS: winsymlinks:nativestrict
>     MSYSTEM: MINGW64
>     CHERE_INVOKING: 1
> to opening mingw64 native shell.
> We now running tests with make -i check to skip tests errors.
> 
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
>  .cirrus.yml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
> 
> diff --git a/.cirrus.yml b/.cirrus.yml
> index a18971aac4..f819d202db 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -44,3 +44,62 @@ macos_xcode_task:
>                     --enable-werror --cc=clang || { cat config.log; exit 1; }
>      - gmake -j$(sysctl -n hw.ncpu)
>      - gmake check
> +
> +windows_msys2_task:
> +  windows_container:
> +    image: cirrusci/windowsservercore:cmake
> +    os_version: 2019
> +    cpu: 8
> +    memory: 8G
> +  env:
> +    MSYS: winsymlinks:nativestrict
> +    MSYSTEM: MINGW64
> +    CHERE_INVOKING: 1
> +  printenv_script:
> +    - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv'
> +  install_script:
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O 
> http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz";
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O 
> http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig";
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && pacman -U 
> --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "pacman -Sy --noconfirm"
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --needed --noconfirm -S 
> bash pacman pacman-mirrors msys2-runtime"
> +    - taskkill /F /IM gpg-agent.exe
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su"
> +    - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
> +        base-devel
> +        git
> +        mingw-w64-x86_64-python
> +        mingw-w64-x86_64-python-setuptools
> +        mingw-w64-x86_64-toolchain
> +        mingw-w64-x86_64-SDL2
> +        mingw-w64-x86_64-SDL2_image
> +        mingw-w64-x86_64-gtk3
> +        mingw-w64-x86_64-glib2
> +        mingw-w64-x86_64-ninja
> +        mingw-w64-x86_64-make
> +        mingw-w64-x86_64-jemalloc
> +        mingw-w64-x86_64-lzo2
> +        mingw-w64-x86_64-zstd
> +        mingw-w64-x86_64-libjpeg-turbo
> +        mingw-w64-x86_64-pixman
> +        mingw-w64-x86_64-libgcrypt
> +        mingw-w64-x86_64-capstone
> +        mingw-w64-x86_64-libpng
> +        mingw-w64-x86_64-libssh
> +        mingw-w64-x86_64-libxml2
> +        mingw-w64-x86_64-snappy
> +        mingw-w64-x86_64-libusb
> +        mingw-w64-x86_64-usbredir
> +        mingw-w64-x86_64-libtasn1
> +        mingw-w64-x86_64-libnfs
> +        mingw-w64-x86_64-nettle
> +        mingw-w64-x86_64-cyrus-sasl
> +        mingw-w64-x86_64-curl
> +        mingw-w64-x86_64-gnutls
> +        mingw-w64-x86_64-zstd"
> +  script:
> +    - mkdir build
> +    - cd build
> +    - ../configure --python=python3 --enable-werror --ninja=ninja 
> --disable-pie

You shouldn't need  --disable-pie anymore, as this is merged:

  commit fb648e9cacf4209ddaa8ee67d1a87a9b78a001c6
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   Mon Aug 24 17:31:09 2020 +0100

    configure: default to PIE disabled on Windows platforms
    
    If Windows EXE files are built with -pie/-fpie they will fail to
    launch. Historically QEMU defaulted to disabling PIE for Windows,
    but this setting was accidentally lost when the configure summary
    text was removed in
    
      commit f9332757898a764d85e19d339ec421236e885b68
      Author: Paolo Bonzini <pbonzini@redhat.com>
      Date:   Mon Feb 3 13:28:38 2020 +0100
    
        meson: move summary to meson.build
    
        Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


IIUC, the --enable-werror is present by default too thanks to this code
snippet:

if test -z "$werror" ; then
    if test -e "$source_path/.git" && \
        { test "$linux" = "yes" || test "$mingw32" = "yes"; }; then
        werror="yes"
    else
        werror="no"
    fi
fi


If you remove the --disable-pie && --enable-werror args then you can add

  Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


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 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]