#ExclusiveArch: x86_64 %define releasedate 2007-03-28 #ExcludeArch: ia64 Name: ksh Summary: The Original ATT Korn Shell URL: http://www.kornshell.com/ Group: Applications/Shells License: Common Public License Version 1.0 Version: 20070328 Release: 2%{?dist} #Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.linux.i386.tgz Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz Source2: http://www.research.att.com/~gsf/download/tgz/ast-base-locale.%{releasedate}.tgz Patch0: ksh-20041225-gcc4.patch Patch1: ksh-20070328-uname.patch Patch2: ksh-20070328-useex.patch Patch3: ksh-20070328-loginsh.patch Patch4: ksh-20070328-leak.patch Patch5: ksh-20070328-exit19.patch Patch6: ksh-20070328-builtins.patch Patch7: ksh-20070328-ttou.patch # for debugging only: #Patch100: ksh-20060124-iffedebug.patch # build information BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Provides: ksh93 Obsoletes: ksh93 Conflicts: pdksh Requires: coreutils, glibc-common, diffutils Requires(post): grep, coreutils Requires(preun): grep, coreutils %description KSH-93 is the most recent version of the KornShell by David Korn of AT&T Bell Laboratories. KornShell is a shell programming language, which is upward compatible with "sh" (the Bourne Shell). %prep %setup -q -c %setup -q -T -D -a 1 %setup -q -T -D -a 2 %patch0 -p1 -b .gcc4 %patch1 -p1 -b .uname %patch2 -p1 -b .use_ex %patch3 -p1 -b .loginsh %patch4 -p1 -b .leak %patch5 -p1 -b .exit19 %patch6 -p1 -b .builtins %patch7 -p1 -b .ttou #patch100 -p1 -b .iffedebug %build ./bin/package "read" ||: export CCFLAGS="$RPM_OPT_FLAGS" export CC=gcc ./bin/package "make" cp lib/package/LICENSES/ast LICENSE %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT{/bin,/usr/bin,%{_mandir}/man1} mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale/{C,pt,fr,de,it,es}/LC_MESSAGES install -c -m 755 arch/*/bin/ksh $RPM_BUILD_ROOT/bin/ksh install -c -m 644 arch/*/man/man1/sh.1 $RPM_BUILD_ROOT%{_mandir}/man1/ksh.1 for i in C pt fr de it es; do install -m 644 share/lib/locale/$i/LC_MESSAGES/* \ $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES/ done ln -sf /bin/ksh $RPM_BUILD_ROOT/usr/bin/ksh %post if [ ! -f /etc/shells ]; then echo "/bin/ksh" > /etc/shells else if ! grep -q '^/bin/ksh$' /etc/shells ; then echo "/bin/ksh" >> /etc/shells fi fi %postun if [ ! -f /bin/ksh ]; then grep -v '^/bin/ksh$' /etc/shells >/etc/shells.new mv /etc/shells.new /etc/shells chmod 644 /etc/shells fi %verifyscript echo -n "Looking for ksh in /etc/shells... " if ! grep '^/bin/ksh$' /etc/shells > /dev/null; then echo "missing" echo "ksh missing from /etc/shells" >&2 else echo "found" fi %files %defattr(-, root, root,-) %doc README LICENSE /bin/* /usr//bin/ksh %{_datadir}/locale/*/LC_MESSAGES/* %{_mandir}/man1/* %clean rm -rf $RPM_BUILD_ROOT %changelog * Tue May 22 2007 Tomas Smetana 20070328-2 - fix wrong exit status of spawned process after SIGSTOP - fix building of debuginfo package, add %%{?dist} to release - fix handling of SIGTTOU in non-interactive shell - remove useless builtins * Thu Apr 19 2007 Tomas Smetana 20070328-1 - new upstream source - fix login shell invocation (#182397) - fix memory leak * Wed Feb 21 2007 Karsten Hopp 20070111-1 - new upstream version - fix invalid write in uname function * Wed Jul 12 2006 Jesse Keating - 20060214-1.1 - rebuild * Thu Jun 01 2006 Karsten Hopp 20060214-1 - new upstream source * Mon Feb 27 2006 Karsten Hopp 20060124-3 - PreReq grep, coreutils (#182835) * Tue Feb 14 2006 Karsten Hopp 20060124-2 - make it build in chroots (#180561) * Mon Feb 13 2006 Karsten Hopp 20060124-1 - version 20060124 * Fri Feb 10 2006 Jesse Keating - 20050202-5.1 - bump again for double-long bug on ppc(64) * Fri Feb 10 2006 Karsten Hopp 20050202-5 - rebuild * Tue Feb 07 2006 Jesse Keating - 20050202-4.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Thu Feb 02 2006 Karsten Hopp 20050202-4 - fix uname -i output - fix loop (*-path.patch) - conflict pdksh instead of obsoleting it * Fri Dec 16 2005 Jesse Keating 20050202-3.1 - rebuilt for new gcj * Tue May 10 2005 Karsten Hopp 20050202-3 - enable debuginfo * Tue Mar 15 2005 Karsten Hopp 20050202-2 - add /usr/bin/ksh link for compatibility with pdksh scripts (#151134) * Wed Mar 02 2005 Karsten Hopp 20050202-1 - update and rebuild with gcc-4 * Tue Mar 01 2005 Karsten Hopp 20041225-2 - fix gcc4 build * Fri Jan 21 2005 Karsten Hopp 20041225-1 - rebuild with new ksh tarball (license change) * Tue Nov 02 2004 Karsten Hopp 20040229-11 - disable ia64 for now * Fri Oct 15 2004 Karsten Hopp 20040229-9 - rebuild * Thu Sep 02 2004 Nalin Dahyabhai 20040229-8 - remove '&' from summary * Thu Sep 02 2004 Bill Nottingham 20040229-7 - obsolete pdksh (#131303) * Mon Aug 02 2004 Karsten Hopp 20040229-6 - obsolete ksh93, provide ksh93 * Mon Jul 05 2004 Karsten Hopp 20040229-3 - add /bin/ksh to /etc/shells * Wed Jun 16 2004 Karsten Hopp 20040229-2 - add ppc64 patch to avoid ppc64 dot symbol problem * Fri May 28 2004 Karsten Hopp 20040229-1 - initial version