- updated to 2010-05-27
This commit is contained in:
parent
e3b3c9380a
commit
f8aa9c6019
@ -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
|
||||
|
@ -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;
|
@ -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]);
|
@ -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)
|
@ -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);
|
@ -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
|
29
ksh.spec
29
ksh.spec
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user