On 09/10/2010 06:43 PM, Eric Blake wrote:
> * src/Makefile.am (libvirt.def, libvirt_qemu.def): '\}' and '\t'
> are not required by POSIX. Use '}' and literal tab instead.
> (install-data-local): Avoid sed -i.
> * tests/read-bufsiz: Likewise.
> Reported by Mitchell Hashimoto.
> ---
>
> This should work for you, but I'd appreciate positive feedback
> from an actual build on OS X.
>
> I used cp/rm rather than mv when replacing sed -i, so as to preserve
> permissions on the just-installed file (in case creation of the
> temporary file via> gets different permissions due to umask).
>
> There was another use of sed -i in libvirt.spec.in, but as that
> is specific to rpm building, where we know GNU sed will be in
> use, I didn't see the point in changing it.
>
> src/Makefile.am | 12 ++++++++----
> tests/read-bufsiz | 6 +++---
> 2 files changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index b321657..9bc4287 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -1029,14 +1029,14 @@ libvirt.syms: libvirt_public.syms $(USED_SYM_FILES)
> libvirt.def: libvirt.syms
> $(AM_V_GEN)rm -f -- $...@-tmp $@ ; \
> printf 'EXPORTS\n'> $...@-tmp&& \
> - sed -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
> \t]*\(.*\)\;/ \1/g' $^>> $...@-tmp&& \
> + sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[
> ]*\(.*\)\;/ \1/g' $^>> $...@-tmp&& \
> chmod a-w $...@-tmp&& \
> mv $...@-tmp libvirt.def
>
> libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
> $(AM_V_GEN)rm -f -- $...@-tmp $@ ; \
> printf 'EXPORTS\n'> $...@-tmp&& \
> - sed -e '/^$$/d; /#/d; /:/d; /\}/d; /\*/d; /LIBVIRT_/d; s/[
> \t]*\(.*\)\;/ \1/g' $^>> $...@-tmp&& \
> + sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[
> ]*\(.*\)\;/ \1/g' $^>> $...@-tmp&& \
> chmod a-w $...@-tmp&& \
> mv $...@-tmp libvirt_qemu.def
>
> @@ -1177,8 +1177,12 @@ if WITH_NETWORK
> $(INSTALL_DATA) $(srcdir)/network/default.xml \
> $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
> test -z "$(UUID)" || \
> - sed -i -e "s,</name>,</name>\n<uuid>$(UUID)</uuid>," \
> - $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
> + { sed -e "s,</name>,</name>\n<uuid>$(UUID)</uuid>," \
> + $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml> \
> + $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t&& \
> + cp $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t \
> + $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml&& \
> + rm $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t; }
> test -e
> $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
> ln -s ../default.xml \
> $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
> diff --git a/tests/read-bufsiz b/tests/read-bufsiz
> index f0f03b9..2a91bcf 100755
> --- a/tests/read-bufsiz
> +++ b/tests/read-bufsiz
> @@ -1,7 +1,7 @@
> #!/bin/sh
> # ensure that reading a file larger than BUFSIZ works
>
> -# Copyright (C) 2008 Red Hat, Inc.
> +# Copyright (C) 2008, 2010 Red Hat, Inc.
>
> # This program is free software: you can redistribute it and/or modify
> # it under the terms of the GNU General Public License as published by
> @@ -30,10 +30,10 @@ fi
> fail=0
>
> # Output a valid definition, to be used as input.
> -$abs_top_builddir/tools/virsh -c test:///default dumpxml 1> xml || fail=1
> +$abs_top_builddir/tools/virsh -c test:///default dumpxml 1> xml.t || fail=1
>
> # Change the VM name
> -sed -i -e "s|<name>test</name>|<name>newtest</name>|g" xml
> +sed -e "s|<name>test</name>|<name>newtest</name>|g" xml.t> xml
>
> for i in before after; do
> # The largest BUFSIZ I've seen is 128K. This is slightly larger.
ACK
Paolo
--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list