Le jeudi 09 décembre 2010 19:31:22, Eric Blake a écrit :
On 12/09/2010 11:21 AM, Laurent Léonard wrote:
> Hi,
>
> Here is an example of libvirt-guest output:
> $Running guests on default URI: test-vm
> $Suspending guests on default URI...
> $Suspending test-vm: $done
>
> Why all the lines begin with "$" ?
Because you aren't using bash.
Bash supports $"" as a way to provide gettext translation of strings
into the user's preferred location. Init scripts written for
Fedora-based systems assume that /bin/sh is bash, and therefore that $""
is usable.
Dash does not understand $"" (POSIX says it has unspecified behavior),
and treats it as a literal '$' followed by a normal (untranslated) "".
It's probably a nice goal to port libvirt-guests to non-bash /bin/sh,
but it may take a lot more work; in particular, there are TONS of
existing init scripts on Fedora that assume bash extensions, which
libvirt-guests used as its starting point. And I'm not quite sure what
the POSIX-compliant replacement for $"" string translation would be.
There are two problems to solve - how to get xgettext to recognize a
string that needs translation, and how to use gettext(1) (rather than
bash's magic $"" automatically calling gettext(3)) to do the translation
at runtime.
Guido Günter wrote :
Hi Laurent,
this looks great, one suggestion:
On Tue, Dec 14, 2010 at 10:49:01AM +0000, Laurent Léonard wrote:
> The following commit has been merged in the experimental branch:
> commit 7d7aed44c56d113713547e5dd9bdbe4ab6684c00
> Author: Laurent Léonard <laurent(a)open-minds.org>
> Date: Tue Dec 14 11:24:42 2010 +0100
>
> New patch 0010-Debianize-libvirt-guests.patch
>
> + if ! $configured; then
> +- echo $"Ignoring guests on $uri URI"
> ++ echo "Ignoring guests on $uri URI"
It might make sense to introduce a function:
libvirt_echo() {
echo $"$@"
}
So that the lines above become:
if ! $configured; then
libvirt_echo "Ignoring guests on $uri URI"
If we get this integrated upstream we'd only have to patch a single
line which might future merging easier. We might even be able to either
pick $" or just " by looking at the shell used.
What about that proposition ?
--
Laurent Léonard