From d6b4f00512bce50056a0846c3f8ef923b16539fe6081f0c85e5c852888fd1a65 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 21 Oct 2010 10:16:20 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/sysvinit?expand=0&rev=78 --- killproc-2.16.dif | 534 ------------------------------------- killproc-2.17.dif | 4 + killproc-2.17.tar.bz2 | 3 + showconsole-1.12.dif | 109 -------- showconsole-1.13.dif | 4 + showconsole-1.13.tar.bz2 | 3 + sysvinit-2.88dsf-nfs.patch | 21 ++ sysvinit.changes | 12 + sysvinit.spec | 14 +- 9 files changed, 55 insertions(+), 649 deletions(-) delete mode 100644 killproc-2.16.dif create mode 100644 killproc-2.17.dif create mode 100644 killproc-2.17.tar.bz2 delete mode 100644 showconsole-1.12.dif create mode 100644 showconsole-1.13.dif create mode 100644 showconsole-1.13.tar.bz2 create mode 100644 sysvinit-2.88dsf-nfs.patch diff --git a/killproc-2.16.dif b/killproc-2.16.dif deleted file mode 100644 index 44db5da..0000000 --- a/killproc-2.16.dif +++ /dev/null @@ -1,534 +0,0 @@ ---- .dummy -+++ .dummy 2009-08-19 10:18:39.181901099 +0000 -@@ -0,0 +1 @@ -+this is a dummy, remove if real changes are required ---- checkproc.8 -+++ checkproc.8 2010-10-04 14:31:15.675926381 +0000 -@@ -278,6 +278,8 @@ Program is running - No process but pid file found - .IP 3 5 - No process and no pid file found -+.IP 4 5 -+Program is not installed - .RE - .RS 5 - .IP 101 7 ---- checkproc.c -+++ checkproc.c 2010-10-04 14:44:56.355926370 +0000 -@@ -92,7 +92,6 @@ int main(int argc, char **argv) - /* Allocate here: address optarg (current *argv) isn't freeable */ - if (optarg && !pid_file) { - pid_file = xstrdup(optarg); -- pid_forced = true; - } else - error(WRGSYNTAX, "Option -p requires pid file to read pid from\n"); - break; -@@ -148,7 +147,8 @@ int main(int argc, char **argv) - pid_file = (char*) xmalloc(DEFPIDLEN+strlen(basename)+1); - pid_file = strcat(strcat(strcpy(pid_file,DEFPIDDIR),basename),DEFPIDEXT); - } -- } -+ } else -+ pid_forced = true; - - /* Check and verify the pid file */ - errno = 0; -@@ -163,22 +163,27 @@ int main(int argc, char **argv) - * the proc is dead if the specified pid can not be veryfied. - */ - if (remember_pids(pid_file,fullname,root,flags) < 0) -- exit(LSB_PROOFX); -+ exit(LSB_STATUS_PROOFX); - - if (!remember) - exit(LSB_STATUS_NOPROC); /* New LSB: no pid file is no job */ - } -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - if (pid_file && !st.st_size) { - warn("Empty pid file %s for %s\n", pid_file, fullname); - -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ if (pid_forced) -+ exit(LSB_STATUS_NOPROC); -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - /* Check and verify the ignore file */ -@@ -205,6 +210,8 @@ int main(int argc, char **argv) - exit(LSB_STATUS_PROOFX); - } - if (!remember) { /* No process found with pid file */ -+ if (pid_forced) -+ exit(LSB_STATUS_PROOFX); - if (pidof(fullname,root,flags) < 0) - exit(LSB_STATUS_PROOFX); - } ---- killproc.8 -+++ killproc.8 2010-07-20 09:30:00.775424897 +0000 -@@ -57,9 +57,11 @@ is sent. If this program is not called w - .B killproc - then - .B SIGHUP --is used. Note that if -+is used. Note that if no signal is specified on the command line and the program -+.B killproc -+can not terminate a process with the default - .B SIGTERM --is used and does not terminate a process the signal -+the signal - .B SIGKILL - is send after a few seconds (default is 5 seconds, see option - .BR \-t ). -@@ -240,16 +242,21 @@ or by number - .B \-t\fI\fP - The number - .I --specifies the seconds to wait between the sent signal -+specifies the seconds to wait between the default signal - .B SIGTERM - and the subsequentially signal - .B SIGKILL - if the first - .B SIGTERM - does not show any result within the --first few milli seconds. This defaults to -+first few milli seconds. This timeout defaults to - .B 5 --seconds. -+seconds. On the other hand if the signal -+.B SIGTERM -+was explicitly used on the command line, the signal -+.B SIGKILL -+will be omitted, even if the process was not terminated -+after the timeout has expired. - .TP - .B \-q - This option is ignored. -@@ -278,7 +285,7 @@ then the pid from this file is being use - terminate the sendmail process. Other running processes are - ignored. - .TP --.B killproc -p /var/myrun/lpd.pid -TERM /usr/sbin/lpd -+.B killproc -p /var/myrun/lpd.pid /usr/sbin/lpd - .IP - sends the signal - .B SIGTERM -@@ -293,7 +300,7 @@ does not exist, - assumes that the daemon of - .B /usr/sbin/lpd - is not running. The exit status --is set to 0 for successfully delivering the given signals -+is set to 0 for successfully delivering the default signals - .BR SIGTERM " and " SIGKILL - otherwise to 7 if the program was not running. It is also - successful if ---- killproc.c -+++ killproc.c 2010-07-20 09:35:09.234925068 +0000 -@@ -48,6 +48,7 @@ int main(int argc, char **argv) - int process_group = 0, group_leader = 0, wait = 5, iargc = 0; - unsigned short flags = (KILL|PIDOF|KSTOP); - boolean pid_forced = false; -+ boolean sig_forced = true; - - we_are = base_name(argv[0]); - openlog (we_are, LOG_OPTIONS, LOG_FACILITY); -@@ -79,11 +80,13 @@ int main(int argc, char **argv) - memset(sig, 0, len); - *sig = 'q'; /* set dummy option -q */ - snum = tmp; -+ sig_forced = false; - break; - } else if ( (tmp = signame_to_signum(sig)) > 0 ) { - memset(sig, 0, len); - *sig = 'q'; /* set dummy option -q */ - snum = tmp; -+ sig_forced = false; - break; - } - } -@@ -135,7 +138,6 @@ int main(int argc, char **argv) - /* Allocate here: address optarg (current *argv) isn't freeable */ - if (optarg && !pid_file) { - pid_file = xstrdup(optarg); -- pid_forced = true; - } else - error(LSB_WRGSYN,"Option -p requires pid file to read pid from\n"); - break; -@@ -195,7 +197,8 @@ int main(int argc, char **argv) - pid_file = (char*) xmalloc(DEFPIDLEN+strlen(basename)+1); - pid_file = strcat(strcat(strcpy(pid_file,DEFPIDDIR),basename),DEFPIDEXT); - } -- } -+ } else -+ pid_forced = true; - - /* Check and verify the pid file */ - errno = 0; -@@ -215,17 +218,22 @@ int main(int argc, char **argv) - if (!remember) - exit(LSB_NOPROC); /* New LSB: no pid file is no job */ - } -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - if (pid_file && !st.st_size) { - warn("Empty pid file %s for %s\n", pid_file, fullname); - -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ if (pid_forced) -+ exit(LSB_STATUS_NOPROC); -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - if (pid_file) { /* The case of having a pid file */ -@@ -291,7 +299,10 @@ again: - goto again; - } - -- if (snum == SIGKILL) -+ if (snum == SIGKILL) /* SIGKILL was specified on the command line */ -+ goto badterm; -+ -+ if (!sig_forced) /* SIGTERM was specified on the command line */ - goto badterm; - - if (check_pids(fullname,root,flags) < 0) ---- libinit.c -+++ libinit.c 2010-07-27 08:56:18.146924383 +0000 -@@ -320,13 +320,15 @@ static ssize_t xread(int fd, void *inbuf - while (1) { - errno = 0; - bytes = read(fd, inbuf, count); -- if (bytes < 0 && (errno == EINTR || errno == EAGAIN)) -- continue; -- if (bytes < 0) -+ if (bytes < 0) { -+ if (errno == EINTR || errno == EAGAIN) -+ continue; -+ if (errno == ESRCH) -+ goto out; - break; -+ } - goto out; - } -- - warn("xread error: %s\n", strerror(errno)); - out: - errno = olderr; -@@ -446,9 +448,9 @@ static pid_t getpppid(const pid_t ppid) - goto out; - - if ((fp = open(proc(pid, "stat"), O_PROCMODE)) != -1) { -- xread(fp, buf, BUFSIZ); -+ ssize_t len = xread(fp, buf, BUFSIZ); - close(fp); -- if (sscanf(buf,"%*d %*s %*c %d %*d %*d", &pppid) != 1) -+ if (len <= 0 || sscanf(buf,"%*d %*s %*c %d %*d %*d", &pppid) != 1) - warn("can not read ppid for process %d!\n", ppid); - } - out: -@@ -591,10 +593,11 @@ int pidof (const char * inname, const ch - char ent[3]; - boolean thread; - ssize_t len; -+ - len = xread(fp,ent,3); - close(fp); - -- if (!len) -+ if (len <= 0) - continue; - - thread = (strncmp(ent, "0 ", 2) == 0); -@@ -673,7 +676,7 @@ int pidof (const char * inname, const ch - * do not hold a file descriptor opened on the script file. - */ - if (!(flags & (KTHREAD|KSHORT)) && isscrpt && -- (fp = openat(dfd, here(d->d_name, "cmd"), O_PROCMODE)) != -1) { -+ (fp = openat(dfd, here(d->d_name, "cmdline"), O_PROCMODE)) != -1) { - - char entry[PATH_MAX+1]; - const char *scrpt = NULL; -@@ -682,6 +685,9 @@ int pidof (const char * inname, const ch - len = xread(fp, entry, PATH_MAX); - close(fp); - -+ if (len <= 0) -+ continue; -+ - /* Seek for a script not for a binary */ - if (!(scrpt = checkscripts(entry, root, len, d->d_name))) - continue; -@@ -713,7 +719,7 @@ int pidof (const char * inname, const ch - len = xread(fp, entry, PATH_MAX); - close(fp); - -- if (!len) -+ if (len <= 0) - continue; - - comm = index(entry, ' '); -@@ -764,7 +770,8 @@ int verify_pidfile (const char * pid_fil - const char * root, unsigned short flags, - const boolean ignore) - { -- int fp, cnt; -+ int fp; -+ ssize_t cnt; - boolean isscrpt = false; - pid_t pid; - char *swapname = NULL, *bufp; -@@ -789,11 +796,12 @@ int verify_pidfile (const char * pid_fil - } - - errno = 0; -- if ((cnt = xread (fp, buf, BUFSIZ)) < 0) { -+ cnt = xread(fp, buf, BUFSIZ); -+ close(fp); -+ if (cnt < 0) { - warn("Can not read pid file %s: %s\n", pid_file, strerror(errno)); - return -1; - } -- close(fp); - buf[cnt] = '\0'; - - bufp = buf; -@@ -847,10 +855,11 @@ int verify_pidfile (const char * pid_fil - char ent[3]; - boolean thread; - ssize_t len; -+ - len = xread(fp, ent, sizeof(ent)); - close(fp); - -- if (!len) -+ if (len <= 0) - goto out; - - thread = (strncmp(ent, "0 ", 2) == 0); -@@ -923,7 +932,7 @@ int verify_pidfile (const char * pid_fil - } - - if (!(flags & (KTHREAD|KSHORT))&& isscrpt && -- (fp = open(proc(buf, "cmd"), O_PROCMODE)) != -1) { -+ (fp = open(proc(buf, "cmdline"), O_PROCMODE)) != -1) { - - char entry[PATH_MAX+1]; - const char *scrpt = NULL; -@@ -932,6 +941,9 @@ int verify_pidfile (const char * pid_fil - len = xread(fp, entry, PATH_MAX); - close(fp); - -+ if (len <= 0) -+ goto out; -+ - /* Seek for a script not for a binary */ - if (!(scrpt = checkscripts(entry, root, len, buf))) - goto out; /* Nothing found */ -@@ -951,7 +963,7 @@ int verify_pidfile (const char * pid_fil - len = xread(fp, entry, PATH_MAX); - close(fp); - -- if (!len) -+ if (len <= 0) - goto out; - - comm = index(entry, ' '); -@@ -1040,7 +1052,7 @@ int check_pids (const char * inname, con - len = xread(fp, ent, sizeof(ent)); - close(fp); - -- if (!len) -+ if (len <= 0) - goto ignore; /* Bogus */ - - thread = (strncmp(ent, "0 ", 2) == 0); -@@ -1102,7 +1114,7 @@ int check_pids (const char * inname, con - } - - if (!(flags & (KTHREAD|KSHORT)) && isscrpt && -- (fp = open(proc(pid, "cmd"), O_PROCMODE)) != -1) { -+ (fp = open(proc(pid, "cmdline"), O_PROCMODE)) != -1) { - - char entry[PATH_MAX+1]; - const char *scrpt; -@@ -1111,7 +1123,7 @@ int check_pids (const char * inname, con - len = xread(fp, entry, PATH_MAX); - close(fp); - -- if (!len) -+ if (len <= 0) - goto ignore; /* Bogus */ - - /* Seek for a script not for a binary */ -@@ -1131,7 +1143,7 @@ int check_pids (const char * inname, con - len = xread(fp, entry, PATH_MAX); - close(fp); - -- if (!len) -+ if (len <= 0) - goto ignore; /* Bogus */ - - comm = index(entry, ' '); ---- libinit.h -+++ libinit.h 2010-10-04 14:43:56.099926049 +0000 -@@ -93,7 +93,7 @@ - #define NOPIDREAD 101 /* trouble */ - - #define LSB_STATUS_PROOF ((errno == EPERM) ? LSB_NOPERM : NOPIDREAD ) --#define LSB_STATUS_PROOFX ((errno == ENOENT) ? LSB_NOENTR : LSB_STATUS_PROOF ) -+#define LSB_STATUS_PROOFX ((errno == ENOENT) ? (flags & KILL) ? LSB_NOENTR : 4 : LSB_STATUS_PROOF ) - - #define LOG_OPTIONS (LOG_ODELAY|LOG_CONS) - #define LOG_FACILITY LOG_LOCAL7 ---- startproc.8 -+++ startproc.8 2009-12-03 17:00:05.739929445 +0000 -@@ -59,9 +59,15 @@ processes are found. Note that - is designed to start a daemon but not a kernel thread or - a program which enables a kernel thread. - .PP -+Without any option - .B startproc --does not use the pid to search for a process but the full --path of the corresponding program which is used to identify the executable -+does search for a process by using the full -+path of the corresponding program and a default pid file -+.RB (/var/run/ .pid) -+which are used together to identify the executable -+out from the -+.I /proc -+file system - .RB (see " proc" (5)). - Only if the inode number - .RB (/proc/ /exe) -@@ -81,7 +87,7 @@ changed due to the LSB specification). - If this option is specified, - .B startproc - tries to check against the pid read from this file --instead of the default -+instead of the default pid file - .RB (/var/run/ .pid). - The pid read from this file is compared against the pids of possible - running processes that use the specified executable. In order to avoid ---- startproc.c -+++ startproc.c 2009-12-07 14:15:44.487929547 +0000 -@@ -41,7 +41,8 @@ static int do_start(const char *name, ch - static void closefds(FILE *not); - static void waiton(const char *list); - --static int quiet = 1, supprmsg = 0, sess = 0, seconds = 0, sigchld = 0, force = 0, dialog = 0; -+static int quiet = true, supprmsg = false, sess = false, seconds = false; -+static int sigchld = false, force = false, dialog = false; - static struct passwd *user = NULL; - static struct group *grp = NULL; - static int syslogd = 0; -@@ -54,7 +55,7 @@ static void (*save_sigquit) = SIG_DFL; - static void sig_quit(int nsig) - { - (void)signal(nsig, save_sigquit); -- signaled = 1; -+ signaled = true; - } - - static void sig_chld(int nsig) -@@ -113,10 +114,10 @@ int main(int argc, char **argv) - error(LSB_WRGSYN,"Option -c requires special root directory\n"); - break; - case 'e': -- env = 1; -+ env = true; - break; - case 'd': -- dialog = 1; -+ dialog = true; - seconds = 15; - break; - case 'p': /* Former option -f */ -@@ -129,7 +130,7 @@ int main(int argc, char **argv) - error(LSB_WRGSYN,"Option -p requires pid file to read pid from\n"); - break; - case 'f': /* Newer option -f for force start (LSB specs!) */ -- force++; -+ force = true; - break; - case 'l': - if (optarg && optarg[0] != '-' && !log_file) { -@@ -158,11 +159,11 @@ int main(int argc, char **argv) - error(LSB_WRGSYN,"Option -n requires nice level\n"); - break; - case 'q': -- supprmsg = 1; -+ supprmsg = true; - break; - case 's': - if (sdaemon) goto fail; -- sess = 1; -+ sess = true; - break; - case 'u': - if (optarg && optarg[0] != '/' && optarg[0] != '-') { -@@ -288,7 +289,8 @@ int main(int argc, char **argv) - pid_file = (char*) xmalloc(DEFPIDLEN+strlen(basename)+1); - pid_file = strcat(strcat(strcpy(pid_file,DEFPIDDIR),basename),DEFPIDEXT); - } -- } -+ } else -+ force = true; - - /* Check and verify the pid file */ - errno = 0; -@@ -296,17 +298,25 @@ int main(int argc, char **argv) - if (errno != ENOENT) - warn("Can not stat %s: %s\n", pid_file, strerror(errno)); - -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ if (force && errno == ENOENT) -+ goto force; -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - if (pid_file && !st.st_size) { - warn("Empty pid file %s for %s\n", pid_file, fullname); - -- /* No pid file means that we have to search in /proc/ */ - free(pid_file); - pid_file = NULL; -+ -+ if (force) -+ goto force; -+ -+ /* No pid file means that we have to search in /proc/ */ - } - - if (pid_file) { /* The case of having a pid file */ -@@ -336,6 +346,8 @@ int main(int argc, char **argv) - - /* Do main work */ - if (!remember) { /* No process found with pid file */ -+ if (force) -+ goto force; - if (pidof(fullname,root,flags) < 0) - exit(LSB_PROOFX); - clear_pids(); /* Remove all pids which should be ignored */ diff --git a/killproc-2.17.dif b/killproc-2.17.dif new file mode 100644 index 0000000..e8bad6e --- /dev/null +++ b/killproc-2.17.dif @@ -0,0 +1,4 @@ +--- .dummy ++++ .dummy 2010-10-21 09:54:54.587926689 +0000 +@@ -0,0 +1 @@ ++Just a dummy, remove for a real patch diff --git a/killproc-2.17.tar.bz2 b/killproc-2.17.tar.bz2 new file mode 100644 index 0000000..81b6384 --- /dev/null +++ b/killproc-2.17.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a55574a9fa3a0026a09ddd6074000f03fc6d224b61661c655ebec1f2f3be1681 +size 38526 diff --git a/showconsole-1.12.dif b/showconsole-1.12.dif deleted file mode 100644 index b9e20af..0000000 --- a/showconsole-1.12.dif +++ /dev/null @@ -1,109 +0,0 @@ ---- blogd.c -+++ blogd.c 2010-09-30 13:12:50.172426395 +0000 -@@ -193,35 +193,16 @@ static void reconnect(int fd) - if (c->fd != fd) continue; - - switch (c->fd) { -- case 1: /* Standard out */ -- case 2: /* Standard error */ -- -- if ((newfd = open(c->tty, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) -- error("can not open %s: %s\n", c->tty, strerror(errno)); -- -- if (newfd != 1) -- dup2(newfd, 1); -- if (newfd != 2) -- dup2(newfd, 2); -- if (newfd > 2) -- close(newfd); -- -+ case 0: -+ case -1: /* Weired */ - break; -- -- default: /* IO of further consoles */ -- -+ default: /* IO of system consoles */ - if ((newfd = open(c->tty, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) - error("can not open %s: %s\n", c->tty, strerror(errno)); -- -- if (newfd != c->fd) { -- dup2(newfd, c->fd); -+ dup2(newfd, c->fd); -+ if (newfd != c->fd) - close(newfd); -- } -- -- case 0: -- case -1: /* Weired */ -- -- break; -+ break; - } - } - } -@@ -418,10 +399,11 @@ int main(int argc, char *argv[]) - err: - for (c = cons; c; c = c->next) { - if (c->fd > 0) { -- if (c->tlock > 1) /* write back lock if any */ -- (void)ioctl(c->fd, TIOCSLCKTRMIOS, &c->ltio); - if (c->tlock) /* write back old setup */ - tcsetattr(c->fd, TCSANOW, &c->otio); -+ if (c->tlock > 1) /* write back lock if any */ -+ (void)ioctl(c->fd, TIOCSLCKTRMIOS, &c->ltio); -+ c->tlock = 0; - close(c->fd); - c->fd = -1; - } ---- libblogger.c -+++ libblogger.c 2010-10-12 16:12:20.743926028 +0000 -@@ -54,7 +54,7 @@ static int bootlog_init(const int lvl __ - if (!S_ISFIFO(st.st_mode)) - goto out; - -- if ((fdfifo = open(fifo_name, O_WRONLY|O_NONBLOCK)) < 0) -+ if ((fdfifo = open(fifo_name, O_WRONLY|O_NONBLOCK|O_NOCTTY|O_CLOEXEC)) < 0) - goto out; - - ret = 0; ---- libconsole.c -+++ libconsole.c 2010-10-12 16:20:05.187926537 +0000 -@@ -770,7 +770,7 @@ void prepareIO(void (*rfunc)(int), void - (void)mkfifo(fifo_name, 0600); - errno = 0; - if (!stat(fifo_name, &st) && S_ISFIFO(st.st_mode)) { -- if ((fdfifo = open(fifo_name, O_RDWR|O_NOCTTY)) < 0) -+ if ((fdfifo = open(fifo_name, O_RDONLY|O_NOCTTY|O_CLOEXEC)) < 0) - warn("can not open named fifo %s: %s\n", fifo_name, strerror(errno)); - } - } -@@ -788,7 +788,7 @@ static void more_input (struct timeval * - FD_ZERO (&watch); - FD_SET (fdread, &watch); - -- if (fdfifo > 0) { -+ if (fdfifo >= 0) { - FD_SET (fdfifo, &watch); - wfds = (fdread > fdfifo ? fdread : fdfifo) + 1; - } else -@@ -836,7 +836,7 @@ static void more_input (struct timeval * - } - } - -- if (fdfifo > 0 && FD_ISSET(fdfifo, &watch)) { -+ if (fdfifo >= 0 && FD_ISSET(fdfifo, &watch)) { - const ssize_t cnt = safein(fdfifo, (char*)trans, sizeof(trans), noerr); - - if (cnt > 0) { -@@ -1003,6 +1003,10 @@ void closeIO(void) - (void)fclose(flog); - flog = NULL; - xout: -+ if (fdfifo >= 0) { -+ close(fdfifo); -+ fdfifo = -1; -+ } - for (c = cons; c; c = c->next) { - if (c->fd < 0) - continue; diff --git a/showconsole-1.13.dif b/showconsole-1.13.dif new file mode 100644 index 0000000..20a62e7 --- /dev/null +++ b/showconsole-1.13.dif @@ -0,0 +1,4 @@ +--- .dummy ++++ .dummy 2010-10-21 09:54:55.000000000 +0000 +@@ -0,0 +1 @@ ++Just a dummy, remove for a real patch diff --git a/showconsole-1.13.tar.bz2 b/showconsole-1.13.tar.bz2 new file mode 100644 index 0000000..8813058 --- /dev/null +++ b/showconsole-1.13.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f255f0166eddf3431bc498f4dbc12b7ae90234ef9cc37e678fe7532117af315 +size 23873 diff --git a/sysvinit-2.88dsf-nfs.patch b/sysvinit-2.88dsf-nfs.patch new file mode 100644 index 0000000..86ec3ea --- /dev/null +++ b/sysvinit-2.88dsf-nfs.patch @@ -0,0 +1,21 @@ +--- src/killall5.c ++++ src/killall5.c 2010-10-21 09:51:07.771926189 +0000 +@@ -112,8 +112,8 @@ typedef struct _s_nfs + struct _s_nfs *next; /* Pointer to next struct. */ + struct _s_nfs *prev; /* Pointer to previous st. */ + SHADOW *shadow; /* Pointer to shadows */ +- char * name; + size_t nlen; ++ char * name; + } NFS; + + /* List of processes. */ +@@ -346,7 +346,7 @@ static void clear_mnt(void) + } + + /* +- * Check if path is ia shadow off a NFS partition. ++ * Check if path is a shadow of a NFS partition. + */ + static int shadow(SHADOW *restrict this, const char *restrict name, const size_t nlen) + { diff --git a/sysvinit.changes b/sysvinit.changes index f42d0af..48de5a8 100644 --- a/sysvinit.changes +++ b/sysvinit.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Oct 21 12:00:26 CEST 2010 - werner@suse.de + +- New killporc version 2.17 + * Use /proc/self/mountinfo to avoid system call stat(2) on + running binaries not located on the mount point of the + current handled program + * Avoid to be detect sub (shadow) mounts on NFS mounts +- New showconsole 1.13 +- Correct position of string pointer in NFS struct used in + killall5/pidof + ------------------------------------------------------------------- Tue Oct 12 18:21:44 CEST 2010 - werner@suse.de diff --git a/sysvinit.spec b/sysvinit.spec index f891862..fe0bd75 100644 --- a/sysvinit.spec +++ b/sysvinit.spec @@ -21,8 +21,8 @@ Name: sysvinit %define MGVER 0.9.6s %define PDVER 2.0.2 -%define KPVER 2.16 -%define SCVER 1.12 +%define KPVER 2.17 +%define SCVER 1.13 %define SIVER 2.88 %define START 0.57 License: GPLv2+ @@ -35,9 +35,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel libselinux-devel libsepol-devel pam-devel Url: http://savannah.nongnu.org/projects/sysvinit/ Source: http://download.savannah.gnu.org/releases/sysvinit/sysvinit-2.88dsf.tar.bz2 -Source2: killproc-2.16.tar.bz2 +Source2: killproc-2.17.tar.bz2 Source3: powerd-2.0.2.tar.bz2 -Source4: showconsole-1.12.tar.bz2 +Source4: showconsole-1.13.tar.bz2 Source5: startpar-0.57.tar.bz2 Source6: rc.powerd Source7: sysvinit-rpmlintrc @@ -52,10 +52,11 @@ Patch4: notify-pam-dead.patch Patch5: sysvinit-last-ipv6-heuristic.patch Patch6: sysvinit-2.88dsf-utf8.dif Patch7: sysvinit-2.88dsf-selinux.patch +Patch8: sysvinit-2.88dsf-nfs.patch Patch20: powerd-2.0.2.dif Patch21: powerd-2.0.2-getaddrinfo.patch -Patch30: killproc-2.16.dif -Patch40: showconsole-1.12.dif +Patch30: killproc-2.17.dif +Patch40: showconsole-1.13.dif Patch50: startpar-0.57.dif Requires: sysvinit-tools Provides: sbin_init @@ -95,6 +96,7 @@ sysvinit package. %patch5 -p2 -b .ipv6 %patch6 -p0 -b .utf8 %patch7 -p0 -b .selinux +%patch8 -p0 -b .nfs %patch pushd ../powerd-%{PDVER} %patch20