Author: jajcus Date: Tue Apr 12 08:09:36 2011 GMT Module: packages Tag: HEAD ---- Log message: - pdksh compatibility fix (https://bugs.launchpad.net/upstart/+bug/757244) - Release: 2
---- Files affected: packages/upstart: upstart.spec (1.63 -> 1.64) , upstart-script_fd.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/upstart/upstart.spec diff -u packages/upstart/upstart.spec:1.63 packages/upstart/upstart.spec:1.64 --- packages/upstart/upstart.spec:1.63 Tue Mar 22 19:17:56 2011 +++ packages/upstart/upstart.spec Tue Apr 12 10:09:31 2011 @@ -11,7 +11,7 @@ Summary(pl.UTF-8): Oparty na zdarzeniach demon init Name: upstart Version: 1.2 -Release: 1 +Release: 2 License: GPL v2 Group: Base Source0: http://launchpad.net/upstart/1.x/1.2/+download/%{name}-%{version}.tar.gz @@ -20,6 +20,7 @@ Patch0: pldize.patch # https://code.launchpad.net/~jajcus-jajcus/upstart/state-save-stable/+merge/27053/+preview-diff/+files/preview.diff Patch1: %{name}-state_save.patch +Patch2: %{name}-script_fd.patch Source1: start-ttys.conf Source2: tty.conf Source3: %{name}.sysconfig @@ -65,6 +66,7 @@ %setup -q %patch0 -p1 %{?with_statesave:%patch1 -p0} +%patch2 -p1 cp -a %{SOURCE1} conf cp -a %{SOURCE2} conf @@ -141,6 +143,10 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.64 2011/04/12 08:09:31 jajcus +- pdksh compatibility fix (https://bugs.launchpad.net/upstart/+bug/757244) +- Release: 2 + Revision 1.63 2011/03/22 18:17:56 arekm - up to 1.2; shell redirection fix that broke 1.1 ================================================================ Index: packages/upstart/upstart-script_fd.patch diff -u /dev/null packages/upstart/upstart-script_fd.patch:1.1 --- /dev/null Tue Apr 12 10:09:36 2011 +++ packages/upstart/upstart-script_fd.patch Tue Apr 12 10:09:31 2011 @@ -0,0 +1,78 @@ +diff -dur upstart-1.2.orig/init/job_process.c upstart-1.2/init/job_process.c +--- upstart-1.2.orig/init/job_process.c 2011-03-22 18:18:00.000000000 +0100 ++++ upstart-1.2/init/job_process.c 2011-04-11 10:31:56.000000000 +0200 +@@ -208,12 +208,8 @@ + + shell = TRUE; + +- /* FIXME actually always want it to be /proc/self/fd/3 and +- * dup2() in the child to make it that way ... no way +- * of passing that yet +- */ + cmd = NIH_MUST (nih_sprintf (argv, "%s/%d", +- "/proc/self/fd", fds[0])); ++ "/proc/self/fd", 3)); + NIH_MUST (nih_str_array_addp (&argv, NULL, + &argc, cmd)); + } +@@ -259,7 +255,7 @@ + + /* Spawn the process, repeat until fork() works */ + while ((job->pid[process] = job_process_spawn (job->class, argv, +- env, trace)) < 0) { ++ env, trace, shell?fds[0]:-1)) < 0) { + NihError *err; + + err = nih_error_get (); +@@ -321,7 +317,7 @@ + * a path. Instruct the shell to close this extra fd and + * not to leak it. + */ +- NIH_ZERO (nih_io_printf (io, "exec %d<&-\n", fds[0])); ++ NIH_ZERO (nih_io_printf (io, "exec 3<&-\n")); + + NIH_ZERO (nih_io_write (io, script, strlen (script))); + nih_io_shutdown (io); +@@ -337,6 +333,7 @@ + * @argv: NULL-terminated list of arguments for the process, + * @env: NULL-terminated list of environment variables for the process, + * @trace: whether to trace this process. ++ * @fd3: file descriptor to dup2() to descriptor 3 + * + * This function spawns a new process using the @class details to set up the + * environment for it; the process is always a session and process group +@@ -367,7 +364,8 @@ + job_process_spawn (JobClass *class, + char * const argv[], + char * const *env, +- int trace) ++ int trace, ++ int fd3) + { + sigset_t child_set, orig_set; + pid_t pid; +@@ -566,6 +564,12 @@ + } + } + ++ /* move the script input to file descriptor #3 */ ++ if (fd3 > 3) { ++ dup2(fd3, 3); ++ close(fd3); ++ } ++ + /* Execute the process, if we escape from here it failed */ + if (execvp (argv[0], argv) < 0) { + nih_error_raise_system (); +diff -dur upstart-1.2.orig/init/job_process.h upstart-1.2/init/job_process.h +--- upstart-1.2.orig/init/job_process.h 2011-02-01 19:42:30.000000000 +0100 ++++ upstart-1.2/init/job_process.h 2011-04-11 10:26:33.000000000 +0200 +@@ -80,7 +80,7 @@ + int job_process_run (Job *job, ProcessType process); + + pid_t job_process_spawn (JobClass *class, char * const argv[], +- char * const *env, int trace) ++ char * const *env, int trace, int fd3) + __attribute__ ((warn_unused_result)); + + void job_process_kill (Job *job, ProcessType process); ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/upstart/upstart.spec?r1=1.63&r2=1.64&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
