- updated to 2010-05-27

This commit is contained in:
Michal Hlavinka 2010-06-10 15:01:34 +00:00
parent e3b3c9380a
commit f8aa9c6019
8 changed files with 10 additions and 101 deletions

View File

@ -1,2 +1,2 @@
ast-ksh.2010-03-09.tgz
INIT.2010-03-09.tgz
ast-ksh.2010-05-27.tgz
INIT.2010-05-27.tgz

View File

@ -1,23 +0,0 @@
diff -up ksh-20090630/src/cmd/ksh93/sh/jobs.c.jlist ksh-20090630/src/cmd/ksh93/sh/jobs.c
--- ksh-20090630/src/cmd/ksh93/sh/jobs.c.jlist 2009-04-30 00:07:32.000000000 +0200
+++ ksh-20090630/src/cmd/ksh93/sh/jobs.c 2009-08-27 08:51:48.028116714 +0200
@@ -1745,6 +1745,19 @@ static int job_chksave(register pid_t pi
jpold = jp;
jp = jp->next;
}
+ if(jp && (jp==jpold || count<0))
+ {
+ Sfio_t *log = sfopen((Sfio_t*)0,"/tmp/kshlog","a");
+ if(log)
+ {
+ fchmod(sffileno(log),S_IRUSR|S_IRGRP|S_IROTH|S_IWUSR|S_IWGRP|S_IWOTH);
+ sfprintf(log,"chksave loop jp==jpold=%d jpold=%p jp->pid=%d pid=%d count=%d\n",jp==jpold,jpold,jp->pid,pid,bck.count);
+ sfclose(log);
+ sfsync(log);
+ errormsg(SH_DICT,ERROR_warn(0),"job list infinite loop -- this should not happen");
+ abort();
+ }
+ }
if(jp)
{
r = 0;

View File

@ -1,11 +0,0 @@
--- a/src/cmd/ksh93/sh/jobs.c 2010-03-10 23:57:41.000000000 +0530
+++ b/src/cmd/ksh93/sh/jobs.c 2010-04-20 18:12:15.000000000 +0530
@@ -1341,7 +1341,7 @@ int job_wait(register pid_t pid)
sfprintf(sfstderr,"ksh: job line %4d: wait pid=%d critical=%d flags=%o\n",__LINE__,getpid(),job.in_critical,pw->p_flag);
#endif /* DEBUG*/
errno = 0;
- if(sh.coutpipe>=0 && sh.cpid==lastpid)
+ if(sh.coutpipe>=0 && sh.cpid && sh.cpid==lastpid )
{
sh_close(sh.coutpipe);
sh_close(sh.cpipe[1]);

View File

@ -1,14 +0,0 @@
diff -up ksh-20100309/src/cmd/ksh93/bltins/whence.c.fixwh ksh-20100309/src/cmd/ksh93/bltins/whence.c
--- ksh-20100309/src/cmd/ksh93/bltins/whence.c.fixwh 2008-09-19 16:13:40.000000000 +0200
+++ ksh-20100309/src/cmd/ksh93/bltins/whence.c 2010-04-29 12:03:22.744013139 +0200
@@ -234,7 +234,10 @@ static int whence(Shell_t *shp,char **ar
}
}
if(flags&Q_FLAG)
+ {
r |= !cp;
+ pp = 0;
+ }
else if(cp)
{
if(flags&V_FLAG)

View File

@ -1,11 +0,0 @@
diff -up ksh-20100309/src/cmd/ksh93/sh/path.c.pathcrash ksh-20100309/src/cmd/ksh93/sh/path.c
--- ksh-20100309/src/cmd/ksh93/sh/path.c.pathcrash 2010-05-05 14:05:41.670681132 +0200
+++ ksh-20100309/src/cmd/ksh93/sh/path.c 2010-05-05 14:05:41.707584330 +0200
@@ -1437,6 +1437,7 @@ static Pathcomp_t *path_addcomp(Pathcomp
}
for(pp=first, oldpp=0; pp; oldpp=pp, pp=pp->next);
pp = newof((Pathcomp_t*)0,Pathcomp_t,1,len+1);
+ pp->shp = sh_getinterp();
pp->refcount = 1;
memcpy((char*)(pp+1),name,len+1);
pp->name = (char*)(pp+1);

View File

@ -1,15 +0,0 @@
The ed_viread method is used for reading when locale has an encoding that uses
wide characters (utf8 for example). So we need to cook the raw'ed terminal
before exit, otherwise we end up with a terminal that cannot echo.
--- a/src/cmd/ksh93/sh/fault.c 2010-01-18 21:41:18.000000000 +0530
+++ b/src/cmd/ksh93/sh/fault.c 2010-03-10 21:23:56.000000000 +0530
@@ -614,7 +614,7 @@ void sh_done(void *ptr, register int sig
sh_accend();
#endif /* SHOPT_ACCT */
#if SHOPT_VSH || SHOPT_ESH
- if(sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS))
+ if(mbwide()||sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS))
tty_cooked(-1);
#endif
#ifdef JOBS

View File

@ -1,12 +1,12 @@
%define releasedate 2010-03-09
%define releasedate 2010-05-27
Name: ksh
Summary: The Original ATT Korn Shell
URL: http://www.kornshell.com/
Group: System Environment/Shells
License: CPL
Version: 20100309
Release: 6%{?dist}
Version: 20100527
Release: 1%{?dist}
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
Source3: kshrc.rhs
@ -15,21 +15,6 @@ Source4: dotkshrc
#don't use not wanted/needed builtins - Fedora specific
Patch1: ksh-20070328-builtins.patch
#debugging, 435159 - check if there is looped list
Patch2: ksh-20090630-jlist.patch
#sent upstream, 572291 - tty settings not restored after timed out read for utf-8 locale
Patch3: ksh-20100309-restoretty.patch
#sent upstream, rhbz#584704
Patch4: ksh-20100309-compsubst.patch
#sent upstream, rhbz#587127, for ksh <2010-03-19
Patch5: ksh-20100309-fixwhence.patch
#from upstream, rhbz#578582, for ksh <? 2010-04-13
Patch6: ksh-20100309-pathcrash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Conflicts: pdksh
Requires: coreutils, glibc-common, diffutils
@ -47,11 +32,6 @@ with "sh" (the Bourne Shell).
%setup -q -c
%setup -q -T -D -a 1
%patch1 -p1 -b .builtins
%patch2 -p1 -b .jlist
%patch3 -p1 -b .restoretty
%patch4 -p1 -b .compsubst
%patch5 -p1 -b .fixwhence
%patch6 -p1 -b .pathcrash
#/dev/fd test does not work because of mock
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
@ -107,6 +87,9 @@ fi
rm -rf $RPM_BUILD_ROOT
%changelog
* Thu Jun 10 2010 Michal Hlavinka <mhlavink@redhat.com> - 20100527-1
- updated to 2010-05-27
* Mon May 31 2010 Michal Hlavinka <mhlavink@redhat.com> - 20100309-6
- add pathmunge to /etc/kshrc

View File

@ -1,2 +1,2 @@
df8ab5733d1789db00bc2576fb5ecf6f ast-ksh.2010-03-09.tgz
48b71bc6046da85764384169bd17a6dc INIT.2010-03-09.tgz
562b059586f5a8d0ac2c2bcaebf54c1e ast-ksh.2010-05-27.tgz
9c809849f18eeef3023548ccebaf8e0d INIT.2010-05-27.tgz