ksh updated to 2012-01-01
This commit is contained in:
parent
51febfd963
commit
e31ae3cf50
2
.gitignore
vendored
2
.gitignore
vendored
@ -36,3 +36,5 @@ INIT.2010-07-01.tgz
|
|||||||
/INIT.2011-05-05.tgz
|
/INIT.2011-05-05.tgz
|
||||||
/ast-ksh.2011-06-30.tgz
|
/ast-ksh.2011-06-30.tgz
|
||||||
/INIT.2011-06-30.tgz
|
/INIT.2011-06-30.tgz
|
||||||
|
/ast-ksh.2012-01-01.tgz
|
||||||
|
/INIT.2012-01-01.tgz
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- old/src/cmd/ksh93/sh/xec.c Wed Jun 1 18:03:07 2011
|
|
||||||
+++ old/src/cmd/ksh93/sh/xec.c.orig Tue Jun 7 16:20:47 2011
|
|
||||||
@@ -2963,7 +2963,7 @@
|
|
||||||
#else
|
|
||||||
myjob = job_post(shp,parent,postid);
|
|
||||||
#endif /* SHOPT_BGX */
|
|
||||||
- if(job.waitall && (flags&FPOU))
|
|
||||||
+ if(job.waitall && (flags&FPOU) && !sh_isoption(SH_MONITOR))
|
|
||||||
{
|
|
||||||
job.curjobid = myjob+1;
|
|
||||||
if(job.exitval)
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/include/nval.h.ddotfix ksh-20110630/src/cmd/ksh93/include/nval.h
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/include/nval.h.ddotfix 2011-12-07 14:31:31.793236351 +0100
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/include/nval.h 2011-12-07 14:32:26.357677922 +0100
|
|
||||||
@@ -198,7 +198,7 @@ struct Namval
|
|
||||||
|
|
||||||
/* name-value pair macros */
|
|
||||||
#define nv_isattr(np,f) ((np)->nvflag & (f))
|
|
||||||
-#define nv_onattr(n,f) ((n)->nvflag |= (f))
|
|
||||||
+#define nv_onattr(n,f) ((n)?((n)->nvflag |= (f)):(f))
|
|
||||||
#define nv_offattr(n,f) ((n)->nvflag &= ~(f))
|
|
||||||
#define nv_isarray(np) (nv_isattr((np),NV_ARRAY))
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/sh/xec.c.dontstop ksh-20110630/src/cmd/ksh93/sh/xec.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/sh/xec.c.dontstop 2011-11-29 09:13:47.264075568 +0100
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/sh/xec.c 2011-11-29 09:15:17.679734283 +0100
|
|
||||||
@@ -3382,7 +3382,8 @@ static void sh_funct(Shell_t *shp,Namval
|
|
||||||
struct funenv fun;
|
|
||||||
char *fname = nv_getval(SH_FUNNAMENOD);
|
|
||||||
struct Level *lp =(struct Level*)(SH_LEVELNOD->nvfun);
|
|
||||||
- int level, pipepid=shp->pipepid;
|
|
||||||
+ int level, pipepid=shp->pipepid, comsub=shp->comsub;
|
|
||||||
+ shp->comsub = 0;
|
|
||||||
shp->pipepid = 0;
|
|
||||||
sh_stats(STAT_FUNCT);
|
|
||||||
if(!lp->hdr.disc)
|
|
||||||
@@ -3424,6 +3425,7 @@ static void sh_funct(Shell_t *shp,Namval
|
|
||||||
lp->maxlevel = level;
|
|
||||||
SH_LEVELNOD->nvalue.s = lp->maxlevel;
|
|
||||||
shp->last_root = nv_dict(DOTSHNOD);
|
|
||||||
+ shp->comsub = comsub;
|
|
||||||
#if 0
|
|
||||||
nv_putval(SH_FUNNAMENOD,shp->st.funname,NV_NOFREE);
|
|
||||||
#else
|
|
@ -1,20 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/sh/jobs.c.orig ksh-20110630/src/cmd/ksh93/sh/jobs.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/sh/jobs.c.orig 2011-08-12 11:50:39.059283656 +0200
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/sh/jobs.c 2011-08-12 11:52:02.237911639 +0200
|
|
||||||
@@ -1103,7 +1103,7 @@ static struct process *job_bystring(regi
|
|
||||||
|
|
||||||
int job_kill(register struct process *pw,register int sig)
|
|
||||||
{
|
|
||||||
- Shell_t *shp = pw->p_shp;
|
|
||||||
+ Shell_t *shp;
|
|
||||||
register pid_t pid;
|
|
||||||
register int r;
|
|
||||||
const char *msg;
|
|
||||||
@@ -1116,6 +1116,7 @@ int job_kill(register struct process *pw
|
|
||||||
errno = ECHILD;
|
|
||||||
if(pw==0)
|
|
||||||
goto error;
|
|
||||||
+ shp = pw->p_shp;
|
|
||||||
pid = pw->p_pid;
|
|
||||||
#if SHOPT_COSHELL
|
|
||||||
if(pw->p_cojob)
|
|
@ -1,21 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/edit/edit.c.histfix ksh-20110630/src/cmd/ksh93/edit/edit.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/edit/edit.c.histfix 2011-03-03 16:20:03.000000000 +0100
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/edit/edit.c 2011-12-07 15:55:50.576089698 +0100
|
|
||||||
@@ -1655,7 +1655,7 @@ int ed_histgen(Edit_t *ep,const char *pa
|
|
||||||
History_t *hp;
|
|
||||||
off_t offset;
|
|
||||||
int ac=0,l,m,n,index1,index2;
|
|
||||||
- char *cp, **argv, **av, **ar;
|
|
||||||
+ char *cp, **argv=NULL, **av, **ar;
|
|
||||||
if(!(hp=ep->sh->gd->hist_ptr))
|
|
||||||
return(0);
|
|
||||||
if(*pattern=='#')
|
|
||||||
@@ -1734,7 +1734,7 @@ int ed_histgen(Edit_t *ep,const char *pa
|
|
||||||
mplast->next = 0;
|
|
||||||
}
|
|
||||||
ep->hlist = (Histmatch_t**)argv;
|
|
||||||
- ep->hfirst = ep->hlist[0];
|
|
||||||
+ ep->hfirst = ep->hlist ? ep->hlist[0] : NULL;
|
|
||||||
return(ep->hmax=ac);
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/sh/subshell.c.ifsfix ksh-20110630/src/cmd/ksh93/sh/subshell.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/sh/subshell.c.ifsfix 2011-06-09 15:16:19.000000000 +0200
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/sh/subshell.c 2011-08-03 07:58:55.749400810 +0200
|
|
||||||
@@ -304,7 +304,7 @@ static void nv_restore(struct subshell *
|
|
||||||
register Namval_t *mp, *np;
|
|
||||||
const char *save = sp->shpwd;
|
|
||||||
Namval_t *mpnext;
|
|
||||||
- int flags;
|
|
||||||
+ int flags,nofree;
|
|
||||||
sp->shpwd = 0; /* make sure sh_assignok doesn't save with nv_unset() */
|
|
||||||
for(lp=sp->svar; lp; lp=lq)
|
|
||||||
{
|
|
||||||
@@ -327,7 +327,9 @@ static void nv_restore(struct subshell *
|
|
||||||
nv_setsize(mp,nv_size(np));
|
|
||||||
if(!(flags&NV_MINIMAL))
|
|
||||||
mp->nvenv = np->nvenv;
|
|
||||||
- mp->nvfun = np->nvfun;
|
|
||||||
+ nofree = mp->nvfun?mp->nvfun->nofree:0;
|
|
||||||
+ if((mp->nvfun = np->nvfun) && nofree)
|
|
||||||
+ mp->nvfun->nofree = nofree;
|
|
||||||
if(nv_isattr(np,NV_IDENT))
|
|
||||||
{
|
|
||||||
nv_offattr(np,NV_IDENT);
|
|
@ -1,19 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/sh/jobs.c.pidlimit ksh-20110630/src/cmd/ksh93/sh/jobs.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/sh/jobs.c.pidlimit 2011-10-06 08:38:59.800632676 +0200
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/sh/jobs.c 2011-10-06 08:39:51.434808924 +0200
|
|
||||||
@@ -1983,13 +1983,13 @@ void job_subrestore(void* ptr)
|
|
||||||
for(jp=bck.list; jp; jp=jp->next)
|
|
||||||
if (!jp->next)
|
|
||||||
end = jp;
|
|
||||||
-
|
|
||||||
if(end)
|
|
||||||
end->next = bp->list;
|
|
||||||
else
|
|
||||||
bck.list = bp->list;
|
|
||||||
bck.count += bp->count;
|
|
||||||
-
|
|
||||||
+ while(bck.count > shgd->lim.child_max)
|
|
||||||
+ job_chksave(0);
|
|
||||||
for(pw=job.pwlist; pw; pw=pwnext)
|
|
||||||
{
|
|
||||||
pwnext = pw->p_nxtjob;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up ksh-20110630/src/cmd/ksh93/bltins/read.c.tmoutfix ksh-20110630/src/cmd/ksh93/bltins/read.c
|
|
||||||
--- ksh-20110630/src/cmd/ksh93/bltins/read.c.tmoutfix 2011-09-22 09:30:20.421888036 +0200
|
|
||||||
+++ ksh-20110630/src/cmd/ksh93/bltins/read.c 2011-09-22 09:31:14.148350534 +0200
|
|
||||||
@@ -726,7 +726,7 @@ done:
|
|
||||||
if(!was_share)
|
|
||||||
sfset(iop,SF_SHARE,0);
|
|
||||||
nv_close(np);
|
|
||||||
- if((flags>>D_FLAG) && (shp->fdstatus[fd]&IOTTY))
|
|
||||||
+ if(shp->fdstatus[fd]&IOTTY)
|
|
||||||
tty_cooked(fd);
|
|
||||||
if(flags&S_FLAG)
|
|
||||||
hist_flush(shp->gd->hist_ptr);
|
|
36
ksh.spec
36
ksh.spec
@ -1,12 +1,12 @@
|
|||||||
%global releasedate 2011-06-30
|
%global releasedate 2012-01-01
|
||||||
|
|
||||||
Name: ksh
|
Name: ksh
|
||||||
Summary: The Original ATT Korn Shell
|
Summary: The Original ATT Korn Shell
|
||||||
URL: http://www.kornshell.com/
|
URL: http://www.kornshell.com/
|
||||||
Group: System Environment/Shells
|
Group: System Environment/Shells
|
||||||
License: CPL
|
License: EPL
|
||||||
Version: 20110630
|
Version: 20120101
|
||||||
Release: 9%{?dist}
|
Release: 1%{?dist}
|
||||||
Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.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
|
Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz
|
||||||
Source3: kshrc.rhs
|
Source3: kshrc.rhs
|
||||||
@ -20,22 +20,6 @@ Patch1: ksh-20070328-builtins.patch
|
|||||||
#fix regression test suite to be usable during packagebuild - Fedora/RHEL specific
|
#fix regression test suite to be usable during packagebuild - Fedora/RHEL specific
|
||||||
Patch2: ksh-20100826-fixregr.patch
|
Patch2: ksh-20100826-fixregr.patch
|
||||||
|
|
||||||
# for ksh < 2011-08-03
|
|
||||||
Patch3: ksh-20110630-ifsfix.patch
|
|
||||||
|
|
||||||
# sent upstream, for ksh <= 2011-08-12
|
|
||||||
Patch4: ksh-20110630-fixkill.patch
|
|
||||||
|
|
||||||
Patch5: ksh-20110630-tmoutfix.patch
|
|
||||||
|
|
||||||
Patch6: ksh-20110630-joblimit.patch
|
|
||||||
|
|
||||||
Patch7: ksh-20110630-dontstop.patch
|
|
||||||
|
|
||||||
Patch8: ksh-20110630-ddotfix.patch
|
|
||||||
|
|
||||||
Patch9: ksh-20110630-histfix.patch
|
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
Conflicts: pdksh
|
Conflicts: pdksh
|
||||||
Requires: coreutils, glibc-common, diffutils
|
Requires: coreutils, glibc-common, diffutils
|
||||||
@ -56,13 +40,6 @@ with "sh" (the Bourne Shell).
|
|||||||
%setup -q -T -D -a 1
|
%setup -q -T -D -a 1
|
||||||
%patch1 -p1 -b .builtins
|
%patch1 -p1 -b .builtins
|
||||||
%patch2 -p1 -b .fixregr
|
%patch2 -p1 -b .fixregr
|
||||||
%patch3 -p1 -b .ifsfix
|
|
||||||
%patch4 -p1 -b .fixkill
|
|
||||||
%patch5 -p1 -b .tmoutfix
|
|
||||||
%patch6 -p1 -b .joblimit
|
|
||||||
%patch7 -p1 -b .dontstop
|
|
||||||
%patch8 -p1 -b .ddotfix
|
|
||||||
%patch9 -p1 -b .histfix
|
|
||||||
|
|
||||||
#/dev/fd test does not work because of mock
|
#/dev/fd test does not work because of mock
|
||||||
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
|
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
|
||||||
@ -75,7 +52,7 @@ export CCFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
|||||||
export CC=gcc
|
export CC=gcc
|
||||||
./bin/package "make"
|
./bin/package "make"
|
||||||
|
|
||||||
cp lib/package/LICENSES/cpl LICENSE
|
cp lib/package/LICENSES/epl LICENSE
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -148,6 +125,9 @@ fi
|
|||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 05 2012 Michal Hlavinka <mhlavink@redhat.com> - 20120101-1
|
||||||
|
- ksh updated to 2012-01-01
|
||||||
|
|
||||||
* Wed Dec 07 2011 Michal Hlavinka <mhlavink@redhat.com> - 20110630-9
|
* Wed Dec 07 2011 Michal Hlavinka <mhlavink@redhat.com> - 20110630-9
|
||||||
- do not crash when browsing through history containing comment (#733813)
|
- do not crash when browsing through history containing comment (#733813)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user