Dr. Werner Fink 2009-12-09 17:02:59 +00:00 committed by Git OBS Bridge
parent 4aa08ba10f
commit 9957204788
9 changed files with 111 additions and 61 deletions

View File

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

3
INIT.2009-12-06.tar.bz2 Normal file
View File

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

View File

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

View File

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

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Wed Dec 9 18:01:09 CET 2009 - werner@suse.de
- Update to 2009-12-06 beta test of ksh93t+ for bug fixes
09-12-04 A bug in which in some cases a trap in a function executed in
a subshell could trigger twice has been fixed.
09-12-03 A bug in which SHLVL exported with some attributes could cause
the shell to abort at startup has been fixed.
09-12-02 A bug with pipefail in which the shell could hang waiting for the
writer to complete before the last reader command has been fixed.
-------------------------------------------------------------------
Wed Dec 3 10:54:02 CET 2009 - werner@suse.de
- Update to 2009-11-30 beta test of ksh93t+ for bug fixes
09-11-30 A bug in which a trap could be inherited by the first element of
a pipeline when the command had more than 63 arguments that did
not contain any macro expansions has been fixed.
09-11-19 When read from a terminal was called from with a while or foo loop,
and an edit mode was on, a backspace or erase no longer will
overwrite the prompt.
09-11-17 Change .paths parse to handle BUILTIN_LIB=foo BUILTIN_LIB=foo-1.2.
09-11-17 Inside a function, typeset foo.bar will bind foo to global variable
foo if local variable foo does not exist, instead of creating a
local variable.
09-11-17 "read -n1" from the terminal has been fixed to read exactly one character.
09-11-11 Job control now works for subshell commands, (...).
09-11-11 If set -e is on for an interractive shell errors in special builtins
now cause the shell to exit.
09-11-11 A bug in which an interrupt handler processed during the read builtin
when IFS did not contain a new line has been fixed.
09-11-09 A bug in which a variable that has been unset in a subshell and then
exported from that subshell does not show up in the environment
has been fixed.
09-11-02 ",2" is now a valid numeric constant for locales with
decimal_point=','.
09-11-02 A bug where "return" in .profile did not restore the shell state
has been fixed.
09-10-31 A bug that corrupted saved exit status when pids wrapped around has
been fixed.
09-10-26 A bug in { LANG LC_ALL LC_category } ordering has been fixed in -last.
-------------------------------------------------------------------
Fri Oct 30 16:23:36 CET 2009 - werner@suse.de

View File

