[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