Dr. Werner Fink 2009-10-30 13:29:13 +00:00 committed by Git OBS Bridge
parent 8b13f0b233
commit df182c0d65
8 changed files with 134 additions and 30 deletions

View File

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

3
INIT.2009-10-21.tar.bz2 Normal file
View File

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

View File

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

View File

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

View File

@ -1,3 +1,70 @@
-------------------------------------------------------------------
- Update to 2009-10-21 beta test of ksh93t+ for bug fixes
09-10-16 A bug where notification to libast that the environment has changed
has been fixed.
09-10-12 A bug in which a function loaded in a subshell could leave side
effects in the parent shell has been fixed.
09-10-12 A bug in converting a printf %d operand to a number when the operand
contains multiple subscripts for the same variable has been fixed.
09-10-09 A bug in the handling of the escape character \ in directory prefixes
in command completion has been fixed.
09-10-09 $PATH processing has been changed to delay dir stat() and .paths
lookup until the directory is needed in the path search.
09-09-28 Call the ast setlocale() intercept on unset too.
09-09-24 A bug in which LANG=foo; LC_ALL=foo; unset LC_ALL; did not revert
LC_CTYPE etc. to the LANG value has been fixed.
09-09-17 A bug in which unsetting SVLVL could cause a script invoked by
name without #! to core dump has been fixed.
09-09-16 A bug in which a pipeline in a here-document could hang when the
pipefail option was on has been fixed.
09-09-09 A bug in the processing of line joining in here documents which
occurred when a buffer began with <escape><new-line> has been fixed.
09-09-09 A leading ; with commands in a brace group or parenthesis group
no longer causes an error. It now is used for the "showme" option.
09-09-09 A bug in which a subshell containing a background process could
block until the background process completed has been fixed.
09-09-04 A bug in handing ${var[sub]}, where var is a nameref has been fixed.
09-09-03 A bug which caused an index array to have the wrong number of elements
when it was converted from a compound variable by adding an another
element has been fixed.
09-09-03 Specifying export for a compound variable now generates an error.
09-09-02 $"..." localizations strings are no longer recognized inside `...`.
09-09-01 A bug in the for loop optimizer in the handling of type static
variables has been fixed.
09-09-01 An error message is not displayed when * and @ are used as subscripts.
09-09-01 Several bugs in the processing for types that included an associative
array of another type has been fixed.
09-09-01 A bug in the tracing of [[ a < b ]] and [[ a > b ]] has been fixed.
09-08-26 The .sh.file variable was not being set for a script that was run
by name and didn't start with #! and this has been fixed.
09-08-25 A bug in which a function called to deeply from command substitution
did not display an error message has been fixed.
09-08-24 When processing profiles, ksh93 now violates the POSIX standard and
treats &> as a redirection operator similar to bash.
09-08-23 A bug in the handling of the trap on SIGPIPE that could lead to am
memory fault has been fixed.
09-08-21 A bug in the handling of the comma operator in arithmetic expressions
that could cause a core dump on some systems has been fixed.
09-08-20 A bug in which a compound variable containing an array of a type
that doesn't have any elements now expands correctly.
09-08-19 A bug which disabled function tracing inside a function after
a call to another function has been fixed.
09-08-19 A bug in which initializing a compound variable instance to another
compound variable by name has been fixed.
09-08-18 A bug in which compound variable instances could be lost after
an instance that invoked a type method discipline has been fixed.
09-08-18 A bug in which a discipline function for a type applied to an
array instance when invoked in a function ignored the subscript
has been fixed.
09-08-18 A scoping error with variables in arithmetic expression with
type variables when reference with a name reference has been fixed.
09-08-10 Several memory leaks were fixed primarily related to subshells.
09-08-06 A bug in which setting the trap on CHLD to ignore could cause
a script to hang has been fixed.
09-07-08 A bug in the processing of name reference assignments when it
contained pattern expansions with quoting has been fixed.
-------------------------------------------------------------------
Wed Aug 26 14:03:10 CEST 2009 - werner@suse.de

View File

