[libvirt] [PATCHv2 2/2] build: fix some mingw issues

Daniel P. Berrange berrange at redhat.com
Thu Jun 10 10:12:01 UTC 2010


On Wed, Jun 09, 2010 at 02:49:36PM -0600, Eric Blake wrote:
> On Fedora 13 with sufficient mingw32-* packages installed, running
> ./autobuild.sh failed to cross-compile to mingw because
> mingw32-pthreads installed a broken <pthread.h>.  With that
> issue fixed, the build still failed due to use of O_SYNC.
> 
> Meanwhile, recent .spec.in changes got out of sync, and running
> ./autobuild.sh generates some leftover files worth ignoring.
> 
> * bootstrap.conf (gnulib_modules): Add fcntl-h, for O_SYNC.
> * .gnulib: Update to latest, to work around buggy pthreads-win32
> library.
> * bootstrap: Import latest from gnulib.
> * mingw32-libvirt.spec.in: Distribute new file.
> * .gitignore: Ignore files built by ./autobuild.sh.
> ---
> 
> Changes from v1: update .gnulib to yet a newer date
> (16 new upstream patches).  Drop .gitignore change;
> the 'make cov' droppings are now covered in a separate
> patch.
> 
>  .gnulib                 |    2 +-
>  bootstrap               |   14 ++++++++------
>  bootstrap.conf          |    1 +
>  mingw32-libvirt.spec.in |    1 +
>  4 files changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/.gnulib b/.gnulib
> index 28e5820..1629006 160000
> --- a/.gnulib
> +++ b/.gnulib
> @@ -1 +1 @@
> -Subproject commit 28e58203a7ab14264f8fa450884a89e9ae48025c
> +Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce
> diff --git a/bootstrap b/bootstrap
> index 365a3d9..2422549 100755
> --- a/bootstrap
> +++ b/bootstrap
> @@ -1,6 +1,6 @@
>  #! /bin/sh
>  # Print a version string.
> -scriptversion=2010-02-24.17; # UTC
> +scriptversion=2010-05-17.18; # UTC
> 
>  # Bootstrap this package from checked-out sources.
> 
> @@ -409,6 +409,7 @@ git_modules_config () {
>  }
> 
>  gnulib_path=`git_modules_config submodule.gnulib.path`
> +: ${gnulib_path=gnulib}
> 
>  # Get gnulib files.
> 
> @@ -424,7 +425,8 @@ case ${GNULIB_SRCDIR--} in
> 
>      trap cleanup_gnulib 1 2 13 15
> 
> -    git clone --help|grep depth > /dev/null && shallow='--depth 2' || shallow=
> +    shallow=
> +    git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
>      git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
>        cleanup_gnulib
> 
> @@ -437,7 +439,7 @@ case ${GNULIB_SRCDIR--} in
>    if test -d "$GNULIB_SRCDIR"/.git && \
>          git_modules_config submodule.gnulib.url >/dev/null; then
>      echo "$0: getting gnulib files..."
> -    if git submodule --help|grep reference > /dev/null; then
> +    if git submodule -h|grep -- --reference > /dev/null; then
>        # Prefer the one-liner available in git 1.6.4 or newer.
>        git submodule update --init --reference "$GNULIB_SRCDIR" \
>          "$gnulib_path" || exit $?
> @@ -488,7 +490,7 @@ update_po_files() {
>    test -d $ref_po_dir || mkdir $ref_po_dir || return
>    download_po_files $ref_po_dir $domain \
>      && ls "$ref_po_dir"/*.po 2>/dev/null |
> -      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS"
> +      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
> 
>    langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
>    test "$langs" = '*' && langs=x
> @@ -819,7 +821,7 @@ if test $with_gettext = yes; then
>        a\
>            '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
>      }
> -  ' po/Makevars.template >po/Makevars
> +  ' po/Makevars.template >po/Makevars || exit 1
> 
>    if test -d runtime-po; then
>      # Similarly for runtime-po/Makevars, but not quite the same.
> @@ -833,7 +835,7 @@ if test $with_gettext = yes; then
>          a\
>              '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
>        }
> -    ' <po/Makevars.template >runtime-po/Makevars
> +    ' po/Makevars.template >runtime-po/Makevars || exit 1
> 
>      # Copy identical files from po to runtime-po.
>      (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
> diff --git a/bootstrap.conf b/bootstrap.conf
> index 1e193d9..44d6d0e 100644
> --- a/bootstrap.conf
> +++ b/bootstrap.conf
> @@ -27,6 +27,7 @@ close
>  connect
>  count-one-bits
>  dirname-lgpl
> +fcntl-h
>  getaddrinfo
>  gethostname
>  getpass
> diff --git a/mingw32-libvirt.spec.in b/mingw32-libvirt.spec.in
> index fc90203..6b2b5c6 100644
> --- a/mingw32-libvirt.spec.in
> +++ b/mingw32-libvirt.spec.in
> @@ -91,6 +91,7 @@ rm -rf $RPM_BUILD_ROOT
>  %dir %{_mingw32_datadir}/libvirt/
>  %dir %{_mingw32_datadir}/libvirt/schemas/
>  %{_mingw32_datadir}/libvirt/schemas/domain.rng
> +%{_mingw32_datadir}/libvirt/schemas/domainsnapshot.rng
>  %{_mingw32_datadir}/libvirt/schemas/network.rng
>  %{_mingw32_datadir}/libvirt/schemas/storagepool.rng
>  %{_mingw32_datadir}/libvirt/schemas/storagevol.rng
> --

ACK


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list