1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-13 03:32:24 +00:00

Port over illumos fixes for conf.sh (#361)

This commit ports over two of Andy Fiddaman's bugfixes to conf.sh
on illumos:

- The compiler isn't passed on to an invocation of iffe. The bugfix is
  from this commit: <https://github.com/citrus-it/ast/commit/63563232>
- The getconf builtin is missing several parameters on illumos.
  Reproducer:
     $ /opt/ast/bin/getconf ADDRESS_WIDTH
     getconf: Invalid argument (ADDRESS_WIDTH)  # Should output '64'
  This bug occurs because conf.sh expects GNU sed and fails to work
  properly with other sed implementations. The bugfix and original bug
  report can be found here:
  https://www.illumos.org/issues/14044
  https://github.com/citrus-it/ast/commit/ba443cfd
This commit is contained in:
Johnothan King 2021-12-05 10:55:15 -08:00 committed by Martijn Dekker
parent 6faf43791b
commit f6a6d236f1
3 changed files with 9 additions and 4 deletions

5
NEWS
View file

@ -3,6 +3,11 @@ For full details, see the git log at: https://github.com/ksh93/ksh
Any uppercase BUG_* names are modernish shell bug IDs.
2021-12-05:
- Fixed an issue on illumos that caused some parameters in the getconf
builtin to fail.
2021-12-01:
- Fixed a memory fault that occurred when a discipline function exited

View file

@ -21,7 +21,7 @@
#define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */
#define SH_RELEASE_SVER "1.0.0-beta.2" /* semantic version number: https://semver.org */
#define SH_RELEASE_DATE "2021-12-01" /* must be in this format for $((.sh.version)) */
#define SH_RELEASE_DATE "2021-12-05" /* must be in this format for $((.sh.version)) */
#define SH_RELEASE_CPYR "(c) 2020-2021 Contributors to ksh " SH_RELEASE_FORK
/* Scripts sometimes field-split ${.sh.version}, so don't change amount of whitespace. */

View file

@ -243,7 +243,7 @@ case $append$extra in
;;
*" -$f- "*)
;;
*) if iffe -n - hdr $f | grep _hdr_$f >/dev/null
*) if iffe -c "$cc" -n - hdr $f | grep _hdr_$f >/dev/null
then hdr="$hdr $f"
headers=$headers$nl#include$sp'<'$1'>'
else hdr="$hdr -$f-"
@ -382,8 +382,8 @@ sort -u > $tmp.f
{
sed \
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]/ /g' \
-e 's/[ ][ ]*/\n/g' \
`cat $tmp.f` 2>/dev/null |
-e 's/[ ][ ]*/%/g' \
`cat $tmp.f` 2>/dev/null | tr '%' '\n' | \
egrep '^(SI|_(CS|PC|SC|SI))_.'
case $CONF_getconf_a in
?*) $CONF_getconf $CONF_getconf_a | sed 's,[=: ].*,,'