From: Michal Marek <mmarek@suse.cz>
To: "Michał Górny" <gentoo@mgorny.alt.pl>
Cc: linux-kernel@vger.kernel.org, trivial@kernel.org
Subject: Re: [PATCH] KERNEL BUILD: Make the setlocalversion script POSIX-compliant.
Date: Tue, 20 Jul 2010 16:00:29 +0200 [thread overview]
Message-ID: <4C45ABFD.8060308@suse.cz> (raw)
In-Reply-To: <20100718102640.01729af9@pomiocik.lan>
On 18.7.2010 10:26, Michał Górny wrote:
> The 'source' builtin is a bash alias to the '.' (dot) builtin. While the
> former is supported only by bash, the latter is specified in POSIX and
> works fine with all POSIX-compliant shells I am aware of.
>
> The '$_' special parameter is specific to bash. It is partially
> supported in dash too but it always evaluates to the current script path
> (which causes the script to enter a loop recursively re-executing
> itself). This is why I have replaced the two occurences of '$_' with the
> explicit parameter.
>
> The 'local' builtin is another example of bash-specific code. Although
> it is supported by all POSIX-compliant shells I am aware of, it is not
> part of POSIX specification and thus the code should not rely on it
> assigning a specific value to the local variable. Moreover, the 'posh'
> shell has a limited version of 'local' builtin not supporting direct
> variable assignments. Thus, I have broken one of the 'local'
> declarations down into a (non-POSIX) 'local' declaration and a plain
> (POSIX-compliant) variable assignment.
>
> Signed-off-by: Michał Górny <gentoo@mgorny.alt.pl>
Thanks a lot, applied to the kbuild tree.
> ---
>
> There is one 'bashism' left which I wasn't able to fix -- the use of
> 'test -ef'. I'm not aware of any POSIX equivalent of that.
Me neither, POSIX does not know stat(1) AFAICS. Does it matter in real
life? Is there a distro that installs posh or a similarly strict shell
as /bin/sh? It seems to work with dash after your changes.
Michal
next prev parent reply other threads:[~2010-07-20 14:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-18 8:26 [PATCH] KERNEL BUILD: Make the setlocalversion script POSIX-compliant Michał Górny
2010-07-20 14:00 ` Michal Marek [this message]
2010-07-20 21:16 ` Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C45ABFD.8060308@suse.cz \
--to=mmarek@suse.cz \
--cc=gentoo@mgorny.alt.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=trivial@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.