mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
build system: modernise shell compatibility checks
All changed files: - Put the shell in POSIX mode if it has an '-o posix' option. - Remove nonsense disabling 'set -x' on bash. It's not broken. bin/package, src/cmd/INIT/package.sh: - Add check blocking native zsh mode (e.g., "$path" conflicts). Using a 'sh -> zsh' symlink works, so recommend that. - Remove old ksh93 version check for a supposed conflict with libcmd. It was broken; it would revert to /bin/sh, but on illumos distributions, /bin/sh is a ksh93 of a version that is supposedly affected. It builds fine anyway. - Rewrite checksh() to incorporate the shell compatibility checks that were previously in two different places in 'package'. bin/ignore, src/cmd/INIT/ignore.sh, bin/silent, src/cmd/INIT/silent.sh: - Change bad check for a full POSIX 'export' command (no, $RANDOM has nothing to do with that) with a proper feature test.
This commit is contained in:
parent
42d1651108
commit
9b45f2ccbe
20 changed files with 113 additions and 128 deletions
11
bin/silent
11
bin/silent
|
@ -20,18 +20,17 @@
|
|||
# non-ksh stub for the nmake silent prefix
|
||||
# @(#)silent (AT&T Research) 1992-08-11
|
||||
|
||||
case $-:$BASH_VERSION in
|
||||
*x*:[01234567899]*) : bash set -x is broken :; set +ex ;;
|
||||
esac
|
||||
(set -o posix) 2>/dev/null && set -o posix
|
||||
modern_export=`v=; export v=ok 2>/dev/null; echo "$v"`
|
||||
|
||||
while :
|
||||
do case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
case $1 in
|
||||
*=*) case $RANDOM in
|
||||
$RANDOM)`echo $1 | sed "s/\\([^=]*\\)=\\(.*\\)/eval \\1='\\2'; export \\1/"` ;;
|
||||
*) export "$1" ;;
|
||||
*=*) case $modern_export in
|
||||
ok) export "$1" ;;
|
||||
*) `echo $1 | sed "s/\\([^=]*\\)=\\(.*\\)/eval \\1='\\2'; export \\1/"` ;;
|
||||
esac
|
||||
shift
|
||||
;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue