diff --git a/INIT.2007-06-28.tar.bz2 b/INIT.2007-06-28.tar.bz2 deleted file mode 100644 index d4d443f..0000000 --- a/INIT.2007-06-28.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6ea117003ec4535012a4a3139fbb746e0ad54c57ef6ba5cf662f46d797a9f60 -size 259047 diff --git a/INIT.2008-02-02.tar.bz2 b/INIT.2008-02-02.tar.bz2 new file mode 100644 index 0000000..79dc59c --- /dev/null +++ b/INIT.2008-02-02.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9403a61b6612f686ecc79133d66bbd8f858c8edf80dc080c0dcf4666b48c5fef +size 261240 diff --git a/ast-ksh.2007-06-28.tar.bz2 b/ast-ksh.2007-06-28.tar.bz2 deleted file mode 100644 index de9f236..0000000 --- a/ast-ksh.2007-06-28.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d9c8d632c2959bd1736fe47fd6825c255e1bda2df238a64518c22456ce9711b -size 1316142 diff --git a/ast-ksh.2008-02-02.tar.bz2 b/ast-ksh.2008-02-02.tar.bz2 new file mode 100644 index 0000000..a2ec798 --- /dev/null +++ b/ast-ksh.2008-02-02.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49eb47611c7eeab64b05ff9fbf38689fad4ad965ff5db21a036940ebae559624 +size 1332631 diff --git a/ast-open-locale.2008-02-02.tar.bz2 b/ast-open-locale.2008-02-02.tar.bz2 new file mode 100644 index 0000000..69e129f --- /dev/null +++ b/ast-open-locale.2008-02-02.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68024ce12942b0f0edec721dadd7672249e18d2df545dc58ea750b10da6b4a85 +size 1663103 diff --git a/ksh.changes b/ksh.changes index 710f3d1..09a5cd2 100644 --- a/ksh.changes +++ b/ksh.changes @@ -1,8 +1,193 @@ +------------------------------------------------------------------- +Thu Feb 14 13:04:13 CET 2008 - werner@suse.de + +- Add locale for ksh and libraries in ast format +- Update to official bugfix release 2008-02-02 of ksh93s+ + * A bug in which command substitution inside ((...)) could cause + syntax errors or lead to core dumps has been fixed. + * A bug in which discipline functions could be deleted when invoked + from a subshell has been fixed. + * A bug in which a command substitution consisting only of + assignments was treated as a noop has been fixed. + * A bug in which discipline functions invoked from withing a + compound assignment could fail has been fixed. + * Incomplete arithmetic assigments, for example ((x += )), now + generate an error message. + * A bug in which a set discipline defined for a variable before + an array assignment could cause a core dump has been fixed. + * A bug in on some systems in which exit status 0 is incorrectly + returned by a process that catches the SIGCONT signal is stopped + and then continued. + * libast: string/strmatch.c: fix str="" pat="" sub values + * libast: comp/conf.sh,conf.tab: handle /bin/sh \ in read data, redir subshell + * libast: misc/magic.tab: amd-x68, 64-bit => x86-64 + * libast: string/strnton.c,strntonll.c: add + * libcmd: expr.c: fix <=0 type that broke substr * 1 * + ------------------------------------------------------------------- Sun Jan 27 21:33:50 CET 2008 - coolo@suse.de - fix changelog +------------------------------------------------------------------- +Tue Jan 8 16:14:39 CET 2008 - werner@suse.de + +- Update to private bugfix release 2008-01-06 ksh93s+ + * A bug in on some systems in which exit status 0 is incorrectly + returned by a process that catches the SIGCONT signal is stopped + and then continued. + +------------------------------------------------------------------- +Fri Dec 21 14:05:34 CET 2007 - werner@suse.de + +- Update to private bugfix release 2007-12-15 of ksh93s+ + * A race condition in which a program that has been stopped and then + continued could loose the exit status has been fixed. + * Code to check for file system out of space write errors for all + writes has been added. + * A bug in the macro expander for multibyte characters in which + part of the character contains a file pattern byte has been fixed. + * A bug in the emacs edit mode when multiline was set that output + a backspace before the newline to the screen has been fixed. + * A bug in which using TAB after a variable name listing expansion + in the edit modes would cause the $ to disappear has been fixed. + * A bug in which setting IFS to readonly could cause a subsequent + command substitution to fail has been fixed. + * A work around for a gcc 4.* C99 "feature" that could cause a job + control shell to go into an infinite loop by adding the volatile + attribute to some auto vars in functions that call setjmp(). + * A bug in which the shell could read ahead on a pipe causing the + standard input to be incorrectly positioned has been fixed. + * A bug in which compound variable UTF-8 multibyte values were not + expanded or traced properly has been fixed. + * A bug where an unbalanced '[' in a command argument was not treated + properly has been fixed. + * A bug in which compatibility mode (no long option names) getopts(1) + incorrectly set the value of OPTARG for flag options has been fixed. + * A bug in which "hash -- name" treated "--" as an invalid name operand + has been fixed. + * typeset now handles "-t -- [-r] [--]" for s5r4 hash(1) compatibility. + * A bug in which the umask builtin mis-handled symbolic mode operands + has been fixed. + * Bugs in which shell arithmetic and the printf builtin mis-handled the + signs of { -NaN -Inf -0.0 } have been fixed. + * The full { SIGRTMIN SIGRTMIN+1 ... SIGRTMAX-1 SIGRTMAX } range + of signals, determined at runtime, are now supported. + * A bug in which creating an index array with only subscript 0 created + only a simple variable has been fixed. + * A bug in which appending to an indexed array using the form + name+=([sub]=value) could cause the array to become an associative + array has been fixed. + * A bug in which typeset without arguments could coredump if a + variable is declared as in indexed array and has no elements has + been fixed. + * A bug in which creating a local SECONDS variable with typeset in + a function could corrupt memory has been fixed. + * A bug which could cause a core dump when a script invoked by name + from a function used compound variables has been fixed. + * A bug in which printf %d "'AB" did not diagnose unconverted + characters has been fixed. + * printf %g "'A" support added for all floating point formats. + * A bug in which typeset -f fun did not display the function + definition when invoked in a subshell has been fixed. + * The sleep builtin was fixed so that all floating point + constants are valid operands. + * A bug in which the locale was not being restored after + LANG=value command has been fixed. + * A bug in which a nameref to a compound variable that was + local to the calling function would not expand correctly + when displaying is value has been fixed. + * A bug which cause cause a core dump if .sh.edchar returned + 80 characters or more from a keyboard trap has been fixed. + * A bug in which could cause a core dump when more than 8 file + descriptors were in use has been fixed. + * A bug in which creating a name reference to an instance of an + array when the array name is itself a reference has been fixed. + * The file completion code has been modified so that after an + `=' in any word, each : will be considered a path delimiter. + * A bug in which subprocess cleanup could corrupt the malloc() + heap has been fixed. + * A bug in which a name reference to an associatve array + instance could cause the subscript to be evaluated as an + arithmetic expression has been fixed. + * A bug in which the value of an array instance was of a + compound variable was not expanded correctly has been fixed. + * A bug which could cause a core dump when a compound assignment + was made to a compound variable element with a typeset -a + attribute has been fixed. + * A bug in which a trap ignored in a subshell caused it to be + ignored by the parent has been fixed. + * A bug in which the set command would generated erroneous + output for a variable with the -RZ attribute if the variable + name had been passed to a function has been fixed. + * A bug in which read x[1] could core dump has been fixed. + * A second bug in which after read x[sub] into an associative + array of an element that hasn't been assigned could lead to + a core dump has been fixed. + * A bug in which a pipeline that completed correctly could have + an exit status of 127 when pipefail was enabled has been fixed. + * The SHOPT_AUDIT compile option has been added for keyboard + logging. + * libast: string/strelapsed.c: "0" is a valid elapsed time! + * libast: sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0) + * libast: comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation + * libast: features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1 + * libast: features/float: favor sscanf() due to gnu strto[l]d() nan bugs + * libast: regex/regcomp.c: fix REX_COLL_CLASS node allocation + size + * libast: sfio/sfcvt.c: use signbit() if available + * libast: features/isoc99: _ISOC99_SOURCE tests + * libast: port/astmath.c: add -DN=8 for signbit() + * libast: sfio/sfstrtod.h: don't forget about -0.0 + * libast: features/map.c: add { optopt optarg optind opterr } + * libast: features/stdio: add _filbuf => _ast__filbuf + * libast: comp/getsubopt.c: fix #undef that interfered with + + * libast: regex/regcomp.c: fix bug that missed ')' in ~(F)... + * libast: port/astconf.c: fix CONF_ALLOC 16 bit overflow + * libast: misc/fts.c: fix fts_close() to free the handle + * libast: comp/setlocale.c: second and subsequent + setlocale(*,"") reverts to previous + * libast: path/pathprobe.c: add vfs ST_NOSUID check + * libast: comp/conf.tab: add a few more xpg6 deferrals + * libast: astsa: update to share with mainline src via + _PACKAGE_astsa + * libast: sfio/sfgetr.c: no limit on string stream line size + * libast: sfio/sfextern.c: increase _Sfmaxr to 256*1024 + * libast: misc/procopen.c: tighten up SIGCHLD logic between + parent/child + * libast: misc/signal.c: unblock SIG_DFL after setting handler, + sig<0 => don't unblock + * libast: misc/fs3d.c: no $LD_PRELOAD => no 3d and avoids + invalid mount(2) call + * libast: vmalloc: vmstat(0,0)==1 => region in use, drop + VM_primary|VM_secondary + * libast: misc/recstr.c: handle [lL] gobbled by strtol() + * libast: path/pathprobe.c: handle '\r' in VERSION string + * libast: regex/regcache.c: regcache(0,n,0) extends cache to + size n (no shrinking) + * libast: tm/tmdata.c: add 2005-12-31, drop 1999-12-31 + * libcmd: cp.c: fix builtin state reinitialization + * libcmd: rev.c: honor multibyte locales + * libcmd: cp.c: open non-existent destination with O_EXCL + * libcmd: stty.c: add -t,--terminal-group to list tty pgrp + * libcmd: cksum.c: --silent -s => -S, -s == -x sys5 for gnu compatibility + * libcmd: tee.c: drop ancient bsd compatibility "-" operand => SIGINT + * libcmd: cksum.c: add SUM_LEGACY for -r + * libcmd: cp.c: plug usage string memory leak by using + per-builtin state + * libcmd: cksum.c: add sumprint() default scale arg, + --scale, --bsd for solaris + * libcmd: chmod.c: add --show,-n + * libcmd: wclib.c: bias checks for modern unix + * libcmd: cat.c: fix --squeeze-blank to reduce multiple blank + lines to *one* + * libsum: sum.h, sumlib.c: add SUM_LEGACY for legacy output + format + * libsum: sum-sha1.c: reinstate Steve Reid's public domain + implementation + * libsum: sumlib.c: drop GPL sum-sha1.c + ------------------------------------------------------------------- Fri Nov 23 13:55:12 CET 2007 - werner@suse.de diff --git a/ksh.spec b/ksh.spec index 380070b..daab302 100644 --- a/ksh.spec +++ b/ksh.spec @@ -10,6 +10,7 @@ # norootforbuild + Name: ksh BuildRequires: bind-libs bind-utils bison flex gdbm-devel glibc-devel ncurses-devel procps psmisc pwdutils zlib-devel %if %suse_version > 1020 @@ -21,13 +22,14 @@ Group: System/Shells PreReq: /bin/ln /bin/rm /etc/bash.bashrc /bin/true AutoReqProv: on Version: 93s -Release: 82 +Release: 87 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: INIT.2007-06-28.tar.bz2 -Source1: ast-ksh.2007-06-28.tar.bz2 -Source2: Agreement -Source3: Warning +Source: INIT.2008-02-02.tar.bz2 +Source1: ast-ksh.2008-02-02.tar.bz2 +Source2: ast-open-locale.2008-02-02.tar.bz2 +Source20: Agreement +Source21: Warning Source30: rpmlintrc Patch: ksh93.dif Patch1: workaround-stupid-build-system.diff @@ -40,13 +42,8 @@ Patch7: ksh93-profile.dif Patch8: ksh93-test.dif Patch9: ksh93-compat.dif Patch10: ksh93-suid_exec.dif -Patch11: ksh93s-fix.dif -Patch12: ksh93-fs3d.dif -Patch13: ksh93-realloc.dif -Patch14: ksh93-keytrap-overflow.dif -Patch15: ksh93-sigint.dif -Patch16: ksh93-sigtstp.dif -Patch17: ksh93-limits.dif +Patch11: ksh93-signals.dif +Patch12: ksh93-limits.dif %description The original Korn Shell. The ksh is an sh-compatible command @@ -82,7 +79,13 @@ Authors: Phong Vo %prep -%setup -n ksh93 -c -a 0 -a 1 +%setup -n ksh93 -c -a 0 -a 1 -a 2 +find share/ \( -name chef -o -name fudd -o -name piglatin -o -name valley \) -a -type d |\ + xargs -r rm -vrf +find share/ ! \( -name libast -o -name libcmd -o -name libdll -o -name libshell \) -a -type f |\ + xargs -r rm -vf +find share/ -type d -a -empty | xargs -r rm -vrf +find share/ -type d -a -empty | xargs -r rm -vrf %patch %patch1 %ifarch %arm @@ -98,13 +101,11 @@ Authors: %patch10 %patch11 %patch12 -%patch13 -%patch14 -%patch15 -%patch16 -%patch17 %build + test -n "${!LC_*}" && unset "${!LC_*}" + LANG=POSIX + export LANG # # If _you_ are knowing how to fix this in the autogenerated # sources of ksh/ast without breaking them, then let me know. @@ -182,10 +183,13 @@ Authors: rm -f ${root}/bin/shcomp ksh=$(grep -e '-o ksh' $log | tail -n 1 |\ sed "s@+ g\?cc@gcc@;s@-o ksh@-o ${root}/bin/ksh@;s@[a-zA-Z0-9_/\.-]*lib\([a-z]\+\)\.a@-l\1@g;s@'@@g") + test -n "${ksh}" || { echo build of ksh failed; exit 1; } shcomp=$(grep -e '-o shcomp' $log | tail -n 1 |\ sed "s@+ g\?cc@gcc@;s@-o shcomp@-o ${root}/bin/shcomp@;s@[a-zA-Z0-9_/\.-]*lib\([a-z]\+\)\.a@-l\1@g;s@'@@g") + test -n "${shcomp}" || { echo build of shcomp failed; exit 1; } suidex=$(grep -e '-o suid_exec' $log | tail -n 1 |\ sed "s@+ g\?cc@gcc@;s@-o shcomp@-o ${root}/bin/suid_exec@;s@[a-zA-Z0-9_/\.-]*lib\([a-z]\+\)\.a@-l\1@g;s@'@@g") + test -n "${suidex}" || { echo build of suidex failed; exit 1; } ${ksh} -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast ${shcomp} -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast ${suidex} -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast @@ -213,6 +217,7 @@ Authors: mkdir -p %{buildroot}%{_mandir} mkdir %{buildroot}%{_mandir}/man1 mkdir %{buildroot}%{_mandir}/man3 + mkdir -p %{buildroot}%{_datadir}/locale mkdir -p %{buildroot}%{_sysconfdir}/permissions.d install bin/ksh %{buildroot}/%{_lib}/ast/bin/ install bin/shcomp %{buildroot}/%{_lib}/ast/bin/ @@ -237,13 +242,26 @@ Authors: done install -m 0644 include/ast/* %{buildroot}%{_includedir}/ast/ popd + for msg in share/lib/locale/* ; do + test -d $msg || continue + mkdir -p %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES + cp -vp ${msg}/LC_MESSAGES/* %{buildroot}%{_datadir}/locale/${msg##*/}/LC_MESSAGES/ + done + echo %%dir %{_datadir}/locale/C > ksh.lang + echo %%dir %{_datadir}/locale/C/LC_MESSAGES >> ksh.lang + find %{buildroot}/ -type f -o -type l | sed -r ' + s:%{buildroot}:: + s:(%{_datadir}/locale/)([^/_]+)(.*$):%%lang\(\2\) \1\2\3: + s:^([^%%].*):: + s:%%lang\(C\) :: + /^ *$/d' >> ksh.lang cp lib/package/LICENSES/ast LICENSE mv src/cmd/ksh93/OBSOLETE src/cmd/ksh93/OBSOLETE.mm cat src/cmd/ksh93/builtins.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > Builtins cat src/cmd/ksh93/PROMO.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > PROMO cat src/cmd/ksh93/OBSOLETE.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > OBSOLETE cat src/cmd/ksh93/sh.memo | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > MEMORANDUM - cp %{SOURCE3} . + cp %{S:21} . # # (cat > %{buildroot}%{_sysconfdir}/permissions.d/ksh) <<-EOF # /%{_lib}/ast/bin/suid_exec root:root 4711 @@ -271,7 +289,7 @@ if test ! -x %{_lib}/ast/ksh ; then fi fi -%files +%files -f ksh.lang %defattr(-,root,root) #%{_sysconfdir}/permissions.d/ksh #%{_sysconfdir}/permissions.d/ksh.paranoid @@ -299,8 +317,184 @@ fi %{_includedir}/ast/ %changelog +* Thu Feb 14 2008 werner@suse.de +- Add locale for ksh and libraries in ast format +- Update to official bugfix release 2008-02-02 of ksh93s+ + * A bug in which command substitution inside ((...)) could cause + syntax errors or lead to core dumps has been fixed. + * A bug in which discipline functions could be deleted when invoked + from a subshell has been fixed. + * A bug in which a command substitution consisting only of + assignments was treated as a noop has been fixed. + * A bug in which discipline functions invoked from withing a + compound assignment could fail has been fixed. + * Incomplete arithmetic assigments, for example ((x += )), now + generate an error message. + * A bug in which a set discipline defined for a variable before + an array assignment could cause a core dump has been fixed. + * A bug in on some systems in which exit status 0 is incorrectly + returned by a process that catches the SIGCONT signal is stopped + and then continued. + * libast: string/strmatch.c: fix str="" pat="" sub values + * libast: comp/conf.sh,conf.tab: handle /bin/sh \ in read data, redir subshell + * libast: misc/magic.tab: amd-x68, 64-bit => x86-64 + * libast: string/strnton.c,strntonll.c: add + * libcmd: expr.c: fix <=0 type that broke substr * 1 * * Sun Jan 27 2008 coolo@suse.de - fix changelog +* Tue Jan 08 2008 werner@suse.de +- Update to private bugfix release 2008-01-06 ksh93s+ + * A bug in on some systems in which exit status 0 is incorrectly + returned by a process that catches the SIGCONT signal is stopped + and then continued. +* Fri Dec 21 2007 werner@suse.de +- Update to private bugfix release 2007-12-15 of ksh93s+ + * A race condition in which a program that has been stopped and then + continued could loose the exit status has been fixed. + * Code to check for file system out of space write errors for all + writes has been added. + * A bug in the macro expander for multibyte characters in which + part of the character contains a file pattern byte has been fixed. + * A bug in the emacs edit mode when multiline was set that output + a backspace before the newline to the screen has been fixed. + * A bug in which using TAB after a variable name listing expansion + in the edit modes would cause the $ to disappear has been fixed. + * A bug in which setting IFS to readonly could cause a subsequent + command substitution to fail has been fixed. + * A work around for a gcc 4.* C99 "feature" that could cause a job + control shell to go into an infinite loop by adding the volatile + attribute to some auto vars in functions that call setjmp(). + * A bug in which the shell could read ahead on a pipe causing the + standard input to be incorrectly positioned has been fixed. + * A bug in which compound variable UTF-8 multibyte values were not + expanded or traced properly has been fixed. + * A bug where an unbalanced '[' in a command argument was not treated + properly has been fixed. + * A bug in which compatibility mode (no long option names) getopts(1) + incorrectly set the value of OPTARG for flag options has been fixed. + * A bug in which "hash -- name" treated "--" as an invalid name operand + has been fixed. + * typeset now handles "-t -- [-r] [--]" for s5r4 hash(1) compatibility. + * A bug in which the umask builtin mis-handled symbolic mode operands + has been fixed. + * Bugs in which shell arithmetic and the printf builtin mis-handled the + signs of { -NaN -Inf -0.0 } have been fixed. + * The full { SIGRTMIN SIGRTMIN+1 ... SIGRTMAX-1 SIGRTMAX } range + of signals, determined at runtime, are now supported. + * A bug in which creating an index array with only subscript 0 created + only a simple variable has been fixed. + * A bug in which appending to an indexed array using the form + name+=([sub]=value) could cause the array to become an associative + array has been fixed. + * A bug in which typeset without arguments could coredump if a + variable is declared as in indexed array and has no elements has + been fixed. + * A bug in which creating a local SECONDS variable with typeset in + a function could corrupt memory has been fixed. + * A bug which could cause a core dump when a script invoked by name + from a function used compound variables has been fixed. + * A bug in which printf %%d "'AB" did not diagnose unconverted + characters has been fixed. + * printf %%g "'A" support added for all floating point formats. + * A bug in which typeset -f fun did not display the function + definition when invoked in a subshell has been fixed. + * The sleep builtin was fixed so that all floating point + constants are valid operands. + * A bug in which the locale was not being restored after + LANG=value command has been fixed. + * A bug in which a nameref to a compound variable that was + local to the calling function would not expand correctly + when displaying is value has been fixed. + * A bug which cause cause a core dump if .sh.edchar returned + 80 characters or more from a keyboard trap has been fixed. + * A bug in which could cause a core dump when more than 8 file + descriptors were in use has been fixed. + * A bug in which creating a name reference to an instance of an + array when the array name is itself a reference has been fixed. + * The file completion code has been modified so that after an + `=' in any word, each : will be considered a path delimiter. + * A bug in which subprocess cleanup could corrupt the malloc() + heap has been fixed. + * A bug in which a name reference to an associatve array + instance could cause the subscript to be evaluated as an + arithmetic expression has been fixed. + * A bug in which the value of an array instance was of a + compound variable was not expanded correctly has been fixed. + * A bug which could cause a core dump when a compound assignment + was made to a compound variable element with a typeset -a + attribute has been fixed. + * A bug in which a trap ignored in a subshell caused it to be + ignored by the parent has been fixed. + * A bug in which the set command would generated erroneous + output for a variable with the -RZ attribute if the variable + name had been passed to a function has been fixed. + * A bug in which read x[1] could core dump has been fixed. + * A second bug in which after read x[sub] into an associative + array of an element that hasn't been assigned could lead to + a core dump has been fixed. + * A bug in which a pipeline that completed correctly could have + an exit status of 127 when pipefail was enabled has been fixed. + * The SHOPT_AUDIT compile option has been added for keyboard + logging. + * libast: string/strelapsed.c: "0" is a valid elapsed time! + * libast: sfio/sfreserve.c: preserve SF_SHARE sfrd() via sfreserve(f,0,0) + * libast: comp/setlocale.c: add sjis_mbtowc() to work around [\~] translation + * libast: features/signal.c: RT(1) .. RT(MAX-1) => RTMIN+1 .. RTMAX-1 + * libast: features/float: favor sscanf() due to gnu strto[l]d() nan bugs + * libast: regex/regcomp.c: fix REX_COLL_CLASS node allocation + size + * libast: sfio/sfcvt.c: use signbit() if available + * libast: features/isoc99: _ISOC99_SOURCE tests + * libast: port/astmath.c: add -DN=8 for signbit() + * libast: sfio/sfstrtod.h: don't forget about -0.0 + * libast: features/map.c: add { optopt optarg optind opterr } + * libast: features/stdio: add _filbuf => _ast__filbuf + * libast: comp/getsubopt.c: fix #undef that interfered with + + * libast: regex/regcomp.c: fix bug that missed ')' in ~(F)... + * libast: port/astconf.c: fix CONF_ALLOC 16 bit overflow + * libast: misc/fts.c: fix fts_close() to free the handle + * libast: comp/setlocale.c: second and subsequent + setlocale(*,"") reverts to previous + * libast: path/pathprobe.c: add vfs ST_NOSUID check + * libast: comp/conf.tab: add a few more xpg6 deferrals + * libast: astsa: update to share with mainline src via + _PACKAGE_astsa + * libast: sfio/sfgetr.c: no limit on string stream line size + * libast: sfio/sfextern.c: increase _Sfmaxr to 256*1024 + * libast: misc/procopen.c: tighten up SIGCHLD logic between + parent/child + * libast: misc/signal.c: unblock SIG_DFL after setting handler, + sig<0 => don't unblock + * libast: misc/fs3d.c: no $LD_PRELOAD => no 3d and avoids + invalid mount(2) call + * libast: vmalloc: vmstat(0,0)==1 => region in use, drop + VM_primary|VM_secondary + * libast: misc/recstr.c: handle [lL] gobbled by strtol() + * libast: path/pathprobe.c: handle '\r' in VERSION string + * libast: regex/regcache.c: regcache(0,n,0) extends cache to + size n (no shrinking) + * libast: tm/tmdata.c: add 2005-12-31, drop 1999-12-31 + * libcmd: cp.c: fix builtin state reinitialization + * libcmd: rev.c: honor multibyte locales + * libcmd: cp.c: open non-existent destination with O_EXCL + * libcmd: stty.c: add -t,--terminal-group to list tty pgrp + * libcmd: cksum.c: --silent -s => -S, -s == -x sys5 for gnu compatibility + * libcmd: tee.c: drop ancient bsd compatibility "-" operand => SIGINT + * libcmd: cksum.c: add SUM_LEGACY for -r + * libcmd: cp.c: plug usage string memory leak by using + per-builtin state + * libcmd: cksum.c: add sumprint() default scale arg, + --scale, --bsd for solaris + * libcmd: chmod.c: add --show,-n + * libcmd: wclib.c: bias checks for modern unix + * libcmd: cat.c: fix --squeeze-blank to reduce multiple blank + lines to *one* + * libsum: sum.h, sumlib.c: add SUM_LEGACY for legacy output + format + * libsum: sum-sha1.c: reinstate Steve Reid's public domain + implementation + * libsum: sumlib.c: drop GPL sum-sha1.c * Fri Nov 23 2007 werner@suse.de - Add missed limit patch - Fix problem with endless loop due missing reset of the SIGTSTP diff --git a/ksh93-compat.dif b/ksh93-compat.dif index 508499d..4b64fd8 100644 --- a/ksh93-compat.dif +++ b/ksh93-compat.dif @@ -42,7 +42,7 @@ esac case $lib in - /usr/lib/*) -+ /usr/lib64*|/usr/lib/*) ++ /usr/lib64/*|/usr/lib/*) case `package` in sgi.mips3) abi=/lib32 diff --git a/ksh93-fs3d.dif b/ksh93-fs3d.dif deleted file mode 100644 index e20b120..0000000 --- a/ksh93-fs3d.dif +++ /dev/null @@ -1,28 +0,0 @@ ---- src/lib/libast/misc/fs3d.c -+++ src/lib/libast/misc/fs3d.c 2007-09-13 18:28:57.279134727 +0200 -@@ -47,7 +47,8 @@ - /* - * get the current setting - */ -- -+ if (getenv("LD_PRELOAD") == (char*)0) -+ goto nope; - if (!fsview && mount("", "", 0, NiL)) - goto nope; - if (FS3D_op(op) == FS3D_OP_INIT && mount(FS3D_init, NiL, FS3D_VIEW, NiL)) ---- src/lib/libast/include/fs3d.h -+++ src/lib/libast/include/fs3d.h 2007-09-13 18:28:57.279134727 +0200 -@@ -95,7 +95,13 @@ - #define FS3D_SIZE(n) ((n)<<4) - #define FS3D_SIZEOF(n) ((n)>>4) - -+#if _sys_mount && defined(__linux__) -+#include -+#define mount(source,target,flags,data) \ -+ mount((source),(target),"",(flags),(data)) -+#else - extern int mount(const char*, char*, int, void*); -+#endif - - #if _BLD_ast && defined(__EXPORT__) - #define extern __EXPORT__ diff --git a/ksh93-keytrap-overflow.dif b/ksh93-keytrap-overflow.dif deleted file mode 100644 index 0d8d1f6..0000000 --- a/ksh93-keytrap-overflow.dif +++ /dev/null @@ -1,19 +0,0 @@ ---- src/cmd/ksh93/edit/edit.c -+++ src/cmd/ksh93/edit/edit.c 2007-09-16 23:57:45.000000000 +0200 -@@ -1478,8 +1478,14 @@ - nv_unset(ED_CHRNOD); - else - { -- strncpy(inbuff,cp,bufsize); -- insize = strlen(inbuff); -+ if (bufsize>0) -+ { -+ strncpy(inbuff,cp,bufsize); -+ inbuff[bufsize-1]='\0'; -+ insize = strlen(inbuff); -+ } -+ else -+ insize=0; - } - nv_unset(ED_TXTNOD); - return(insize); diff --git a/ksh93-realloc.dif b/ksh93-realloc.dif deleted file mode 100644 index fd3784d..0000000 --- a/ksh93-realloc.dif +++ /dev/null @@ -1,137 +0,0 @@ ---- src/cmd/ksh93/sh/io.c -+++ src/cmd/ksh93/sh/io.c 2007-09-14 18:15:17.000000000 +0200 -@@ -380,7 +380,7 @@ - { - register int n; - filemapsize = 8; -- filemap = (struct fdsave*)malloc(8*sizeof(struct fdsave)); -+ filemap = (struct fdsave*)malloc(filemapsize*sizeof(struct fdsave)); - #if SHOPT_FASTPIPE - n = sh.lim.open_max+2; - #else -@@ -502,7 +502,7 @@ - if(f2==job.fd) - job.fd=fd; - *sh.fdptrs[fd] = fd; -- sh.fdptrs[f2] = 0; -+ sh.fdptrs[f2] = (int*)0; - } - sh.sftable[fd] = sp; - sh.fdstatus[fd] = sh.fdstatus[f2]; -@@ -578,7 +578,7 @@ - sh.fdstatus[fd] = IOCLOSE; - if(sh.fdptrs[fd]) - *sh.fdptrs[fd] = -1; -- sh.fdptrs[fd] = 0; -+ sh.fdptrs[fd] = (int*)0; - if(fd < 10) - sh.inuse_bits &= ~(1<= filemapsize) - { -+ long oldptr = (long)filemap; -+ long moved; -+ - filemapsize += 8; - if(!(filemap = (struct fdsave*)realloc(filemap,filemapsize*sizeof(struct fdsave)))) - errormsg(SH_DICT,ERROR_exit(4),e_nospace); -- -+ moved = (long)filemap - oldptr; -+ -+ /* realloc(2) possibly has moved start address of filemap */ -+#if SHOPT_FASTPIPE -+ for(savefd=sh.lim.open_max+2; --savefd>=0; ) -+#else -+ for(savefd=sh.lim.open_max; --savefd>=0; ) -+#endif /* SHOPT_FASTPIPE */ -+ { -+ if (sh.fdptrs[savefd]) /* update address if used */ -+ { -+ oldptr = (long)sh.fdptrs[savefd]; -+ if (oldptr == (long)(&sh.coutpipe)) -+ continue; -+ if (oldptr == (long)(&sh.cpipe[0])) -+ continue; -+ sh.fdptrs[savefd] = (int*)(oldptr+moved); -+ } -+ } - } - #if SHOPT_DEVFD - if(origfd <0) ---- src/cmd/ksh93/sh/jobs.c -+++ src/cmd/ksh93/sh/jobs.c 2007-09-12 14:25:34.000000000 +0000 -@@ -1011,12 +1011,14 @@ void job_clear(void) - { - pw = pw->p_nxtproc; - free((void*)px); -+ px = (struct process *)0; - } - } - for(jp=bck.list; jp;jp=jpnext) - { - jpnext = jp->next; - free((void*)jp); -+ jp = (struct jobsave *)0; - } - bck.list = 0; - if(njob_savelist < NJOB_SAVELIST) -@@ -1638,7 +1640,10 @@ static int job_chksave(register pid_t pi - job_savelist = jp; - } - else -+ { - free((void*)jp); -+ jp = (struct jobsave *)0; -+ } - } - return(r); - } -@@ -1673,6 +1678,7 @@ void job_subrestore(void* ptr) - { - jpnext = jp->next; - free((void*)jp); -+ jp = (struct jobsave *)0; - } - free(ptr); - job_unlock(); ---- src/cmd/ksh93/sh/macro.c -+++ src/cmd/ksh93/sh/macro.c 2007-09-14 10:13:04.000000000 +0000 -@@ -1829,8 +1829,11 @@ static void comsubst(Mac_t *mp,int type) - mac_copy(mp,&lastc,1); - lastc = 0; - } -+ /* nothing todo */ -+ if(c <= 0) -+ continue; - /* delay appending trailing new-lines */ -- while(str[--c]=='\n') -+ while(c-->=0 && str[c]=='\n') - newlines++; - if(++c < bufsize) - str[c] = 0; ---- src/cmd/ksh93/sh/xec.c -+++ src/cmd/ksh93/sh/xec.c 2007-09-14 18:16:17.000000000 +0200 -@@ -755,10 +755,11 @@ - if(np && is_abuiltin(np)) - { - void *context; -- int scope=0, jmpval, save_prompt,share; -+ int scope=0, jmpval, save_prompt,share=0; - struct checkpt buff; - unsigned long was_vi=0, was_emacs=0, was_gmacs=0; - struct stat statb; -+ memset(&statb, 0, sizeof(struct stat)); - if(strchr(nv_name(np),'/')) - { - /* -@@ -2539,7 +2540,7 @@ - } - if(fcntl(*sh.cpipe,F_SETFD,FD_CLOEXEC)>=0) - sh.fdstatus[sh.cpipe[0]] |= IOCLEX; -- sh.fdptrs[sh.cpipe[0]] = sh.cpipe; -+ sh.fdptrs[sh.cpipe[0]] = &sh.cpipe[0]; - - if(fcntl(sh.cpipe[1],F_SETFD,FD_CLOEXEC) >=0) - sh.fdstatus[sh.cpipe[1]] |= IOCLEX; diff --git a/ksh93-shift_ijs.dif b/ksh93-shift_ijs.dif index 5549f6d..df53378 100644 --- a/ksh93-shift_ijs.dif +++ b/ksh93-shift_ijs.dif @@ -1,5 +1,5 @@ --- src/cmd/ksh93/edit/edit.c -+++ src/cmd/ksh93/edit/edit.c 2007-03-28 18:22:27.380621000 +0200 ++++ src/cmd/ksh93/edit/edit.c 2007-12-20 18:50:27.512968240 +0100 @@ -28,6 +28,7 @@ */ @@ -32,7 +32,7 @@ # define is_cntrl(c) iscntrl(c) # define is_print(c) isprint(c) --- src/cmd/ksh93/edit/emacs.c -+++ src/cmd/ksh93/edit/emacs.c 2007-04-03 12:46:28.354368552 +0200 ++++ src/cmd/ksh93/edit/emacs.c 2007-12-20 18:50:27.512968240 +0100 @@ -62,6 +62,7 @@ One line screen editor for any program */ @@ -72,7 +72,7 @@ } #endif /* SHOPT_MULTIBYTE */ --- src/cmd/ksh93/edit/vi.c -+++ src/cmd/ksh93/edit/vi.c 2007-03-28 18:22:42.862649000 +0200 ++++ src/cmd/ksh93/edit/vi.c 2007-12-20 18:50:27.540971791 +0100 @@ -28,6 +28,8 @@ * cbosgd!pds -*/ @@ -106,63 +106,12 @@ static int _isalph(int); static int _ismetach(int); --- src/cmd/ksh93/sh/macro.c -+++ src/cmd/ksh93/sh/macro.c 2007-11-20 12:09:31.000000000 +0000 -@@ -1860,13 +1860,20 @@ static void comsubst(Mac_t *mp,int type) - return; - } - -+#if SHOPT_MULTIBYTE -+#define ismbstate(c,s) ((state[*(unsigned char*)(c)]==(s))&&(!mbwide()||(mbsize(c)<2))) -+#else -+#define ismbstate(c,s) (state[*(unsigned char*)(c)]==(s)) -+#endif -+ -+ - /* - * copy onto the stack - */ - static void mac_copy(register Mac_t *mp,register const char *str, register int size) - { - register char *state; -- register const char *cp=str; -+ register const char *cp=str, *sp; - register int c,n,nopat; - nopat = (mp->quote||mp->assign==1||mp->arith); - if(mp->zeros) -@@ -1885,14 +1892,25 @@ static void mac_copy(register Mac_t *mp, - /* insert \ before file expansion characters */ - while(size-->0) - { -+ sp = cp; - c = state[n= *(unsigned char*)cp++]; -+#if SHOPT_MULTIBYTE -+ if(mbwide()) -+ { ssize_t len = mbsize(sp); -+ if (len-- > 1) -+ { cp += len; -+ size -= len; -+ continue; -+ } -+ } -+#endif /* SHOPT_MULTIBYTE */ - if(nopat&&(c==S_PAT||c==S_ESC||c==S_BRACT||c==S_ENDCH) && mp->pattern!=3) - c=1; - else if(mp->pattern==4 && (c==S_ESC||c==S_BRACT||c==S_ENDCH || isastchar(n))) - c=1; - else if(mp->pattern==2 && c==S_SLASH) - c=1; -- else if(mp->pattern==3 && c==S_ESC && (state[*(unsigned char*)cp]==S_DIG||(*cp==ESCAPE))) -+ else if(mp->pattern==3 && c==S_ESC && (ismbstate(cp,S_DIG)||(*cp==ESCAPE))) - { - if(!(c=mp->quote)) - cp++; -@@ -1916,14 +1934,14 @@ static void mac_copy(register Mac_t *mp, - state = sh.ifstable; ++++ src/cmd/ksh93/sh/macro.c 2007-12-20 18:50:27.572975848 +0100 +@@ -1926,13 +1926,13 @@ static void mac_copy(register Mac_t *mp, if(mp->pattern) { -- char *sp = "&|()"; + char *sp = "&|()"; - while(c = *sp++) -+ sp = "&|()"; + while((c = *sp++)) { if(state[c]==0) @@ -174,30 +123,8 @@ { if(state[c]==0) state[c] = S_PAT; -@@ -1933,7 +1951,20 @@ static void mac_copy(register Mac_t *mp, - } - while(size-->0) - { -- if((n=state[c= *(unsigned char*)cp++])==S_ESC || n==S_EPAT) -+ sp = cp; -+ n = state[c= *(unsigned char*)cp++]; -+#if SHOPT_MULTIBYTE -+ if(mbwide() && (n!=S_MBYTE)) -+ { ssize_t len = mbsize(sp); -+ if (len-- > 1) -+ { cp += len; -+ size -= len; -+ stakwrite(sp, len+1); -+ continue; -+ } -+ } -+#endif /* SHOPT_MULTIBYTE */ -+ if(n==S_ESC || n==S_EPAT) - { - /* don't allow extended patterns in this case */ - mp->patfound = mp->pattern; --- src/cmd/ksh93/sh/string.c -+++ src/cmd/ksh93/sh/string.c 2007-03-28 18:23:11.582410000 +0200 ++++ src/cmd/ksh93/sh/string.c 2007-12-20 18:51:06.773946405 +0100 @@ -42,7 +42,7 @@ #endif @@ -207,7 +134,7 @@ #endif -@@ -250,12 +250,13 @@ void sh_trim(register char *sp) +@@ -250,7 +250,7 @@ void sh_trim(register char *sp) if(sp) { dp = sp; @@ -216,14 +143,8 @@ { #if SHOPT_MULTIBYTE int len; - if(mbwide() && (len=mbsize(sp))>1) - { -+ memmove(dp, sp, len); - dp += len; - sp += len; - continue; --- src/cmd/ksh93/tests/sjis.sh -+++ src/cmd/ksh93/tests/sjis.sh 2007-11-20 13:07:57.000000000 +0000 ++++ src/cmd/ksh93/tests/sjis.sh 2007-12-20 18:50:27.648985486 +0100 @@ -0,0 +1,63 @@ +######################################################################## +# # @@ -289,7 +210,7 @@ +fi +exit $err --- src/lib/libast/comp/setlocale.c -+++ src/lib/libast/comp/setlocale.c 2007-03-28 18:24:16.098860000 +0200 ++++ src/lib/libast/comp/setlocale.c 2007-12-20 18:50:27.680989544 +0100 @@ -32,6 +32,7 @@ #include "lclib.h" @@ -299,7 +220,7 @@ #include #include --- src/lib/libast/comp/wc.c -+++ src/lib/libast/comp/wc.c 2006-04-19 12:17:59.000000000 +0200 ++++ src/lib/libast/comp/wc.c 2007-12-20 18:50:27.716994109 +0100 @@ -26,6 +26,7 @@ */ @@ -309,7 +230,7 @@ #define STUB 1 --- src/lib/libast/features/wchar -+++ src/lib/libast/features/wchar 2006-04-19 12:25:08.000000000 +0200 ++++ src/lib/libast/features/wchar 2007-12-20 18:50:27.748998166 +0100 @@ -1,5 +1,6 @@ set prototyped -lib mbstowcs,wctomb,wcrtomb,wcslen,wcstombs,wcwidth stdlib.h stdio.h wchar.h @@ -345,7 +266,7 @@ extern int fwprintf(FILE*, const wchar_t*, ...); extern int fwscanf(FILE*, const wchar_t*, ...); --- src/lib/libast/include/ast.h -+++ src/lib/libast/include/ast.h 2007-11-20 11:55:01.000000000 +0000 ++++ src/lib/libast/include/ast.h 2007-12-20 18:50:27.781002225 +0100 @@ -176,13 +176,16 @@ typedef struct #define mbcoll() (ast.mb_xfrm!=0) #define mbwide() (mbmax()>1) @@ -366,7 +287,7 @@ * common macros */ --- src/lib/libast/regex/reglib.h -+++ src/lib/libast/regex/reglib.h 2006-04-19 12:17:59.000000000 +0200 ++++ src/lib/libast/regex/reglib.h 2007-12-20 18:50:27.813006282 +0100 @@ -57,6 +57,7 @@ typedef struct regsubop_s char re_rhs[1]; /* substitution rhs */ @@ -376,19 +297,19 @@ #include --- src/lib/libcmd/Mamfile -+++ src/lib/libcmd/Mamfile 2007-03-28 18:25:32.624884000 +0200 -@@ -454,7 +454,7 @@ make cat.o ++++ src/lib/libcmd/Mamfile 2007-12-20 18:51:49.683387189 +0100 +@@ -464,7 +464,7 @@ make cat.o prev cat.c meta cat.o %.c>%.o cat.c cat prev cat.c --exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2007 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2007 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c +-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2008 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2008 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c done cat.o generated make chgrp.o prev chgrp.c --- src/lib/libcmd/cat.c -+++ src/lib/libcmd/cat.c 2007-03-28 18:28:43.841928000 +0200 -@@ -136,9 +136,11 @@ vcat(register char* states, Sfio_t *fdin ++++ src/lib/libcmd/cat.c 2007-12-20 18:50:27.889015921 +0100 +@@ -137,9 +137,11 @@ vcat(register char* states, Sfio_t *fdin { cpold = cp; /* skip over printable characters */ diff --git a/ksh93-sigint.dif b/ksh93-sigint.dif deleted file mode 100644 index 8f81b08..0000000 --- a/ksh93-sigint.dif +++ /dev/null @@ -1,75 +0,0 @@ ---- src/cmd/ksh93/sh/main.c -+++ src/cmd/ksh93/sh/main.c 2007-11-13 13:07:40.000000000 +0000 -@@ -418,6 +418,7 @@ static void exfile(register Shell_t *shp - sh_onoption(SH_TRACKALL); - sh_offoption(SH_MONITOR); - } -+ sh_sigdone(); - sh_offstate(SH_INTERACTIVE); - sh_offstate(SH_MONITOR); - sh_offstate(SH_HISTORY); ---- src/cmd/ksh93/sh/fault.c -+++ src/cmd/ksh93/sh/fault.c 2007-11-13 13:53:15.000000000 +0000 -@@ -98,12 +98,27 @@ void sh_fault(register int sig) - if(flag&SH_SIGDONE) - { - void *ptr=0; -- if((flag&SH_SIGINTERACTIVE) && sh_isstate(SH_INTERACTIVE) && !sh_isstate(SH_FORKED) && ! shp->subshell) -+ switch (sig) - { -- /* check for TERM signal between fork/exec */ -- if(sig==SIGTERM && job.in_critical) -- shp->trapnote |= SH_SIGTERM; -- return; -+ case SIGINT: -+ if(sh_isstate(SH_FORKED) || shp->subshell) -+ goto out; -+ if(!job.in_critical) -+ goto out; -+ return; -+ case SIGTERM: -+ if(sh_isstate(SH_FORKED) || shp->subshell) -+ break; -+ /* check for TERM signal between fork/exec */ -+ if(job.in_critical) -+ shp->trapnote |= SH_SIGTERM; -+ if((flag&SH_SIGINTERACTIVE) && sh_isstate(SH_INTERACTIVE)) -+ return; -+ break; -+ case SIGQUIT: -+ return; -+ default: -+ break; - } - shp->lastsig = sig; - sigrelease(sig); -@@ -136,6 +151,7 @@ void sh_fault(register int sig) - return; - } - } -+out: - errno = 0; - if(pp->mode==SH_JMPCMD) - shp->lastsig = sig; ---- src/cmd/ksh93/data/signals.c -+++ src/cmd/ksh93/data/signals.c 2007-11-13 13:55:49.000000000 +0000 -@@ -20,6 +20,7 @@ - #include - #include "shtable.h" - #include "fault.h" -+#include "jobs.h" - - #if defined(SIGCLD) && !defined(SIGCHLD) - # define SIGCHLD SIGCLD -@@ -95,9 +96,9 @@ const struct shtable2 shtab_signals[] = - "HUP", VAL(SIGHUP,SH_SIGDONE), S("Hangup"), - "ILL", VAL(SIGILL,SH_SIGDONE), S("Illegal instruction"), - #ifdef JOBS -- "INT", VAL(SIGINT,SH_SIGINTERACTIVE), S("Interrupt"), -+ "INT", VAL(SIGINT,SH_SIGDONE|SH_SIGINTERACTIVE), S("Interrupt"), - #else -- "INT", VAL(SIGINT,SH_SIGINTERACTIVE), "", -+ "INT", VAL(SIGINT,SH_SIGDONE|SH_SIGINTERACTIVE), "", - #endif /* JOBS */ - #ifdef SIGIO - "IO", VAL(SIGIO,SH_SIGIGNORE), S("IO signal"), diff --git a/ksh93-signals.dif b/ksh93-signals.dif new file mode 100644 index 0000000..79ac2ac --- /dev/null +++ b/ksh93-signals.dif @@ -0,0 +1,67 @@ +--- src/cmd/ksh93/sh/jobs.c ++++ src/cmd/ksh93/sh/jobs.c 2007-12-21 12:17:10.000000000 +0000 +@@ -253,7 +253,7 @@ int job_reap(register int sig) + flags |= WNOHANG; + } + pid = waitpid((pid_t)-1,&wstat,flags); +- ++#ifdef WCONTINUED + /* + * some systems (linux 2.6) may return EINVAL + * when there are no continued children +@@ -261,6 +261,7 @@ int job_reap(register int sig) + + if (pid<0 && errno==EINVAL && (flags&WCONTINUED)) + pid = waitpid((pid_t)-1,&wstat,flags&=~WCONTINUED); ++#endif + sh_sigcheck(); + if(sig && pid<0 && errno==EINTR) + continue; +--- src/cmd/ksh93/sh/xec.c ++++ src/cmd/ksh93/sh/xec.c 2007-12-21 12:28:04.000000000 +0000 +@@ -2773,6 +2773,7 @@ static pid_t sh_ntfork(const Shnode_t *t + { + signal(SIGTTIN,SIG_DFL); + signal(SIGTTOU,SIG_DFL); ++ signal(SIGTSTP,SIG_DFL); + } + #endif /* SIGTSTP */ + #ifdef JOBS +@@ -2810,6 +2811,9 @@ static pid_t sh_ntfork(const Shnode_t *t + { + signal(SIGTTIN,SIG_IGN); + signal(SIGTTOU,SIG_IGN); ++ if(sh_isstate(SH_INTERACTIVE)) ++ signal(SIGTSTP,SIG_IGN); ++ else signal(SIGTSTP,SIG_DFL); + } + #endif /* SIGTSTP */ + if(spawnpid>0) +@@ -2894,6 +2898,7 @@ static pid_t sh_ntfork(const Shnode_t *t + { + signal(SIGTTIN,SIG_DFL); + signal(SIGTTOU,SIG_DFL); ++ signal(SIGTSTP,SIG_DFL); + jobwasset++; + } + #endif /* SIGTSTP */ +@@ -2932,6 +2957,9 @@ static pid_t sh_ntfork(const Shnode_t *t + { + signal(SIGTTIN,SIG_IGN); + signal(SIGTTOU,SIG_IGN); ++ if(sh_isstate(SH_INTERACTIVE)) ++ signal(SIGTSTP,SIG_IGN); ++ else signal(SIGTSTP,SIG_DFL); + } + #endif /* SIGTSTP */ + if(sigwasset) +--- src/cmd/ksh93/data/signals.c ++++ src/cmd/ksh93/data/signals.c 2007-12-21 12:22:32.000000000 +0000 +@@ -20,6 +20,7 @@ + #include + #include "shtable.h" + #include "fault.h" ++#include "jobs.h" + + #if defined(SIGCLD) && !defined(SIGCHLD) + # define SIGCHLD SIGCLD diff --git a/ksh93-sigtstp.dif b/ksh93-sigtstp.dif deleted file mode 100644 index 8f33ae8..0000000 --- a/ksh93-sigtstp.dif +++ /dev/null @@ -1,100 +0,0 @@ ---- src/cmd/ksh93/sh/jobs.c -+++ src/cmd/ksh93/sh/jobs.c 2007-11-22 14:28:03.000000000 +0000 -@@ -229,7 +229,7 @@ int job_reap(register int sig) - flags |= WNOHANG; - } - pid = waitpid((pid_t)-1,&wstat,flags); -- -+#ifdef WCONTINUED - /* - * some systems (linux 2.6) may return EINVAL - * when there are no continued children -@@ -237,6 +237,7 @@ int job_reap(register int sig) - - if (pid<0 && errno==EINVAL && (flags&WCONTINUED)) - pid = waitpid((pid_t)-1,&wstat,flags&=~WCONTINUED); -+#endif - sh_sigcheck(); - if(sig && pid<0 && errno==EINTR) - continue; ---- src/cmd/ksh93/sh/xec.c -+++ src/cmd/ksh93/sh/xec.c 2007-11-22 14:33:05.000000000 +0000 -@@ -2755,6 +2755,7 @@ static pid_t sh_ntfork(const Shnode_t *t - { - signal(SIGTTIN,SIG_DFL); - signal(SIGTTOU,SIG_DFL); -+ signal(SIGTSTP,SIG_DFL); - } - #endif /* SIGTSTP */ - #ifdef JOBS -@@ -2792,6 +2793,10 @@ static pid_t sh_ntfork(const Shnode_t *t - { - signal(SIGTTIN,SIG_IGN); - signal(SIGTTOU,SIG_IGN); -+ if(sh_isstate(SH_INTERACTIVE)) -+ signal(SIGTSTP, SIG_IGN); -+ else -+ signal(SIGTSTP, sh_fault); - } - #endif /* SIGTSTP */ - if(spawnpid>0) -@@ -2876,6 +2881,7 @@ static pid_t sh_ntfork(const Shnode_t *t - { - signal(SIGTTIN,SIG_DFL); - signal(SIGTTOU,SIG_DFL); -+ signal(SIGTSTP,SIG_DFL); - jobwasset++; - } - #endif /* SIGTSTP */ -@@ -2916,12 +2922,24 @@ static pid_t sh_ntfork(const Shnode_t *t - argv[0] = argv[-1]; - } - fail: -- if(spawnpid < 0) switch(errno=shp->path_err) -+ if(spawnpid < 0) - { -- case ENOENT: -- errormsg(SH_DICT,ERROR_system(ERROR_NOENT),e_found+4); -- default: -- errormsg(SH_DICT,ERROR_system(ERROR_NOEXEC),e_exec+4); -+ if(jobwasset) -+ { -+ signal(SIGTTIN,SIG_IGN); -+ signal(SIGTTOU,SIG_IGN); -+ if(sh_isstate(SH_INTERACTIVE)) -+ signal(SIGTSTP, SIG_IGN); -+ else -+ signal(SIGTSTP, sh_fault); -+ } -+ switch(errno=shp->path_err) -+ { -+ case ENOENT: -+ errormsg(SH_DICT,ERROR_system(ERROR_NOENT),e_found+4); -+ default: -+ errormsg(SH_DICT,ERROR_system(ERROR_NOEXEC),e_exec+4); -+ } - } - } - else -@@ -2934,6 +2952,10 @@ static pid_t sh_ntfork(const Shnode_t *t - { - signal(SIGTTIN,SIG_IGN); - signal(SIGTTOU,SIG_IGN); -+ if(sh_isstate(SH_INTERACTIVE)) -+ signal(SIGTSTP, SIG_IGN); -+ else -+ signal(SIGTSTP, sh_fault); - } - #endif /* SIGTSTP */ - if(sigwasset) ---- src/cmd/ksh93/edit/edit.c -+++ src/cmd/ksh93/edit/edit.c 2007-11-22 14:26:34.000000000 +0000 -@@ -216,7 +216,7 @@ int tty_set(int fd, int action, struct t - if(fd >=0) - { - #ifdef future -- if(ep->e_savefd>=0 && compare(&ep->e_savetty,tty,sizeof(struct termios))) -+ if(ep->e_savefd>=0 && memcmp(&ep->e_savetty,tty,sizeof(struct termios))) - return(0); - #endif - while(tcsetattr(fd, action, tty) == SYSERR) diff --git a/ksh93.dif b/ksh93.dif index e8a2be6..e86bb8e 100644 --- a/ksh93.dif +++ b/ksh93.dif @@ -1,5 +1,5 @@ --- src/cmd/ksh93/bltins/print.c -+++ src/cmd/ksh93/bltins/print.c 2007-11-20 14:57:14.000000000 +0000 ++++ src/cmd/ksh93/bltins/print.c 2007-12-20 19:01:26.144481714 +0100 @@ -103,7 +103,11 @@ static int outexceptf(Sfio_t* iop, int m { static char bsd_univ; @@ -55,8 +55,8 @@ prdata.raw = 1; while(argv[1] && *argv[1]=='-') --- src/cmd/ksh93/data/msg.c -+++ src/cmd/ksh93/data/msg.c 2007-04-02 14:59:18.748709295 +0000 -@@ -176,7 +176,7 @@ ++++ src/cmd/ksh93/data/msg.c 2007-12-20 19:01:26.148482219 +0100 +@@ -176,7 +176,7 @@ const char e_bash_login[] = "$HOME/.bash const char e_bash_logout[] = "$HOME/.bash_logout"; const char e_bash_profile[] = "$HOME/.bash_profile"; #endif @@ -64,9 +64,9 @@ +const char e_crondir[] = "/var/spool/cron"; const char e_prohibited[] = "login setuid/setgid shells prohibited"; #if SHOPT_SUID_EXEC - const char e_suidexec[] = "/etc/suid_exec"; + # ifdef THISPROG --- src/cmd/ksh93/features/options -+++ src/cmd/ksh93/features/options 2007-03-01 17:25:28.000000000 +0100 ++++ src/cmd/ksh93/features/options 2007-12-20 19:01:26.184486786 +0100 @@ -35,7 +35,7 @@ tst cross{ option TEST_L $? test -f /etc/ksh.kshrc -o -f /etc/bash.bashrc && @@ -77,7 +77,7 @@ }end --- src/cmd/ksh93/sh/main.c -+++ src/cmd/ksh93/sh/main.c 2006-04-20 16:56:26.000000000 +0200 ++++ src/cmd/ksh93/sh/main.c 2007-12-20 19:01:26.212490337 +0100 @@ -125,9 +125,9 @@ int sh_source(Shell_t *shp, Sfio_t *iop, } @@ -90,7 +90,7 @@ #endif int sh_main(int ac, char *av[], void (*userinit)(int)) -@@ -192,7 +192,7 @@ int sh_main(int ac, char *av[], void (*u +@@ -193,7 +193,7 @@ int sh_main(int ac, char *av[], void (*u } if(!sh_isoption(SH_RC) && (sh_isoption(SH_BASH) && !sh_isoption(SH_POSIX) #if SHOPT_REMOTE @@ -100,10 +100,10 @@ )) sh_onoption(SH_RC); --- src/cmd/ksh93/sh/suid_exec.c -+++ src/cmd/ksh93/sh/suid_exec.c 2006-03-24 18:49:39.000000000 +0100 -@@ -65,7 +65,11 @@ - #define THISPROG "/etc/suid_exec" - #define DEFSHELL "/bin/sh" ++++ src/cmd/ksh93/sh/suid_exec.c 2007-12-20 19:01:26.248494902 +0100 +@@ -69,7 +69,11 @@ + # define DEFSHELL "/bin/sh" + #endif +#if defined(__linux__) +static void error_exit(const char*) __attribute__ ((noreturn)); @@ -114,8 +114,8 @@ static int endsh(const char*); #ifndef _lib_setregid --- src/cmd/ksh93/tests/builtins.sh -+++ src/cmd/ksh93/tests/builtins.sh 2007-03-28 17:38:07.763927060 +0200 -@@ -330,7 +330,7 @@ ifs=$IFS ++++ src/cmd/ksh93/tests/builtins.sh 2007-12-20 19:01:26.280498962 +0100 +@@ -332,7 +332,7 @@ ifs=$IFS IFS=, set -- $(getconf LIBPATH) IFS=$ifs @@ -125,7 +125,7 @@ do IFS=: set -- $v --- src/lib/libast/features/align.c -+++ src/lib/libast/features/align.c 2006-03-24 18:50:43.000000000 +0100 ++++ src/lib/libast/features/align.c 2007-12-20 19:01:26.312503019 +0100 @@ -32,6 +32,7 @@ #include "FEATURE/common" @@ -135,7 +135,7 @@ union _u_ { --- src/lib/libast/features/botch.c -+++ src/lib/libast/features/botch.c 2006-03-24 18:51:25.000000000 +0100 ++++ src/lib/libast/features/botch.c 2007-12-20 19:01:26.352508090 +0100 @@ -27,6 +27,7 @@ * generate ast traps for botched standard prototypes */ @@ -145,7 +145,7 @@ #include "FEATURE/lib" --- src/lib/libast/features/lib -+++ src/lib/libast/features/lib 2007-03-28 13:53:52.417162000 +0200 ++++ src/lib/libast/features/lib 2007-12-20 19:01:26.380511641 +0100 @@ -507,14 +507,19 @@ tst lib_utime_now note{ utime works with }end @@ -174,8 +174,8 @@ }end --- src/lib/libast/misc/procopen.c -+++ src/lib/libast/misc/procopen.c 2006-03-24 18:49:39.000000000 +0100 -@@ -524,7 +524,7 @@ procopen(const char* cmd, char** argv, c ++++ src/lib/libast/misc/procopen.c 2007-12-20 19:01:26.412515701 +0100 +@@ -538,7 +538,7 @@ procopen(const char* cmd, char** argv, c if (!fork()) { sfsprintf(path, sizeof(path), "%d", getppid()); @@ -185,7 +185,7 @@ } sleep(2); --- src/lib/libast/sfio/sfstrtof.h -+++ src/lib/libast/sfio/sfstrtof.h 2006-03-24 18:49:39.000000000 +0100 ++++ src/lib/libast/sfio/sfstrtof.h 2007-12-20 19:01:26.448520265 +0100 @@ -53,7 +53,7 @@ #if !defined(S2F_function) @@ -196,17 +196,17 @@ #define S2F_scan 1 #ifndef elementsof --- src/lib/libcmd/chmod.c -+++ src/lib/libcmd/chmod.c 2006-03-24 18:49:39.000000000 +0100 -@@ -159,7 +159,7 @@ b_chmod(int argc, char** argv, void* con - int (*chmodf)(const char*, mode_t); ++++ src/lib/libcmd/chmod.c 2007-12-20 19:02:36.857449589 +0100 +@@ -161,7 +161,7 @@ b_chmod(int argc, char** argv, void* con int notify = 0; int ignore = 0; + int show = 0; -#if _lib_lchmod +#if !defined(__linux__) && _lib_lchmod int chlink = 0; #endif struct stat st; -@@ -183,7 +183,7 @@ b_chmod(int argc, char** argv, void* con +@@ -185,7 +185,7 @@ b_chmod(int argc, char** argv, void* con force = 1; continue; case 'h': @@ -215,7 +215,7 @@ chlink = 1; #endif continue; -@@ -237,7 +237,7 @@ b_chmod(int argc, char** argv, void* con +@@ -242,7 +242,7 @@ b_chmod(int argc, char** argv, void* con } } chmodf = diff --git a/ksh93s-fix.dif b/ksh93s-fix.dif deleted file mode 100644 index bb03adb..0000000 --- a/ksh93s-fix.dif +++ /dev/null @@ -1,116 +0,0 @@ ---- src/cmd/ksh93/sh/jobs.c -+++ src/cmd/ksh93/sh/jobs.c Tue Aug 28 12:58:29 2007 -@@ -43,6 +43,8 @@ - # define WIFCONTINUED(wstat) (0) - #endif - -+#define NJOB_SAVELIST 4 -+ - /* - * temporary hack to get W* macros to work - */ -@@ -59,13 +61,35 @@ - unsigned short exitval; - }; - -+static struct jobsave *job_savelist; -+static int njob_savelist; -+ -+static void init_savelist(void) -+{ -+ register struct jobsave *jp; -+ while(njob_savelist < NJOB_SAVELIST) -+ { -+ jp = newof(0,struct jobsave,1,0); -+ jp->next = job_savelist; -+ job_savelist = jp; -+ njob_savelist++; -+ } -+} -+ - /* - * return next on link list of jobsave free list - */ - static struct jobsave *jobsave_create(pid_t pid) - { -- struct jobsave *jp; -- if(jp = newof(0,struct jobsave,1,0)) -+ register struct jobsave *jp = job_savelist; -+ if(jp) -+ { -+ njob_savelist--; -+ job_savelist = jp->next; -+ } -+ else -+ jp = newof(0,struct jobsave,1,0); -+ if(jp) - jp->pid = pid; - return(jp); - } -@@ -371,6 +395,8 @@ - # if defined(SIGCLD) && (SIGCLD!=SIGCHLD) - signal(SIGCLD,job_waitsafe); - # endif -+ if(njob_savelist < NJOB_SAVELIST) -+ init_savelist(); - if(!sh_isoption(SH_INTERACTIVE)) - return; - /* use new line discipline when available */ -@@ -993,6 +1019,8 @@ - free((void*)jp); - } - bck.list = 0; -+ if(njob_savelist < NJOB_SAVELIST) -+ init_savelist(); - job.pwlist = NIL(struct process*); - job.numpost=0; - job.waitall = 0; -@@ -1015,6 +1043,8 @@ - register struct process *pw; - register History_t *hp = sh.hist_ptr; - sh.jobenv = sh.curenv; -+ if(njob_savelist < NJOB_SAVELIST) -+ init_savelist(); - if(job.toclear) - { - job_clear(); -@@ -1273,7 +1303,13 @@ - px->p_flag &= ~P_EXITSAVE; - } - } -- if(!(px=job_unpost(pw,1)) || !job.waitall) -+ if(!job.waitall) -+ { -+ if(!sh_isoption(SH_PIPEFAIL)) -+ job_unpost(pw,1); -+ break; -+ } -+ else if(!(px=job_unpost(pw,1))) - break; - pw = px; - continue; -@@ -1312,6 +1348,8 @@ - else - tty_set(-1, 0, NIL(struct termios*)); - done: -+ if(!job.waitall && sh_isoption(SH_PIPEFAIL)) -+ return; - if(!sh.intrap) - { - job_lock(); -@@ -1593,7 +1631,14 @@ - else - bck.list = jp->next; - bck.count--; -- free((void*)jp); -+ if(njob_savelist < NJOB_SAVELIST) -+ { -+ njob_savelist++; -+ jp->next = job_savelist; -+ job_savelist = jp; -+ } -+ else -+ free((void*)jp); - } - return(r); - } diff --git a/workaround-stupid-build-system.diff b/workaround-stupid-build-system.diff index 87dfffa..b2a5ea3 100644 --- a/workaround-stupid-build-system.diff +++ b/workaround-stupid-build-system.diff @@ -1,280 +1,36 @@ +--- src/cmd/INIT/Mamfile ++++ src/cmd/INIT/Mamfile 2008-02-14 13:08:36.767057298 +0100 +@@ -5,7 +5,7 @@ setv AR ar + setv ARFLAGS cr + setv AS as + setv ASFLAGS +-setv CC cc ++setv CC gcc + setv mam_cc_FLAGS + setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} + setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} +@@ -27,7 +27,7 @@ setv NMAKE nmake + setv NMAKEFLAGS + setv PR pr + setv PRFLAGS +-setv SHELL /bin/sh ++setv SHELL /bin/bash + setv SILENT + setv TAR tar + setv YACC yacc --- src/cmd/INIT/iffe.sh -+++ src/cmd/INIT/iffe.sh 2007-04-03 12:04:01.646371815 +0200 ++++ src/cmd/INIT/iffe.sh 2008-02-14 13:15:58.967127270 +0100 @@ -1052,7 +1052,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; --*) echo $command: $1: unknown option >&2 exit 2 ;; -- -*) REM=`echo $1 | sed -e 's,-,,'` -+ -*) REM=`echo -$1 | sed -e 's,^--,,'` +- -*) REM=`echo X$1 | sed 's,X-,,'` ++ -*) REM=`echo -$1 | sed 's,^--,,'` ;; *) break ;; ---- src/cmd/INIT/Mamfile -+++ src/cmd/INIT/Mamfile 2006-03-24 16:37:10.000000000 +0100 -@@ -5,7 +5,7 @@ setv AR ar - setv ARFLAGS cr - setv AS as - setv ASFLAGS --setv CC cc -+setv CC gcc - setv mam_cc_FLAGS - setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} - setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} -@@ -27,7 +27,7 @@ setv NMAKE nmake - setv NMAKEFLAGS - setv PR pr - setv PRFLAGS --setv SHELL /bin/sh -+setv SHELL /bin/bash - setv SILENT - setv TAR tar - setv YACC yacc ---- src/cmd/ksh93/Mamfile -+++ src/cmd/ksh93/Mamfile 2007-03-30 15:02:30.693912442 +0200 -@@ -7,7 +7,7 @@ setv AR ar - setv ARFLAGS cr - setv AS as - setv ASFLAGS --setv CC cc -+setv CC gcc - setv mam_cc_FLAGS - setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} - setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} -@@ -29,7 +29,7 @@ setv NMAKE nmake - setv NMAKEFLAGS - setv PR pr - setv PRFLAGS --setv SHELL /bin/sh -+setv SHELL /bin/bash - setv SILENT - setv TAR tar - setv YACC yacc -@@ -684,7 +684,7 @@ prev ${PACKAGE_ast_INCLUDE}/ast.h implic - done sh/main.c - meta main.o %.c>%.o sh/main.c main - prev sh/main.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -D_PACKAGE_ast -DSHOPT_ESH -DSHOPT_KIA -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -c sh/main.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -D_PACKAGE_ast -DSHOPT_ESH -DSHOPT_KIA -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -c sh/main.c - done main.o generated - make nvdisc.o - make sh/nvdisc.c -@@ -1106,7 +1106,7 @@ prev ${PACKAGE_ast_INCLUDE}/ccode.h impl - done sh/trestore.c - meta trestore.o %.c>%.o sh/trestore.c trestore - prev sh/trestore.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -DSHOPT_ESH -c sh/trestore.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -DSHOPT_ESH -c sh/trestore.c - done trestore.o generated - make waitevent.o - make sh/waitevent.c -@@ -1345,7 +1345,7 @@ prev +ljobs - prev +li - prev ${mam_libsocket} - prev ${mam_libsecdb} --exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libast} -+exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libast} - done ksh generated - make shcomp - make shcomp.o -@@ -1368,7 +1368,7 @@ prev ${mam_libsocket} - prev ${mam_libsecdb} - setv CC.DLL -UCC.DLL - setv SH_DICT -DSH_DICT="\"libshell\"" --exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libast} -+exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libast} - done shcomp generated - make suid_exec - make suid_exec.o ---- src/lib/libast/Mamfile -+++ src/lib/libast/Mamfile 2007-03-28 17:45:49.748548000 +0200 -@@ -5,7 +5,7 @@ setv AR ar - setv ARFLAGS cr - setv AS as - setv ASFLAGS --setv CC cc -+setv CC gcc - setv mam_cc_FLAGS ${mam_cc_DLL} -D_BLD_ast - setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} - setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} -@@ -27,7 +27,7 @@ setv NMAKE nmake - setv NMAKEFLAGS - setv PR pr - setv PRFLAGS --setv SHELL /bin/sh -+setv SHELL /bin/bash - setv SILENT - setv TAR tar - setv YACC yacc -@@ -478,7 +478,7 @@ done misc/findlib.h - done misc/fastfind.c - meta fastfind.o %.c>%.o misc/fastfind.c fastfind - prev misc/fastfind.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Imisc -Iinclude -Istd -D_PACKAGE_ast -c misc/fastfind.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Imisc -Iinclude -Istd -D_PACKAGE_ast -c misc/fastfind.c - done fastfind.o generated - make hashalloc.o - make hash/hashalloc.c -@@ -913,7 +913,7 @@ make lcgen - make port/lcgen.c - prev std/stdio.h implicit - done port/lcgen.c --exec - ${CC} -o lcgen port/lcgen.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -o lcgen port/lcgen.c - done lcgen generated - make port/lc.tab - done port/lc.tab -@@ -1458,7 +1458,7 @@ done sfio/sfhdr.h - done port/mc.c - meta mc.o %.c>%.o port/mc.c mc - prev port/mc.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c port/mc.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c port/mc.c - done mc.o generated - make base64.o - make string/base64.c -@@ -2756,7 +2756,7 @@ prev include/ast.h implicit - done comp/spawnveg.c - meta spawnveg.o %.c>%.o comp/spawnveg.c spawnveg - prev comp/spawnveg.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/spawnveg.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/spawnveg.c - done spawnveg.o generated - make vfork.o - make comp/vfork.c -@@ -4074,7 +4074,7 @@ prev sfio/sfhdr.h implicit - done sfio/sfrd.c - meta sfrd.o %.c>%.o sfio/sfrd.c sfrd - prev sfio/sfrd.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfrd.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfrd.c - done sfrd.o generated - make sfread.o - make sfio/sfread.c -@@ -4229,7 +4229,7 @@ prev sfio/sfhdr.h implicit - done sfio/sfvprintf.c - meta sfvprintf.o %.c>%.o sfio/sfvprintf.c sfvprintf - prev sfio/sfvprintf.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfvprintf.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfvprintf.c - done sfvprintf.o generated - make sfvscanf.o - make sfio/sfvscanf.c -@@ -6849,58 +6849,31 @@ exec - test '' = 'misc/magic.tab' || ${S - done ${INSTALLROOT}/lib/file/magic generated - prev comp/fmtmsg.h - prev ast_lib.h --exec - case ${mam_cc_HOSTTYPE} in --exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x --exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x --exec - then rm -f 1.${COTEMP}.x --exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h --exec - fi --exec - ;; --exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h > /dev/null || { -+exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x - exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x - exec - then rm -f 1.${COTEMP}.x - exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h - exec - fi --exec - } --exec - ;; --exec - esac -+exec - } - prev comp/libgen.h - prev ast_lib.h --exec - case ${mam_cc_HOSTTYPE} in --exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x --exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x --exec - then rm -f 1.${COTEMP}.x --exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h --exec - fi --exec - ;; --exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h > /dev/null || { -+exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x - exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x - exec - then rm -f 1.${COTEMP}.x - exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h - exec - fi --exec - } --exec - ;; --exec - esac -+exec - } - prev comp/syslog.h - prev ast_lib.h --exec - case ${mam_cc_HOSTTYPE} in --exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x --exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x --exec - then rm -f 1.${COTEMP}.x --exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h --exec - fi --exec - ;; --exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h > /dev/null || { -+exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x - exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x - exec - then rm -f 1.${COTEMP}.x - exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h - exec - fi --exec - } --exec - ;; --exec - esac -+exec - } - make ${INSTALLROOT}/include/ast/prototyped.h - prev ${INSTALLROOT}/include/ast - exec - echo "#include <../prototyped.h>" > 1.${COTEMP}.x ---- src/lib/libcmd/Mamfile -+++ src/lib/libcmd/Mamfile 2007-03-28 17:46:26.661392000 +0200 -@@ -7,7 +7,7 @@ setv AR ar - setv ARFLAGS cr - setv AS as - setv ASFLAGS --setv CC cc -+setv CC gcc - setv mam_cc_FLAGS ${mam_cc_DLL} - setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} - setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} -@@ -29,7 +29,7 @@ setv NMAKE nmake - setv NMAKEFLAGS - setv PR pr - setv PRFLAGS --setv SHELL /bin/sh -+setv SHELL /bin/bash - setv SILENT - setv TAR tar - setv YACC yacc -@@ -556,7 +556,7 @@ make id.o - prev id.c - meta id.o %.c>%.o id.c id - prev id.c --exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -D_BLD_cmd -D_PACKAGE_ast -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2007 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -c id.c -+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -D_BLD_cmd -D_PACKAGE_ast -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2007 AT&T Knowledge Ventures][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -c id.c - done id.o generated - make join.o - prev join.c ---- src/lib/libdll/Mamfile -+++ src/lib/libdll/Mamfile 2006-03-24 16:50:04.000000000 +0100 -@@ -7,7 +7,7 @@ setv AR ar - setv ARFLAGS cr - setv AS as - setv ASFLAGS --setv CC cc -+setv CC gcc - setv mam_cc_FLAGS ${mam_cc_DLL} - setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} - setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} -@@ -29,7 +29,7 @@ setv NMAKE nmake - setv NMAKEFLAGS - setv PR pr - setv PRFLAGS --setv SHELL /bin/sh -+setv SHELL /bin/bash - setv SILENT - setv TAR tar - setv YACC yacc --- src/cmd/INIT/mamake.c -+++ src/cmd/INIT/mamake.c 2007-10-29 13:46:59.000000000 +0000 ++++ src/cmd/INIT/mamake.c 2008-02-14 13:08:36.807062371 +0100 @@ -117,7 +117,7 @@ USAGE_LICENSE #define set(b,o) ((b)->nxt=(b)->buf+(o)) #define use(b) (*(b)->nxt=0,(b)->nxt=(b)->buf) @@ -328,3 +84,253 @@ return 0; } +--- src/cmd/ksh93/Mamfile ++++ src/cmd/ksh93/Mamfile 2008-02-14 13:18:36.295076346 +0100 +@@ -7,7 +7,7 @@ setv AR ar + setv ARFLAGS cr + setv AS as + setv ASFLAGS +-setv CC cc ++setv CC gcc + setv mam_cc_FLAGS + setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} + setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} +@@ -29,7 +29,7 @@ setv NMAKE nmake + setv NMAKEFLAGS + setv PR pr + setv PRFLAGS +-setv SHELL /bin/sh ++setv SHELL /bin/bash + setv SILENT + setv TAR tar + setv YACC yacc +@@ -693,7 +693,7 @@ prev ${PACKAGE_ast_INCLUDE}/ast.h implic + done sh/main.c + meta main.o %.c>%.o sh/main.c main + prev sh/main.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -D_PACKAGE_ast -DSHOPT_ESH -DSHOPT_KIA -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -c sh/main.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSHOPT_BRACEPAT -D_PACKAGE_ast -DSHOPT_ESH -DSHOPT_KIA -D_BLD_shell -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DKSHELL -DSHOPT_SUID_EXEC -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -c sh/main.c + done main.o generated + make nvdisc.o + make sh/nvdisc.c +@@ -1115,7 +1115,7 @@ prev ${PACKAGE_ast_INCLUDE}/ccode.h impl + done sh/trestore.c + meta trestore.o %.c>%.o sh/trestore.c trestore + prev sh/trestore.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -DSHOPT_ESH -c sh/trestore.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -D_BLD_shell -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_BRACEPAT -DSHOPT_MULTIBYTE -DSHOPT_PFSH -DSHOPT_KIA -DSHOPT_HISTEXPAND -DSHOPT_DYNAMIC -DERROR_CONTEXT_T=Error_context_t -DSHOPT_ESH -c sh/trestore.c + done trestore.o generated + make waitevent.o + make sh/waitevent.c +@@ -1350,7 +1350,7 @@ prev +ljobs + prev +li + prev ${mam_libsocket} + prev ${mam_libsecdb} +-exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libast} ++exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o ksh pmain.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libast} + done ksh generated + make shcomp + make shcomp.o +@@ -1374,7 +1374,7 @@ prev ${mam_libsocket} + prev ${mam_libsecdb} + setv CC.DLL -UCC.DLL + setv SH_DICT -DSH_DICT="\"libshell\"" +-exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libast} ++exec - ${CC} ${CCLDFLAGS} ${mam_cc_FLAGS} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -o shcomp shcomp.o ${mam_libshell} ${mam_libnsl} ${mam_libdl} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libast} + done shcomp generated + make suid_exec + make suid_exec.o +--- src/lib/libast/Mamfile ++++ src/lib/libast/Mamfile 2008-02-14 13:08:36.851067951 +0100 +@@ -5,7 +5,7 @@ setv AR ar + setv ARFLAGS cr + setv AS as + setv ASFLAGS +-setv CC cc ++setv CC gcc + setv mam_cc_FLAGS ${mam_cc_DLL} -D_BLD_ast + setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} + setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} +@@ -27,7 +27,7 @@ setv NMAKE nmake + setv NMAKEFLAGS + setv PR pr + setv PRFLAGS +-setv SHELL /bin/sh ++setv SHELL /bin/bash + setv SILENT + setv TAR tar + setv YACC yacc +@@ -479,7 +479,7 @@ done misc/findlib.h + done misc/fastfind.c + meta fastfind.o %.c>%.o misc/fastfind.c fastfind + prev misc/fastfind.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Imisc -Iinclude -Istd -D_PACKAGE_ast -c misc/fastfind.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Imisc -Iinclude -Istd -D_PACKAGE_ast -c misc/fastfind.c + done fastfind.o generated + make hashalloc.o + make hash/hashalloc.c +@@ -914,7 +914,7 @@ make lcgen + make port/lcgen.c + prev std/stdio.h implicit + done port/lcgen.c +-exec - ${CC} -o lcgen port/lcgen.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -o lcgen port/lcgen.c + done lcgen generated + make port/lc.tab + done port/lc.tab +@@ -1483,7 +1483,7 @@ done sfio/sfhdr.h + done port/mc.c + meta mc.o %.c>%.o port/mc.c mc + prev port/mc.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c port/mc.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c port/mc.c + done mc.o generated + make base64.o + make string/base64.c +@@ -2817,7 +2817,7 @@ prev include/ast.h implicit + done comp/spawnveg.c + meta spawnveg.o %.c>%.o comp/spawnveg.c spawnveg + prev comp/spawnveg.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/spawnveg.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c comp/spawnveg.c + done spawnveg.o generated + make vfork.o + make comp/vfork.c +@@ -4138,7 +4138,7 @@ prev sfio/sfhdr.h implicit + done sfio/sfrd.c + meta sfrd.o %.c>%.o sfio/sfrd.c sfrd + prev sfio/sfrd.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfrd.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfrd.c + done sfrd.o generated + make sfread.o + make sfio/sfread.c +@@ -4293,7 +4293,7 @@ prev sfio/sfhdr.h implicit + done sfio/sfvprintf.c + meta sfvprintf.o %.c>%.o sfio/sfvprintf.c sfvprintf + prev sfio/sfvprintf.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfvprintf.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c sfio/sfvprintf.c + done sfvprintf.o generated + make sfvscanf.o + make sfio/sfvscanf.c +@@ -6931,64 +6931,37 @@ done ${INSTALLROOT}/lib/file/magic gener + make ${INSTALLROOT}/include/ast/fmtmsg.h + prev comp/fmtmsg.h + prev ast_lib.h +-exec - case ${mam_cc_HOSTTYPE} in +-exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x +-exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x +-exec - then rm -f 1.${COTEMP}.x +-exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h +-exec - fi +-exec - ;; +-exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h > /dev/null || { ++exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h > /dev/null || { + exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x + exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x + exec - then rm -f 1.${COTEMP}.x + exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h + exec - fi +-exec - } +-exec - ;; +-exec - esac ++exec - } + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/fmtmsg.h generated + make ${INSTALLROOT}/include/ast/libgen.h + prev comp/libgen.h + prev ast_lib.h +-exec - case ${mam_cc_HOSTTYPE} in +-exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x +-exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x +-exec - then rm -f 1.${COTEMP}.x +-exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h +-exec - fi +-exec - ;; +-exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h > /dev/null || { ++exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h > /dev/null || { + exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x + exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x + exec - then rm -f 1.${COTEMP}.x + exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h + exec - fi +-exec - } +-exec - ;; +-exec - esac ++exec - } + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/libgen.h generated + make ${INSTALLROOT}/include/ast/syslog.h + prev comp/syslog.h + prev ast_lib.h +-exec - case ${mam_cc_HOSTTYPE} in +-exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x +-exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x +-exec - then rm -f 1.${COTEMP}.x +-exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h +-exec - fi +-exec - ;; +-exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h > /dev/null || { ++exec - silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h > /dev/null || { + exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x + exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x + exec - then rm -f 1.${COTEMP}.x + exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h + exec - fi +-exec - } +-exec - ;; +-exec - esac ++exec - } + prev ast_namval.h implicit + prev ${INSTALLROOT}/include/prototyped.h implicit + done ${INSTALLROOT}/include/ast/syslog.h generated +--- src/lib/libcmd/Mamfile ++++ src/lib/libcmd/Mamfile 2008-02-14 13:08:36.855068459 +0100 +@@ -7,7 +7,7 @@ setv AR ar + setv ARFLAGS cr + setv AS as + setv ASFLAGS +-setv CC cc ++setv CC gcc + setv mam_cc_FLAGS ${mam_cc_DLL} + setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} + setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} +@@ -29,7 +29,7 @@ setv NMAKE nmake + setv NMAKEFLAGS + setv PR pr + setv PRFLAGS +-setv SHELL /bin/sh ++setv SHELL /bin/bash + setv SILENT + setv TAR tar + setv YACC yacc +@@ -566,7 +566,7 @@ make id.o + prev id.c + meta id.o %.c>%.o id.c id + prev id.c +-exec - ${CC} ${mam_cc_FLAGS} ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${CCFLAGS.FORCE}?} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -D_BLD_cmd -D_PACKAGE_ast -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2008 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -c id.c ++exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -D_BLD_cmd -D_PACKAGE_ast -DUSAGE_LICENSE=\""[-author?Glenn Fowler ][-author?David Korn ][-copyright?Copyright (c) 1992-2008 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -c id.c + done id.o generated + make join.o + prev join.c +--- src/lib/libdll/Mamfile ++++ src/lib/libdll/Mamfile 2008-02-14 13:08:36.891073025 +0100 +@@ -7,7 +7,7 @@ setv AR ar + setv ARFLAGS cr + setv AS as + setv ASFLAGS +-setv CC cc ++setv CC gcc + setv mam_cc_FLAGS ${mam_cc_DLL} + setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}?} + setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} +@@ -29,7 +29,7 @@ setv NMAKE nmake + setv NMAKEFLAGS + setv PR pr + setv PRFLAGS +-setv SHELL /bin/sh ++setv SHELL /bin/bash + setv SILENT + setv TAR tar + setv YACC yacc