Hello community,
here is the log from the commit of package sysvinit
checked in at Wed Oct 31 17:42:12 CET 2007.
--------
--- sysvinit/sysvinit.changes 2007-06-20 15:35:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/sysvinit/sysvinit.changes 2007-10-31 17:23:24.967957000 +0100
@@ -1,0 +2,5 @@
+Wed Oct 31 17:20:49 CET 2007 - werner(a)suse.de
+
+- startproc: add option -T sec to finish waiting if parent exits
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysvinit.spec ++++++
--- /var/tmp/diff_new_pack.K11691/_old 2007-10-31 17:39:18.000000000 +0100
+++ /var/tmp/diff_new_pack.K11691/_new 2007-10-31 17:39:18.000000000 +0100
@@ -17,12 +17,12 @@
%define SCVER 1.08
%define SIVER 2.86
%define START 0.50
-License: GNU General Public License (GPL)
+License: GPL v2 or later
Group: System/Base
PreReq: coreutils
-Autoreqprov: on
+AutoReqProv: on
Version: 2.86
-Release: 85
+Release: 105
Summary: SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: sysvinit-2.86.tar.bz2
@@ -94,9 +94,7 @@
pushd ../startpar-%{START}
%patch -P 14
popd
-
%_fixowner .
-
%_fixgroup .
/bin/chmod -Rf a+rX,g-w,o-w .
@@ -282,8 +280,9 @@
%doc %{_mandir}/man8/sulogin.8.gz
%doc %{_mandir}/man8/telinit.8.gz
%doc %{_mandir}/man8/startpar.8.gz
-
%changelog
+* Wed Oct 31 2007 - werner(a)suse.de
+- startproc: add option -T sec to finish waiting if parent exits
* Wed Jun 20 2007 - coolo(a)suse.de
- startpar: mark started processes as running
* Mon Jun 18 2007 - werner(a)suse.de
++++++ killproc-2.12.dif ++++++
--- /var/tmp/diff_new_pack.K11691/_old 2007-10-31 17:39:18.000000000 +0100
+++ /var/tmp/diff_new_pack.K11691/_new 2007-10-31 17:39:18.000000000 +0100
@@ -1,5 +1,5 @@
--- Makefile
-+++ Makefile 2007-06-18 16:40:20.300899354 +0200
++++ Makefile 2007-06-18 16:40:20.300899000 +0200
@@ -53,6 +53,7 @@ UBINPRG =
ifeq ($(DISTRO),SuSE)
@@ -44,7 +44,7 @@
/* No pid file means that we have to search in /proc/ */
free(pid_file);
--- fsync.1
-+++ fsync.1 2007-06-18 16:45:14.768333714 +0200
++++ fsync.1 2007-06-18 16:45:14.768333000 +0200
@@ -0,0 +1,39 @@
+.\"
+.\" Copyright 2007 Werner Fink, 2007 SuSE GmbH Nuernberg, Germany.
@@ -86,7 +86,7 @@
+.SH AUTHOR
+Werner Fink <werner(a)suse.de>
--- fsync.c
-+++ fsync.c 2007-06-18 16:37:20.393692218 +0200
++++ fsync.c 2007-06-18 16:37:20.393692000 +0200
@@ -0,0 +1,89 @@
+/*
+ * fsync.c File data sync for the specified file
@@ -177,3 +177,146 @@
+ fprintf(stderr, "%s: %s\n", argv[1], strerror(errno));
+ exit (1);
+}
+--- killproc.c
++++ killproc.c 2007-10-31 17:09:10.502940783 +0100
+@@ -26,8 +26,9 @@
+ #define OTHERSIG "HUP"
+
+ #define USAGE "Usage:\n"\
+- "\t%s [-v] [-t<sec>] [-g|-G] [-SIG] /full/path/to/program\n" \
+- "\t%s -l\n", we_are, we_are
++ " %s [-v] [-q] [-L] [-g|-G] [-N] [-p pid_file] [-i ingnore_file] \\\n"\
++ " [-c root] [-t<sec>] [-SIG] /full/path/to/executable\n"\
++ " %s -l\n", we_are, we_are
+
+ static int do_kill(const char *name, const pid_t proc, const int sig,
+ const int group_leader, const int process_group);
+--- startproc.8
++++ startproc.8 2007-10-31 16:53:55.193901107 +0100
+@@ -15,30 +15,32 @@ Start_daemon \- Start processes identifi
+ .SH SYNOPSIS
+ .\"
+ .B startproc
+-.RB [ -f ]
+-.RB [ -L ]
+-.RB [[ "-n "] +/-<prio> ]
+-.RB [ -s ]
+-.RB [ "-t
++.RB [ \-f ]
++.RB [ \-L ]
++.RB [[ "\-n "] +/\-<prio> ]
++.RB [ \-s ]
++.RB [ \-t
++.I sec
++.RB | \-T
+ .IR sec ]
+-.RB [ "-u"
++.RB [ \-u
+ .IR user ]
+-.RB [ "-g"
++.RB [ \-g
+ .IR group ]
+-.RB [ "-v" "] [" "-e" "] [" -l
++.RB [ \-v "] [" \-e "] [" \-l
+ .I log_file
+-.RB | -q | -d ]
+-.RB [ -p
++.RB | \-q | \-d ]
++.RB [ \-p
+ .IR pid_file ]
+-.RB [ -i
++.RB [ \-i
+ .IR ignore_file ]
+-.RB [ -c
++.RB [ \-c
+ .IR root ]
+ .IR /path/to/executable " [" "arguments for executable" ]
+ .PP
+ .B start_daemon
+-.RB [ -f ]
+-.RB [ "-n " +/-<prio> ]
++.RB [ \-f ]
++.RB [ "\-n " +/\-<prio> ]
+ .IR /path/to/executable " [" "arguments for executable" ]
+ .\"
+ .SH DESCRIPTION
+@@ -192,6 +194,12 @@ for minutes, and
+ .B h
+ for hours to wait.
+ .TP
++.BI \-T " sec"
++The same as for option
++.B \-t
++but wait only on the started process not on childs forked by
++the process.
++.TP
+ .BI \-u " user"
+ Sets the user ID of the process to
+ .IR user .
+--- startproc.c
++++ startproc.c 2007-10-31 17:09:20.172175763 +0100
+@@ -26,14 +26,15 @@
+ #include <grp.h>
+
+ #define USAGE "Usage:\n"\
+- "\t%s [-f] [+/-<prio>] [-s] [-u uid] [-g gid] [-v] [-l log_file|-q] /full/path/to/program\n"
++ " %s [-f] [-L] [[-n ]+/-<prio>] [-s] [-t sec|-T sec] [-u uid] [-g gid] [-v] [-e] \\\n"\
++ " [-l log|-q|-d] [-p pid_file] [-i ignore_file] [-c root] /path/to/executable [args]\n"
+ #define USAGE_SD "Usage:\n"\
+ "\t%s [-f] [-n +/-<prio>] /full/path/to/program\n"
+
+ static int do_fork(const char *name, char *argv[], const char* log_file,
+ const int nicelvl, const int env, const char* root, unsigned short flags);
+
+-static int quiet = 1, supprmsg = 0, sess = 0, seconds = 0, force = 0, dialog = 0;
++static int quiet = 1, supprmsg = 0, sess = 0, seconds = 0, sigchld = 0, force = 0, dialog = 0;
+ static struct passwd *user = NULL;
+ struct group *grp = NULL;
+ static int syslogd = 0;
+@@ -46,6 +47,14 @@ static void sig_quit(int nsig)
+ signaled = 1;
+ }
+
++static void sig_chld(int nsig)
++{
++ if (nsig != SIGCHLD)
++ return;
++ (void)signal(nsig, SIG_DFL);
++ seconds = 0;
++}
++
+ int main(int argc, char **argv)
+ {
+ extern char * we_are;
+@@ -81,7 +90,7 @@ int main(int argc, char **argv)
+ }
+
+ opterr = 0;
+- while ((c = getopt(argc, argv, "+c:edp:l:hqvsu:g:t:n:fLi:")) != -1) { /* `+' is POSIX correct */
++ while ((c = getopt(argc, argv, "+c:edp:l:hqvsu:g:t:n:fLi:T:")) != -1) { /* `+' is POSIX correct */
+ switch (c) {
+ case 'v':
+ quiet = 0;
+@@ -169,6 +178,8 @@ int main(int argc, char **argv)
+ } else
+ error(LSB_WRGSYN,"Option -g requires group id or group name\n");
+ break;
++ case 'T':
++ sigchld++;
+ case 't':
+ if (optarg && optarg[0] != '/' && optarg[0] != '-') {
+ char *endptr;
+@@ -370,8 +381,11 @@ static int do_fork(const char *inname, c
+ error(LSB_PROOF," cannot open %s: %s\n", log_file, strerror(errno));
+ }
+
+- (void)signal(SIGQUIT, sig_quit);
+- (void)signal(SIGCHLD, SIG_DFL);
++ save_sigquit = signal(SIGQUIT, sig_quit);
++ if (sigchld)
++ (void)signal(SIGCHLD, sig_chld);
++ else
++ (void)signal(SIGCHLD, SIG_DFL);
+
+ fflush(stdout);
+ fflush(stderr); /* flush stdout and especially stderr */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org