From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "罗勇刚(Yonggang Luo)" <luoyonggang@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Ed Maste <emaste@freebsd.org>,
Qemu-block <qemu-block@nongnu.org>, Stefan Weil <sw@weilnetz.de>,
Xie Changlong <xiechanglong.d@gmail.com>,
Richard Henderson <richard.henderson@linaro.org>,
qemu-level <qemu-devel@nongnu.org>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Wen Congyang <wencongyang2@huawei.com>,
Max Reitz <mreitz@redhat.com>, Li-Wen Hsu <lwhsu@freebsd.org>,
Markus Armbruster <armbru@redhat.com>, Peter Lieven <pl@kamp.de>
Subject: Re: [PATCH 06/16] ci: Enable msys2 ci in cirrus
Date: Wed, 9 Sep 2020 10:40:04 +0100 [thread overview]
Message-ID: <20200909094004.GN1011023@redhat.com> (raw)
In-Reply-To: <CAE2XoE8hHtoV_oUY2KiU=2Papjt_A4-eSF5MabPsMxnHf2uSRw@mail.gmail.com>
On Wed, Sep 09, 2020 at 05:36:49PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 4:27 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Wed, Sep 09, 2020 at 03:48:10AM +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 | 24 +++++++++++++++++++++
> > > scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++++++++++++
> > > scripts/ci/windows/msys2-install.sh | 33 +++++++++++++++++++++++++++++
> > > 3 files changed, 85 insertions(+)
> > > create mode 100644 scripts/ci/windows/msys2-build.sh
> > > create mode 100644 scripts/ci/windows/msys2-install.sh
> > >
> > > diff --git a/.cirrus.yml b/.cirrus.yml
> > > index 3dd9fcff7f..49335e68c9 100644
> > > --- a/.cirrus.yml
> > > +++ b/.cirrus.yml
> > > @@ -63,3 +63,27 @@ 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 "sh
> > scripts/ci/windows/msys2-install.sh"
> > > + script:
> > > + - C:\tools\msys64\usr\bin\bash.exe -lc "sh
> > scripts/ci/windows/msys2-build.sh"
> > > diff --git a/scripts/ci/windows/msys2-build.sh
> > b/scripts/ci/windows/msys2-build.sh
> > > new file mode 100644
> > > index 0000000000..d9d046b5b0
> > > --- /dev/null
> > > +++ b/scripts/ci/windows/msys2-build.sh
> > > @@ -0,0 +1,28 @@
> > > +mkdir build
> > > +cd build
> > > +../configure \
> > > +--python=python3 \
> > > +--ninja=ninja \
> > > +--enable-stack-protector \
> > > +--enable-guest-agent \
> > > +--disable-pie \
> > > +--enable-gnutls --enable-nettle \
> > > +--enable-sdl --enable-sdl-image --enable-gtk --disable-vte
> > --enable-curses --enable-iconv \
> > > +--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg --enable-vnc-png \
> > > +--enable-slirp=git \
> > > +--disable-brlapi --enable-curl \
> > > +--enable-fdt \
> > > +--disable-kvm --enable-hax --enable-whpx \
> > > +--enable-libnfs --enable-libusb --enable-live-block-migration
> > --enable-usb-redir \
> > > +--enable-lzo --enable-snappy --enable-bzip2 --enable-zstd \
> > > +--enable-membarrier --enable-coroutine-pool \
> > > +--enable-libssh --enable-libxml2 \
> > > +--enable-jemalloc --enable-avx2 \
> > > +--enable-replication \
> > > +--enable-tools \
> > > +--enable-bochs --enable-cloop --enable-dmg --enable-qcow1 --enable-vdi
> > --enable-vvfat --enable-qed --enable-parallels \
> > > +--enable-sheepdog \
> > > +--enable-capstone=git
> >
> > Why do we need to have all these disable/enable args ? AFAIK, configure
> > should just "do the right thing" and automatically detect and enable
> > libraries which are present in the environment.
> >
> > Te intent is that a bare "configure" should complete successfully on all
> > supported platforms. Ff something breaks at build time, that is
> > generally considered a bug in the configure script as it should
> > automatically
> > disable any features that are broken on a given platform.
> >
> Gotcha, I'll leave only configure latter, currently I use this to detect
> which msys2 package not installed yet.
With all those args removed, there's no real reason for this separate
shell script. Just put the configure && make commands dirctly in
the cirrus.yml file, similar to the other builds in that file.
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 :|
next prev parent reply other threads:[~2020-09-09 9:41 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
2020-09-08 19:48 ` [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
2020-09-08 19:48 ` [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
2020-09-08 20:36 ` Peter Maydell
2020-09-08 20:57 ` 罗勇刚(Yonggang Luo)
2020-09-08 19:48 ` [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 04/16] curses: Fixes curses compiling errors Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
2020-09-09 7:13 ` Thomas Huth
2020-09-09 7:52 ` 罗勇刚(Yonggang Luo)
2020-09-08 19:48 ` [PATCH 06/16] ci: Enable msys2 ci in cirrus Yonggang Luo
2020-09-09 8:27 ` Daniel P. Berrangé
2020-09-09 9:36 ` 罗勇刚(Yonggang Luo)
2020-09-09 9:40 ` Daniel P. Berrangé [this message]
2020-09-08 19:48 ` [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
2020-09-09 8:23 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c Yonggang Luo
2020-09-09 8:19 ` Kevin Wolf
2020-09-09 8:41 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:57 ` Kevin Wolf
2020-09-08 19:48 ` [PATCH 09/16] osdep: These function are only available on Non-Win32 system Yonggang Luo
2020-09-08 19:48 ` [PATCH 10/16] meson: Use -b to ignore CR vs. CR-LF issues on Windows Yonggang Luo
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
2020-09-09 8:07 ` Thomas Huth
2020-09-09 8:10 ` Daniel P. Berrangé
2020-09-09 8:17 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:22 ` Daniel P. Berrangé
2020-09-09 8:30 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:39 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 12/16] meson: remove empty else and duplicated gio deps Yonggang Luo
2020-09-08 19:48 ` [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
2020-09-09 8:11 ` Thomas Huth
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-09 8:15 ` Thomas Huth
2020-09-09 8:17 ` Daniel P. Berrangé
2020-09-09 8:24 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:42 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 15/16] logging: Fixes memory leak in test-logging.c Yonggang Luo
2020-09-08 19:48 ` [PATCH 16/16] rcu: add uninit destructor for rcu Yonggang Luo
2020-09-08 20:41 ` [PATCH 00/16] W32, W64 patches Eric Blake
2020-09-08 20:52 ` 罗勇刚(Yonggang Luo)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200909094004.GN1011023@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=emaste@freebsd.org \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=lwhsu@freebsd.org \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mreitz@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sw@weilnetz.de \
--cc=wencongyang2@huawei.com \
--cc=xiechanglong.d@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.