[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: maint.mk: sed portability
From: |
Jim Meyering |
Subject: |
Re: maint.mk: sed portability |
Date: |
Thu, 24 May 2012 10:35:13 +0200 |
Paul Eggert wrote:
> On 05/23/2012 02:23 AM, Jim Meyering wrote:
>> + | sed -n '/^\[GNUPG:\] ERRSIG /{s///;s/ .*//p;q;}')
>
> The use of {...;...} isn't portable in sed scripts. You
> have to write it something like this instead, I'm afraid:
>
> | sed -n '/^\[GNUPG:\] ERRSIG /{
> s///
> s/ .*//p
> q
> }'
>
> except of course this can't easily be done in a Makefile.
>
> This restriction is in POSIX-2008 and I've been burned by
> it with some less-commonly-used sed implementations
> (Interix or something like that....). Dunno if this
> matters in a 'maint' rule, but Akim's report was
> about 'sed' portability, so I thought I'd mention it.
I didn't bother with the fused command in refresh-po,
since that is an optional target, whereas gpg_key_ID's
commands are run by anyone making a release.
Besides, I've just noticed that refresh-po's rules are incompatible
with the po/*.po structure that bootstrap maintains (refresh-po updates
the po/*.po files directly, whereas bootstrap is careful not to do that),
so I will never use it.