ksh/ksh.spec

654 lines
27 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ksh (Version 93s)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# 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
BuildRequires: libbz2-devel
%endif
Url: http://www.research.att.com/~gsf/download/
License: Common Public License Version 1.0 (CPL1.0)
Group: System/Shells
PreReq: /bin/ln /bin/rm /etc/bash.bashrc /bin/true
AutoReqProv: on
Version: 93s
Release: 87
Summary: Korn Shell
BuildRoot: %{_tmppath}/%{name}-%{version}-build
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
Patch2: ksh-qemu.patch
Patch3: ksh93-shift_ijs.dif
Patch4: ksh93-gmt2utc.dif
Patch5: ksh93-uname.dif
Patch6: ksh93-vi.dif
Patch7: ksh93-profile.dif
Patch8: ksh93-test.dif
Patch9: ksh93-compat.dif
Patch10: ksh93-suid_exec.dif
Patch11: ksh93-signals.dif
Patch12: ksh93-limits.dif
%description
The original Korn Shell. The ksh is an sh-compatible command
interpreter that executes commands read from standard input or from a
file.
Authors:
--------
David Korn <dgk@research.att.com>
Glenn Fowler <gsf@research.att.com>
Phong Vo <kpv@research.att.com>
%package -n ksh-devel
Summary: Korn Shell development environment
Group: Development/Libraries/C and C++
Requires: ksh = %{version}-%{release}
AutoReqProv: on
%description -n ksh-devel
The package includes C header files and the static libraries together
with the shared libraries for linking with other projects. Please be
aware that the CPL licensed code can not be used within GPL licensed
project.
Authors:
--------
David Korn <dgk@research.att.com>
Glenn Fowler <gsf@research.att.com>
Phong Vo <kpv@research.att.com>
%prep
%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
%patch2
%endif
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10
%patch11
%patch12
%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.
#
IGNORE="-Wno-missing-braces -Wno-unknown-pragmas -Wno-parentheses"
IGNORE="$IGNORE -Wno-char-subscripts -Wno-uninitialized -Wno-implicit"
#
# 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="$FEATURE -DSH_CMDLIB_DIR=\\\"/%{_lib}/ast/bin\\\""
FEATURE="$FEATURE -DDEFSHELL=\\\"/bin/ksh\\\""
FEATURE="$FEATURE -DTHISPROG=\\\"/%{_lib}/ast/bin/suid_exec\\\""
#
#
echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 -
if ./test64 ; then
LARGEFILE=""
else
LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
fi
rm -f ./test64
RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/ +-g[0-9]?//')
CCFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE $LARGEFILE -fPIC"
CCFLAGS="$CCFLAGS -fno-strict-aliasing -g -pipe $IGNORE $FEATURE"
LDFLAGS="-lm"
HOSTTYPE=${RPM_ARCH%%*-linux*}
CC=gcc
mam_cc_L=use
UNIVERSE=att
export CCFLAGS LDFLAGS CC mam_cc_L UNIVERSE
bin/package make CC=$CC cc=$CC
root=$(echo ${PWD}/arch/linux*)
test -d $root || exit 1
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 $? -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"
;;
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"
;;
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"
;;
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"
;;
esac
soname="-Wl,-soname,${lib}.so.${vers%.*},-stats"
pushd ${root}/${base}
$CC -shared $soname -o ${root}/lib/${lib}.so.${vers} ${obj} $link
ln -sf ${lib}.so.${vers} ${root}/lib/${lib}.so.${vers%.*}
ln -sf ${lib}.so.${vers} ${root}/lib/${lib}.so
popd
done
base=src/cmd/ksh93
test=${PWD}/${base}/tests
pushd ${root}/${base}
rm -f libshell.a
rm -f ${root}/bin/ksh
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
pushd ${test}
sleep 5
LD_LIBRARY_PATH=${root}/lib SHELL=${root}/bin/ksh ${root}/bin/ksh shtests
popd
pushd ${root}/bin
set -- $(LD_LIBRARY_PATH=${root}/lib PATH=$PATH:. shcomp --version 2>&1)
eval version=\${$#}
LD_LIBRARY_PATH=${root}/lib PATH=$PATH:. shcomp --nroff 2>&1 | \
sed 's/\(\.TH .*\)/\1 "2003-03-02" "" "Korn shell utilities"/' > ../man/man1/shcomp.1
popd
popd
%install
root=$(echo ${PWD}/arch/linux*)
test -d $root || exit 1
pushd $root || exit 1
mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}/%{_lib}/ast/bin
mkdir -p %{buildroot}%{_includedir}/ast
mkdir -p %{buildroot}%{_libdir}/ast
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/
# install bin/suid_exec %{buildroot}/%{_lib}/ast/bin/
ln -sf /bin/true %{buildroot}/bin/ksh
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/
for so in %{buildroot}/%{_lib}/ast/*.so.*.* ; do
so=${so##*/}
ln -sf /%{_lib}/ast/$so %{buildroot}%{_libdir}/ast/${so%%%%.*}.so
done
rm -f %{buildroot}%{_libdir}/ast/*.so.*
install -m 0644 lib/*.a %{buildroot}%{_libdir}/ast/
install -m 0644 man/man1/sh.1 %{buildroot}%{_mandir}/man1/ksh.1
install -m 0644 man/man1/shcomp.1 %{buildroot}%{_mandir}/man1/shcomp.1
for man in man/man3/*.3 ; do
man=${man##*/}
ast=${man}ast
install -m 0644 man/man3/${man} %{buildroot}%{_mandir}/man3/${ast}
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 %{S:21} .
#
# (cat > %{buildroot}%{_sysconfdir}/permissions.d/ksh) <<-EOF
# /%{_lib}/ast/bin/suid_exec root:root 4711
# EOF
# (cat > %{buildroot}%{_sysconfdir}/permissions.d/ksh.paranoid) <<-EOF
# /%{_lib}/ast/bin/suid_exec root:root 0711
# EOF
%post
test -e etc/bash.bashrc && ln -sf bash.bashrc etc/ksh.kshrc || true
if test -x %{_lib}/ast/bin/ksh ; then
rm -f bin/ksh
ln -sf /%{_lib}/ast/bin/ksh bin/ksh
rm -f usr/bin/ksh
ln -sf /%{_lib}/ast/bin/ksh usr/bin/ksh
fi
%postun
if test ! -x %{_lib}/ast/ksh ; then
if test ! -x bin/pdksh ; then
rm -f etc/ksh.kshrc
fi
if test ! -e bin/ksh ; then
rm -f bin/ksh usr/bin/ksh
fi
fi
%files -f ksh.lang
%defattr(-,root,root)
#%{_sysconfdir}/permissions.d/ksh
#%{_sysconfdir}/permissions.d/ksh.paranoid
%doc LICENSE src/cmd/ksh93/COMPATIBILITY src/cmd/ksh93/RELEASE*
%doc Builtins PROMO OBSOLETE MEMORANDUM
%doc %{_mandir}/man1/*.1.gz
%ghost %verify(not link) /bin/ksh
%ghost %verify(not link) %{_bindir}/ksh
%{_bindir}/rksh
%{_bindir}/shcomp
%dir /%{_lib}/ast
%dir /%{_lib}/ast/bin
/%{_lib}/ast/bin/ksh
/%{_lib}/ast/bin/shcomp
#%attr(4711,root,root) /%{_lib}/ast/bin/suid_exec
/%{_lib}/ast/*.so.*
%files -n ksh-devel
%defattr(-,root,root)
%doc LICENSE Warning
%dir %{_libdir}/ast/
%{_libdir}/ast/*.so
%{_libdir}/ast/*.a
%doc %{_mandir}/man3/*
%{_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
singal handler after a failed program execution (bug #343111)
* Tue Nov 20 2007 werner@suse.de
- Fix bug in mbchar() macro to be able to run test for bug #341594
- Make option -n for echo builtin work even for AT&T universe
* Fri Nov 16 2007 werner@suse.de
- Fix the bug fix, that is decrement current size (bug #341594)
* Fri Nov 16 2007 werner@suse.de
- Enable signal handling for non-interactive mode (bug #339875)
- Ignore signal QUIT always (bug #339875)
- Ignore signal INT in case of waiting on a job (bug #339875)
- Handle multibyte chars in variable expansion (bug #341594)
* Mon Oct 29 2007 werner@suse.de
- Work around a double -g problem which breaks debugging builds
* Mon Sep 17 2007 werner@suse.de
- Update to bugfix version 2007-06-28 of ksh93s+ (bug #263053)
* In vi insert mode, ksh no longer emits a backspace character
before the carriage return when the newline is entered
* A bug in which pipefail would cause a command to return 0
when the pipeline was the last command and the failure
happened on a component other than the last has been fixed
* A bug in the expansion of ${var/pattern/rep} when pattern
or rep contained a left parenthesis in single quotes has
been fixed
* The braces for a subscripted variable with ${var[sub]} are
now optional when inside [[...]], ((...)) or as a subscript
* A bug in brace expansion in which single and double quotes
did not treat the comma as a literal character has been fixed
* The -p option of whence now disables -v
* Several bug fixes in compound variables and arrays of arrays
have been made
* A bug in which the %%B format of printf was affected by the
locale has been fixed
* A bug in which \ was not removed in the replacement pattern
with ${var/pattern/rep} when it was not followed by \ or a
digit has been fixed
* A bug in which ksh -R file core dumped if no script was
specified has been fixed, it now displays an error message
* Added additional Solaris signals to signal table
* A bug in which a pipeline with command substitution inside
a function could cause a pipeline that invokes this function
to hang when the pipefail option is on has been fixed
* Added -q to whence
* A small memory leak with each redirection of a non-builtin
has been fixed
- Fix many wrong detected limits for Linux like INT_MAX
- Adapt FS3D file system: mount(2) of Linux uses five arguments
- Fix bug in pointer arithmetic: after reallocation the addresses
of the old area of an pointer array are changed (bug #300653)
- Overflow in keytrap(): strncpy(3) does not append ASCII 0 if
buffer is fully used
- This updated version includes fix for bug #268488
- Enable the AT&T UNIVERSE for ksh as pdksh does, see bug #249783
* Wed Jun 20 2007 werner@suse.de
- Fix pointer arithmetics within sh_trim() (bug #284611)
* Tue Jun 19 2007 werner@suse.de
- Correct bug ID (bug #284580)
* Fri May 25 2007 werner@suse.de
- Minor issuse like file permissions
* Thu May 03 2007 werner@suse.de
- Fix string conversion for high unsigned numbers (bug #268488)
* Wed Apr 04 2007 werner@suse.de
- Minor correction for builtin uname -i
* Mon Apr 02 2007 werner@suse.de
- Update to ksh93s+ (bug #239215)
- Be sure that iffe can handle option -n even if bash is used
* Fri Mar 30 2007 werner@suse.de
- Disable AT&T UNIVERSE change
* Wed Mar 28 2007 werner@suse.de
- Reset exit status in case of catching SIGCONT (bug #254649)
- Use the AT&T UNIVERSE for ksh as pdksh does (bug #249783)
* Fri Jan 12 2007 werner@suse.de
- Do not use binary OR instead of a logic OR (#233299)
- Help the compile time and run time linker (#233299)
* Mon Nov 20 2006 werner@suse.de
- Avoid that a sub shell close required file descriptors (#222411)
* Fri Nov 10 2006 werner@suse.de
- On ia64 a cast of an integer to a character pointer and back to
an long integer may results into an unaligned access, fix this
in the SIGWINCH handler (bug #209643)
* Tue Nov 07 2006 ro@suse.de
- fix permissions for manpages
* Mon Jul 10 2006 werner@suse.de
- Don't trim backslash part of a multibyte character away (#189239)
* Tue Jul 04 2006 werner@suse.de
- Builtin cut: allow last line without newline (#189231)
- Utility shcomp: fix segfault and install it (#189778)
* Tue Jun 27 2006 werner@suse.de
- No segmentation fault if ksh uses shared command libray (#188404)
* Tue Jun 20 2006 werner@suse.de
- Make it build even on new beta with new glibc headers
* Wed May 31 2006 werner@suse.de
- Fix segmentation fault in vi command line mode (bug #179917)
* Mon May 29 2006 werner@suse.de
- Make -i and -p option of uname builtin work (bug #178962)
* Tue May 09 2006 werner@suse.de
- Change PreRequire /bin/bash to /etc/bash.bashrc (bug #172633)
* Mon May 08 2006 werner@suse.de
- Correct order of souring order of the users profile and the
system kshrc files (bug #172753)
* Wed Apr 19 2006 werner@suse.de
- Do not source system rc files if ksh is not interactive
- Correct string from GMT to UTC for Universal Time Coordinates
* Wed Apr 19 2006 werner@suse.de
- Fix the patch for the multi byte characters (bug #163665)
* Tue Apr 18 2006 werner@suse.de
- Fix multi byte handling even for command line mode emacs/vi
* Thu Apr 06 2006 werner@suse.de
- Handle multi byte characters within macro expansion (bug #163665)
* Mon Mar 27 2006 werner@suse.de
- Update to ksh 93r
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Dec 20 2005 werner@suse.de
- Move manual pages of libast to an own subsection 3ast (#140295)
* Fri Dec 16 2005 werner@suse.de
- Make it build even with bash 3.1 and gcc 4.1.0
* Thu Nov 17 2005 uli@suse.de
- disabled some tests on ARM (occasionally hang QEMU)
* Mon Oct 24 2005 werner@suse.de
- PreReqire the bash to get the system wide bash.bashrc
* Mon Sep 19 2005 werner@suse.de
- Make it compatible with parallel installed pdksh (bug #105126)
* Mon Sep 19 2005 werner@suse.de
- Avoid useless gcc warning of autogenerated sources
* Tue Aug 16 2005 werner@suse.de
- Move to group System/Shells (bug #104920)
* Wed Apr 13 2005 werner@suse.de
- Make it compile with gcc4
* Thu Mar 24 2005 werner@suse.de
- Correct initialization for got_sigwinch variable
* Wed Mar 23 2005 werner@suse.de
- Update to release date 2005-02-02 (bug #18698, bug #74348)
* Wed Mar 09 2005 werner@suse.de
- Fix dead link in documentation (bug #71733)
* Fri Feb 04 2005 werner@suse.de
- More on winsize changes: now it works after a new prompt
just like in the pdksh.
* Fri Feb 04 2005 schwab@suse.de
- Workaround broken build system and enable building shared libraries on
x86-64.
* Thu Feb 03 2005 werner@suse.de
- Do not build shared version on x64_86 the ELF macro R_X64_86_32S
breaks that a local symbol
- Make it work on s390x
* Thu Feb 03 2005 werner@suse.de
- Make winsize changes work
- Enable /etc/ksh.kshrc support
- lchmod is not implemented under Linux
- error_exit does never return
- Enable shared libraries instead of the static ones
- Add a warning about CPL versus GPL
* Wed Feb 02 2005 werner@suse.de
- Initial version of the AT&T ksh now under CPL1.0 (bug #3698)