diff --git a/.gitignore b/.gitignore index 3fb8379..855ef10 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ INIT.2010-07-01.tgz /INIT.2010-11-22.tgz /ast-ksh.2010-12-01.tgz /INIT.2010-12-01.tgz +/ast-ksh.2010-12-12.tgz +/INIT.2010-12-12.tgz diff --git a/ksh-20101201-filerace.patch b/ksh-20101201-filerace.patch deleted file mode 100644 index 58988d4..0000000 --- a/ksh-20101201-filerace.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up ksh-20101201/src/cmd/ksh93/include/defs.h.filerace ksh-20101201/src/cmd/ksh93/include/defs.h ---- ksh-20101201/src/cmd/ksh93/include/defs.h.filerace 2010-11-03 21:04:52.000000000 +0100 -+++ ksh-20101201/src/cmd/ksh93/include/defs.h 2010-12-06 16:09:05.823823786 +0100 -@@ -162,6 +162,7 @@ struct shared - Namval_t *last_table; /* last table used in last nv_open */ \ - Namval_t *prev_table; /* previous table used in nv_open */ \ - Sfio_t *outpool; /* ouput stream pool */ \ -+ pid_t outpipepid; \ - long timeout; /* read timeout */ \ - short curenv; /* current subshell number */ \ - short jobenv; /* subshell number for jobs */ \ -diff -up ksh-20101201/src/cmd/ksh93/sh/io.c.filerace ksh-20101201/src/cmd/ksh93/sh/io.c ---- ksh-20101201/src/cmd/ksh93/sh/io.c.filerace 2010-12-02 16:39:41.000000000 +0100 -+++ ksh-20101201/src/cmd/ksh93/sh/io.c 2010-12-06 16:07:57.424149190 +0100 -@@ -1418,7 +1418,7 @@ int sh_redirect(Shell_t *shp,struct iono - } - if(!np) - { -- if(flag==0 || tname) -+ if(flag==0 || tname || (flag==1 && fn==1 && (shp->fdstatus[fn]&IONOSEEK) && shp->outpipepid && shp->outpipepid==getpid())) - { - if(fd==fn) - { -diff -up ksh-20101201/src/cmd/ksh93/sh/xec.c.filerace ksh-20101201/src/cmd/ksh93/sh/xec.c ---- ksh-20101201/src/cmd/ksh93/sh/xec.c.filerace 2010-12-02 21:56:45.000000000 +0100 -+++ ksh-20101201/src/cmd/ksh93/sh/xec.c 2010-12-06 16:09:54.632932987 +0100 -@@ -2947,6 +2947,7 @@ pid_t _sh_fork(Shell_t *shp,register pid - #if !_std_malloc - vmtrace(-1); - #endif -+ shp->outpipepid = ((flags&FPOU)?getpid():0); - /* This is the child process */ - if(shp->trapnote&SH_SIGTERM) - sh_exit(SH_EXITSIG|SIGTERM); diff --git a/ksh.spec b/ksh.spec index 2380667..c01ee79 100644 --- a/ksh.spec +++ b/ksh.spec @@ -1,12 +1,12 @@ -%global releasedate 2010-12-01 +%global releasedate 2010-12-12 Name: ksh Summary: The Original ATT Korn Shell URL: http://www.kornshell.com/ Group: System Environment/Shells License: CPL -Version: 20101201 -Release: 2%{?dist} +Version: 20101212 +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 @@ -20,9 +20,6 @@ Patch1: ksh-20070328-builtins.patch #fix regression test suite to be usable during packagebuild - Fedora/RHEL specific Patch2: ksh-20100826-fixregr.patch -#fix file io race condition, for ksh < 20101206 -Patch3: ksh-20101201-filerace.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Conflicts: pdksh Requires: coreutils, glibc-common, diffutils diff --git a/sources b/sources index d97b977..1ed5f9e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -8cf883e762743ddd9dbbfe510a40fa26 INIT.2010-12-01.tgz -a3ce51bb966869699e43282cce6f7fff ast-ksh.2010-12-01.tgz +adc6739f3365f8cb6e1d2f8ff249f5ea ast-ksh.2010-12-12.tgz +84b7edfddad2e929a3fcb8e753d46f3b INIT.2010-12-12.tgz