@ -29,8 +29,8 @@ Version: 93t
Release: 15
Summary: Korn Shell
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: INIT.2009-06-30.tar.bz2
Source1: ast-ksh.2009-06-30.tar.bz2
Source: INIT.2009-10-21.tar.bz2
Source1: ast-ksh.2009-10-21.tar.bz2
Source2: ast-open-locale.2008-07-25.tar.bz2
Source10: leak1.sh
Source11: leak2.sh
@ -53,8 +53,6 @@ Patch11: ksh93-signals.dif
Patch12: ksh93-limits.dif
Patch14: ksh93-ia64.dif
Patch15: ksh93-s390.dif
Patch16: ksh93-memleak.dif
Patch17: ksh93-pipe.dif
Patch42: ksh93-debugleaks.dif
%global use_suid_exe 0
%global use_locale 0
@ -121,8 +119,6 @@ find share/ -type d -a -empty | xargs -r rm -vrf
%patch14
%endif
%patch15
%patch16
%patch17
%if %debug_memleak
%patch42
%endif
@ -160,7 +156,7 @@ find share/ -type d -a -empty | xargs -r rm -vrf
# Do not use -DSHOPT_SPAWN=1 and/or -DSHOPT_AMP=1 this would cause
# errors due race conditions while executing the test suite.
#
FEATURE="-DSHOPT_SYSRC=1 -DSHOPT_REMOTE=1 -DSHOPT_CMDLIB_BLTIN=1"
FEATURE="-DSHOPT_SYSRC=1 -DSHOPT_REMOTE=1 -DSHOPT_CMDLIB_BLTIN=1 -DSHOPT_CMDLIB_DIR=1"
FEATURE="$FEATURE -DSH_CMDLIB_DIR=\\\"/%{_lib}/ast/bin\\\""
FEATURE="$FEATURE -DDEFSHELL=\\\"/bin/ksh\\\""
FEATURE="$FEATURE -DTHISPROG=\\\"/%{_lib}/ast/bin/suid_exec\\\""
@ -182,16 +178,22 @@ find share/ -type d -a -empty | xargs -r rm -vrf
RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/[[:blank:]]+-g[0-9]?//g')
UNIVERSE=att
LDFLAGS="-lm"
LDSOFLG=""
CC=gcc
cflags -std=gnu99 RPM_OPT_FLAGS
cflags -fPIC RPM_OPT_FLAGS
cflags @%{S:22} RPM_OPT_FLAGS
cflags -fno-strict-aliasing RPM_OPT_FLAGS
cflags -fno-zero-initialized-in-bss RPM_OPT_FLAGS
cflags -g RPM_OPT_FLAGS
cflags -pipe RPM_OPT_FLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,--hash-size=16699 LDFLAGS
cflags -std=gnu99 RPM_OPT_FLAGS
cflags -fPIC RPM_OPT_FLAGS
cflags @%{S:22} RPM_OPT_FLAGS
cflags -fno-strict-aliasing RPM_OPT_FLAGS
cflags -fno-zero-initialized-in-bss RPM_OPT_FLAGS
cflags -g RPM_OPT_FLAGS
cflags -pipe RPM_OPT_FLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,--hash-size=16699 LDFLAGS
cflags -Wl,-O2 LDSOFLG
cflags -Wl,-warn-common LDSOFLG
cflags -Wl,--as-needed LDSOFLG
cflags -Wl,--hash-size=8599 LDSOFLG
cflags -Wl,-rpath,/%{_lib}/ast LDSOFLG
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE $LARGEFILE"
RPM_OPT_FLAGS="$RPM_OPT_FLAGS $IGNORE $FEATURE"
HOSTTYPE=${RPM_ARCH%%*-linux*}
@ -207,28 +209,29 @@ find share/ -type d -a -empty | xargs -r rm -vrf
log=${root}/lib/package/gen/make.out
test -s $log || exit 1
for lib in libast libcmd libdll libshell ; do
obj=$(grep -E "ar *cr *${lib}.a" $log | sed "s@+ *ar *cr *${lib}.a@@")
test -s ${root}/lib/${lib}.a || exit 1
obj=$(ar t ${root}/lib/${lib}.a)
test $? -eq 0 || exit 1
case "$lib" in
libshell)
base=src/cmd/ksh93
vers=$(grep ^VERSION ${base}/Makefile | sed "s@.*\([0-9]\+\.[0-9]\+\).*@\1@")
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast -ldll -lcmd -last -lm -ldl"
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib $LDSOFLG $LDFLAGS -ldll -lcmd -last -lm -ldl"
;;
libdll)
base=src/lib/$lib
vers=$(grep :LIBRARY: ${base}/Makefile | sed "s@.*\([0-9]\+\.[0-9]\+\).*@\1@")
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast -ldl -last"
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib $LDSOFLG -ldl -last"
;;
libcmd)
base=src/lib/$lib
vers=$(grep :LIBRARY: ${base}/Makefile | sed "s@.*\([0-9]\+\.[0-9]\+\).*@\1@")
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast -last"
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib $LDSOFLG -last"
;;
libast)
base=src/lib/$lib
vers=$(grep :LIBRARY: ${base}/Makefile | sed "s@.*\([0-9]\+\.[0-9]\+\).*@\1@")
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib -Wl,-rpath,/%{_lib}/ast"
link="-L${root}/lib/ -Wl,-rpath-link,${root}/lib $LDSOFLG"
;;
esac
soname="-Wl,-soname,${lib}.so.${vers%.*},-stats"

View File

@ -271,7 +271,7 @@
#define mbcoll() (ast.mb_xfrm!=0)
#define mbwide() (mbmax()>1)
-#define mbchar(p) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p++,ast.tmp_int)):(*(unsigned char*)(p++)))
-#define mbchar(p) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++)))
#define mbinit() (mbwide()?(*ast.mb_towc)((wchar_t*)0,(char*)0,mbmax()):0)
#define mbsize(p) (mbwide()?(*ast.mb_len)((char*)(p),mbmax()):((p),1))
#define mbconv(s,w) (ast.mb_conv?(*ast.mb_conv)(s,w):((*(s)=(w)),1))
@ -280,8 +280,8 @@
-
+#define mbchar(p) ((mbsize(p)>1) ? \
+ (((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0) ? \
+ ((p+=ast.tmp_int),ast.tmp_wchar) : \
+ (*(unsigned char*)(p++))) : \
+ ({p+=ast.tmp_int;ast.tmp_wchar;}) : \
+ ({ast.tmp_int=*(unsigned char*)p;p+=ast.mb_sync+1;ast.tmp_int;})) : \
+ (*(unsigned char*)(p++)))
/*
* common macros

View File

@ -187,6 +187,40 @@
v=$(getconf LIBPATH)
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 "
unset LC_CTYPE
export LANG=en_US.UTF-8
export LC_ALL=C
- command wc -C < $tmp/two_euro_chars.txt
+ command wc -m < $tmp/two_euro_chars.txt
unset LC_ALL
- command wc -C < $tmp/two_euro_chars.txt
+ command wc -m < $tmp/two_euro_chars.txt
export LC_ALL=C
- command wc -C < $tmp/two_euro_chars.txt
+ command wc -m < $tmp/two_euro_chars.txt
")
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