OBS User unknown 2008-02-15 00:27:23 +00:00 committed by Git OBS Bridge
parent 70087f4412
commit cb59d4526d
18 changed files with 794 additions and 893 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b6ea117003ec4535012a4a3139fbb746e0ad54c57ef6ba5cf662f46d797a9f60
size 259047

3
INIT.2008-02-02.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9403a61b6612f686ecc79133d66bbd8f858c8edf80dc080c0dcf4666b48c5fef
size 261240

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d9c8d632c2959bd1736fe47fd6825c255e1bda2df238a64518c22456ce9711b
size 1316142

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49eb47611c7eeab64b05ff9fbf38689fad4ad965ff5db21a036940ebae559624
size 1332631

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:68024ce12942b0f0edec721dadd7672249e18d2df545dc58ea750b10da6b4a85
size 1663103

View File

@ -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 <n>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
<ast_map.h>
* 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 <wchar.h> 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

234
ksh.spec
View File

@ -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 <kpv@research.att.com>
%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 <n>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
<ast_map.h>
* 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 <wchar.h> 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

View File

@ -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

View File

@ -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 <sys/mount.h>
+#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__

View File

@ -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);

View File

@ -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<<fd);
return(r);
@@ -1276,10 +1276,31 @@
/* make sure table is large enough */
if(sh.topfd >= 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;

View File

@ -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 <str> 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 <ctype.h>
#include <mc.h>
--- 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 <stk.h>
--- 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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 */

View File

@ -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 <ast.h>
#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"),

67
ksh93-signals.dif Normal file
View File

@ -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 <ast.h>
#include "shtable.h"
#include "fault.h"
+#include "jobs.h"
#if defined(SIGCLD) && !defined(SIGCHLD)
# define SIGCHLD SIGCLD

View File

@ -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)

View File

@ -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 =

View File

@ -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);
}

View File

@ -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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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 <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-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