@ -19,7 +19,10 @@
Name: ksh
BuildRequires: bind-libs bind-utils bison flex gdbm-devel glibc-devel libbz2-devel ncurses-devel procps psmisc pwdutils zlib-devel
BuildRequires: bind-libs bind-utils bison flex gdbm-devel glibc-devel ncurses-devel procps psmisc pwdutils zlib-devel
%if %suse_version > 1020
BuildRequires: libbz2-devel
%endif
Url: http://www.research.att.com/~gsf/download/
License: Common Public License Version 1.0 (CPL1.0)
Group: System/Shells
@ -29,8 +32,8 @@ Version: 93t
Release: 15
Summary: Korn Shell
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: INIT.2009-10-21.tar.bz2
Source1: ast-ksh.2009-10-21.tar.bz2
Source: INIT.2009-12-06.tar.bz2
Source1: ast-ksh.2009-12-06.tar.bz2
Source2: ast-open-locale.2008-07-25.tar.bz2
Source10: leak1.sh
Source11: leak2.sh
@ -134,14 +137,25 @@ find share/ -type d -a -empty | xargs -r rm -vrf
case "${RPM_OPT_FLAGS}" in
*${flag}*) return
esac
if test -n "$1" && gcc -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
if test -n "$1" && g++ -Werror $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
test -z "$1" && return
case "$flag" in
-Wl,*)
set -o noclobber
echo 'int main () { return 0; }' > ldtest.c
if gcc -Werror $flag -o /dev/null -xc ldtest.c > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
set +o noclobber
rm -f ldtest.c
;;
*)
if gcc -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
esac
}
#
LANG=POSIX
@ -254,33 +268,40 @@ find share/ -type d -a -empty | xargs -r rm -vrf
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")
ksht=$(grep -e '-o ksh' $log | tail -n 1 |\
sed "s@+ g\?cc@gcc@;s@-o ksh@-o ${root}/bin/ksh.test@;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")
shcompt=$(grep -e '-o shcomp' $log | tail -n 1 |\
sed "s@+ g\?cc@gcc@;s@-o shcomp@-o ${root}/bin/shcomp.test@;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
${ksht} -Wl,-rpath,${root}/lib
${shcompt} -Wl,-rpath,${root}/lib
${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
OPATH=$PATH
OSHELL=$SHELL
LD_LIBRARY_PATH=${root}/lib
PATH=$PATH:${root}/bin
SHELL=${root}/bin/ksh
export LD_LIBRARY_PATH PATH SHELL
SHELL=${root}/bin/ksh.test
SHCOMP=${root}/bin/shcomp.test
export PATH SHCOMP SHELL
pushd ${test}
${root}/bin/ksh shtests
${root}/bin/ksh %{S:10}
${root}/bin/ksh %{S:11}
${root}/bin/ksh -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
${root}/bin/ksh.test shtests
${root}/bin/ksh.test %{S:10}
${root}/bin/ksh.test %{S:11}
${root}/bin/ksh.test -c 'g="false"; trap "print -u2 PIPED; \$g && exit 0 ; g=true" PIPE ; while true ; do echo hello ; done' | head -n 10
popd
pushd ${root}/bin
PATH=$PATH:.
set -- $(shcomp --version 2>&1)
set -- $(shcomp.test --version 2>&1)
eval version=\${$#}
shcomp --nroff 2>&1 | sed 's/\(\.TH .*\)/\1 "2003-03-02" "" "Korn shell utilities"/' > ../man/man1/shcomp.1
shcomp.test --nroff 2>&1 | sed 's/\(\.TH .*\)/\1 "2003-03-02" "" "Korn shell utilities"/' > ../man/man1/shcomp.1
rm -v ksh.test shcomp.test
popd
SHELL=$OSHELL
PATH=$OPATH
@ -313,8 +334,9 @@ find share/ -type d -a -empty | xargs -r rm -vrf
ln -sf /bin/true %{buildroot}%{_bindir}/ksh
ln -sf /%{_lib}/ast/bin/ksh %{buildroot}%{_bindir}/rksh
ln -sf /%{_lib}/ast/bin/shcomp %{buildroot}%{_bindir}/shcomp
cp -a lib/*.so.* %{buildroot}/%{_lib}/ast/
cp -a fun/* %{buildroot}%{_datadir}/ksh/fun/
ln -sf ast %{buildroot}/%{_lib}/ksh
cp -a lib/*.so* %{buildroot}/%{_lib}/ast/
cp -a fun/* %{buildroot}%{_datadir}/ksh/fun/
for so in %{buildroot}/%{_lib}/ast/*.so.*.* ; do
so=${so##*/}
ln -sf /%{_lib}/ast/$so %{buildroot}%{_libdir}/ast/${so%%%%.*}.so
@ -403,7 +425,8 @@ fi
%if %use_suid_exe
%attr(4755,root,root) /%{_lib}/ast/bin/suid_exec
%endif
/%{_lib}/ast/*.so.*
/%{_lib}/ast/*.so*
/%{_lib}/ksh
%dir %{_datadir}/ksh
%dir %{_datadir}/ksh/fun
%{_datadir}/ksh/fun/*

View File

@ -10,8 +10,8 @@
-r /usr/shlib/libc.so /shlib/libc.so
do case $i in
--- src/lib/libast/features/map.c
+++ src/lib/libast/features/map.c 2007-03-30 18:21:16.084565107 +0200
@@ -60,10 +60,14 @@ main()
+++ src/lib/libast/features/map.c 2009-12-09 12:13:24.423429613 +0100
@@ -66,10 +66,14 @@ main()
#define _map_malloc 1
printf("\n");
printf("#define _map_libc 1\n");
@ -23,9 +23,9 @@
printf("#define dirname _ast_dirname\n");
+#endif
+#if _map_libc
#if !_lib_eaccess
printf("#undef eaccess\n");
printf("#define eaccess _ast_eaccess\n");
#if !_lib_execvpe
--- src/lib/libdll/features/dll
+++ src/lib/libdll/features/dll 2007-03-30 18:40:58.855596004 +0200
@@ -15,7 +15,7 @@ tst dll_DYNAMIC link{

View File

@ -188,10 +188,10 @@
for v in ${v//,/ }
do v=${v#*:}
--- src/cmd/ksh93/tests/locale.sh
+++ src/cmd/ksh93/tests/locale.sh 2009-10-30 13:56:19.623430025 +0100
@@ -115,24 +115,24 @@ set -- $($SHELL -c "
+++ src/cmd/ksh93/tests/locale.sh 2009-12-09 14:01:40.927429385 +0100
@@ -134,11 +134,11 @@
unset LC_CTYPE
export LANG=en_US.UTF-8
export LANG=$locale
export LC_ALL=C
- command wc -C < $tmp/two_euro_chars.txt
+ command wc -m < $tmp/two_euro_chars.txt
@ -204,23 +204,6 @@
")
got=$*
[[ $got == $exp ]] || err_exit "command wc LC_ALL default failed -- expected '$exp', got '$got'"
set -- $($SHELL -c "
- if builtin -f cmd wc 2>/dev/null
+ if builtin wc 2>/dev/null
then unset LC_CTYPE
export LANG=en_US.UTF-8
export LC_ALL=C
- wc -C < $tmp/two_euro_chars.txt
+ wc -m < $tmp/two_euro_chars.txt
unset LC_ALL
- wc -C < $tmp/two_euro_chars.txt
+ wc -m < $tmp/two_euro_chars.txt
export LC_ALL=C
- wc -C < $tmp/two_euro_chars.txt
+ wc -m < $tmp/two_euro_chars.txt
fi
")
got=$*
--- src/cmd/ksh93/tests/path.sh
+++ src/cmd/ksh93/tests/path.sh 2008-09-11 18:02:46.000000000 +0200
@@ -228,7 +228,7 @@ builtin getconf

View File

@ -124,13 +124,13 @@
make suid_exec.o
--- src/lib/libast/Mamfile
+++ src/lib/libast/Mamfile 2008-02-14 13:08:37.000000000 +0100
@@ -5,7 +5,7 @@ setv AR ar
setv ARFLAGS cr
@@ -5,7 +5,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
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 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
@ -224,13 +224,13 @@
done ${INSTALLROOT}/include/ast/syslog.h generated
--- src/lib/libcmd/Mamfile
+++ src/lib/libcmd/Mamfile 2008-02-14 13:08:37.000000000 +0100
@@ -7,7 +7,7 @@ setv AR ar
setv ARFLAGS cr
@@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
setv ARFLAGS -cr
setv AS as
setv ASFLAGS
-setv CC cc
+setv CC gcc
setv mam_cc_FLAGS ${mam_cc_DLL}
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