[libvirt] Remove bashisms from libvirt-guests
Laurent Léonard
laurent at open-minds.org
Tue Jan 4 23:50:15 UTC 2011
Le mardi 04 janvier 2011 22:42:15, Eric Blake a écrit :
> On 01/04/2011 11:13 AM, Laurent Léonard wrote:
> > The attached patch should match with your comments.
> >
> > Thank you,
>
> Thank you for the work.
>
> > +++ b/tools/Makefile.am
> > @@ -146,6 +146,9 @@ BUILT_SOURCES += libvirt-guests.init
> >
> > libvirt-guests.init: libvirt-guests.init.in
> > $(top_builddir)/config.status
> >
> > $(AM_V_GEN)sed \
> >
> > + -e s!\@PACKAGE\@!@PACKAGE@!g \
> > + -e s!\@bindir\@!@bindir@!g \
> > + -e s!\@localedir\@!@localedir@!g \
>
> Phooey - 'make syntax-check' doesn't like this. Changing it to
> $(PACKAGE) instead of @PACKAGE@ solved that, though. And in the
> process, I added better makefile quoting, to avoid other (unlikely)
> issues with spaces in $(bindir), for example.
>
> I also had to add a comment with the string _("dummy") in it in order to
> keep 'make syntax-check' happy on sc_po_check (otherwise it complained
> about adding libvirt-guests.init.in to POTFILES.in).
>
> > +++ b/tools/libvirt-guests.init.in
> > @@ -32,6 +32,13 @@ libvirtd=@sbindir@/libvirtd
> >
> > test ! -r "$sysconfdir"/rc.d/init.d/functions ||
> >
> > . "$sysconfdir"/rc.d/init.d/functions
> >
> > +. @bindir@/gettext.sh
>
> Just to be safe in case @bindir@ contains spaces, I'm changing this to:
>
> . "@bindir@"/gettext.sh
>
> > +
> > +TEXTDOMAIN=@PACKAGE@
> > +export TEXTDOMAIN
>
> POSIX requires the shorter form to work, plus more quoting for safety:
>
> export TEXTDOMAIN="@PACKAGE@"
>
> > @@ -173,7 +180,7 @@ suspend_guest()
> >
> > guest=$2
> >
> > name=$(guest_name $uri $guest)
> >
> > - label=$"Suspending $name: "
> > + label=$(eval_gettext "Suspending \$name: ")
> >
> > echo -n "$label"
>
> 'echo -n' is a bash-ism (and worse, a non-portable bash-ism, since
> 'shopt -s xpg_echo' disables it). I've replaced all 'echo -n' with
> 'printf %s'.
>
> > @@ -226,7 +233,7 @@ stop() {
> >
> > if [ "x$ON_SHUTDOWN" = xshutdown ]; then
> >
> > suspending=false
> > if [ $SHUTDOWN_TIMEOUT -le 0 ]; then
> >
> > - echo $"Shutdown action requested but SHUTDOWN_TIMEOUT was
> > not set" + gettext "Shutdown action requested but
> > SHUTDOWN_TIMEOUT was not set"; echo
>
> I also broke up some lines where your patch made things go longer than
> 80 columns.
>
> > @@ -305,7 +312,8 @@ rh_status() {
> >
> > # usage [val]
> > # Display usage string, then exit with VAL (defaults to 2).
> > usage() {
> >
> > - echo $"Usage: $0
> > {start|stop|status|restart|condrestart|try-restart|reload|force-reload|g
> > ueststatus|shutdown}" + program_name=$0
> > + eval_gettext "Usage: \$program_name
> > {start|stop|status|restart|condrestart|try-restart|reload|force-reload|g
> > ueststatus|shutdown}"; echo
>
> this one was already longer than 80 columns, but I broke it up as well.
>
> Here's what I'm planning on squashing in. However, I still have one
> nagging problem, that I haven't been able to figure out yet - even
> though we listed libvirt-guests.init.in in po/POTFILES.in, xgettext
> doesn't seem to be picking it up into po/libvirt.pot. So until I can
> figure that out, I'm holding off on pushing this just a bit longer.
Can you tell me what command line you are using to call xgettext ?
"xgettext -L Shell -o - tools/libvirt-guests.init.in" works fine.
Thank you,
--
Laurent Léonard
More information about the libvir-list
mailing list