klibc-bot for Jonathan Perkin
2019-Jan-25 03:15 UTC
[klibc] [klibc:update-dash] shell: Fix build on Solaris 9
Commit-ID: 4174c219dac355e252fb190f4f34653c713b0d69 Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=4174c219dac355e252fb190f4f34653c713b0d69 Author: Jonathan Perkin <jperkin at joyent.com> AuthorDate: Fri, 11 Dec 2015 11:56:43 +0000 Committer: Ben Hutchings <ben at decadent.org.uk> CommitDate: Fri, 25 Jan 2019 02:57:21 +0000 [klibc] shell: Fix build on Solaris 9 Ensure dash can build in a default Solaris 9 or older environment: - Execute scripts with $SHELL rather than /bin/sh, the latter does not support e.g. "if ! .." used by mkbuiltins. - /bin/awk does not support ?: syntax, use explicit statements instead. - /bin/nl requires no spaces between options and arguments. Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au> Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/dash/mkbuiltins | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/usr/dash/mkbuiltins b/usr/dash/mkbuiltins index 8c74d6b1..b4d6f4ec 100644 --- a/usr/dash/mkbuiltins +++ b/usr/dash/mkbuiltins @@ -84,9 +84,13 @@ awk '{ for (i = 2 ; i <= NF ; i++) { opt = substr($2, 2) $2 = $3 } - printf "\t{ \"%s\", %s, %d },\n", $1, - (opt ~ /n/) ? "NULL" : $2, - (opt ~ /s/) + (opt ~ /[su]/) * 2 + (opt ~ /a/) * 4 + mask = 0 + cmd = $2 + if (opt ~ /n/) { cmd = "NULL" } + if (opt ~ /s/) { mask += 1 } + if (opt ~ /[su]/) { mask += 2 } + if (opt ~ /a/) { mask += 4 } + printf "\t{ \"%s\", %s, %d },\n", $1, cmd, mask }' echo '};' @@ -97,7 +101,7 @@ cat <<\! */ ! -sed 's/ -[a-z]*//' $temp2 | nl -b a -v 0 | +sed 's/ -[a-z]*//' $temp2 | nl -ba -v0 | LC_ALL= LC_COLLATE=C sort -u -k 3,3 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | awk '{ printf "#define %s (builtincmd + %d)\n", $3, $1}'
Maybe Matching Threads
- [klibc:update-dash] dash: shell: Fix build on Solaris 9
- [klibc:update-dash] dash: builtin: Clear LC_ALL in mkbuiltins
- [klibc:update-dash] builtin: Clear LC_ALL in mkbuiltins
- [klibc:update-dash] dash: builtin: create builtins.c properly on old cpp
- [klibc:update-dash] builtin: create builtins.c properly on old cpp