diff --git a/showconsole-1.08.dif b/showconsole-1.08.dif deleted file mode 100644 index b4ca5e6..0000000 --- a/showconsole-1.08.dif +++ /dev/null @@ -1,599 +0,0 @@ ---- blogd.c -+++ blogd.c 2006-08-10 18:41:55.000000000 +0200 -@@ -155,25 +155,60 @@ static void reset_signal(int sig, struct - * To be able to reconnect to real tty on EIO - */ - static char * tty; -+static char * second; - static void reconnect(int fd) - { - int newfd = -1; - -- if ((newfd = open(tty, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) -- error("can not open %s: %s\n", tty, strerror(errno)); -- -- if (newfd != 1) -- dup2(newfd, 1); -- if (newfd != 2) -- dup2(newfd, 2); -- -- if (fd == 1 || fd == 2) -- goto out; -- if (newfd != fd) -- dup2(newfd, fd); --out: -- if (newfd > 2) -- close(newfd); -+ switch (fd) { -+ case 0: /* Standard in */ -+ -+ if (tty == (char*)0) -+ break; -+ -+ if ((newfd = open(tty, O_RDWR|O_NONBLOCK|O_NOCTTY)) < 0) -+ error("can not open %s: %s\n", tty, strerror(errno)); -+ -+ if (newfd != 0) { -+ dup2(newfd, 0); -+ close(newfd); -+ } -+ -+ break; -+ -+ case 1: /* Standard out */ -+ case 2: /* Standard error */ -+ -+ if (tty == (char*)0) -+ break; -+ -+ if ((newfd = open(tty, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) -+ error("can not open %s: %s\n", tty, strerror(errno)); -+ -+ if (newfd != 1) -+ dup2(newfd, 1); -+ if (newfd != 2) -+ dup2(newfd, 2); -+ if (newfd > 2) -+ close(newfd); -+ -+ break; -+ -+ default: /* IO of second console */ -+ -+ if (second == (char*)0) -+ break; -+ -+ if ((newfd = open(second, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) -+ error("can not open %s: %s\n", second, strerror(errno)); -+ -+ if (newfd != fd) { -+ dup2(newfd, fd); -+ close(newfd); -+ } -+ -+ break; -+ } - } - - /* -@@ -181,7 +216,7 @@ out: - */ - int main(int argc, char *argv[]) - { -- int fd, flags; -+ int fd, fd2, flags; - int ptm, pts, cntrtty = 1; - pid_t pid, ppid = getppid(); - char ptsname[NAME_MAX+1]; -@@ -198,7 +233,7 @@ int main(int argc, char *argv[]) - if (argc == 2) - tty = argv[1]; - else -- tty = fetchtty(getpid(), ppid); -+ tty = fetchtty(getpid(), ppid, NULL); - - if (!tty || !*tty) - error("can not discover real system console tty, boot logging disabled.\n"); -@@ -241,6 +276,38 @@ int main(int argc, char *argv[]) - if (!w.ws_col) - w.ws_row = 80; - -+ fd2 = -1; -+ do { -+ -+ if ((second = secondtty(tty)) == (char*)0) -+ break; -+ -+ if ((fd2 = open(second, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0) { -+ warn("can not open %s: %s\n", second, strerror(errno)); -+ goto out; -+ } -+ -+ if ((flags = fcntl(fd2, F_GETFL)) < 0) { -+ warn("can not get terminal flags of %s: %s\n", second, strerror(errno)); -+ close(fd2); -+ fd2 = -1; -+ goto out; -+ } -+ -+ flags &= ~(O_NONBLOCK); -+ flags |= O_NOCTTY; -+ if (fcntl(fd2, F_SETFL, flags) < 0) { -+ warn("can not set terminal flags of %s: %s\n", second, strerror(errno)); -+ close(fd2); -+ fd2 = -1; -+ goto out; -+ } -+ -+ out: -+ free(second); -+ -+ } while (0); -+ - if (openpty(&ptm, &pts, ptsname, &t, &w) < 0) - error("can not open pty/tty pair: %s\n", strerror(errno)); - -@@ -268,12 +335,15 @@ int main(int argc, char *argv[]) - dup2(fd, 1); - dup2(fd, 2); - close(ptm); -- close(fd); -+ if (fd > 2) -+ close(fd); - break; - case -1: - close(pts); - close(ptm); - close(fd); -+ if (fd2 > 0) -+ close(fd2); - error("can not fork to become daemon: %s\n", strerror(errno)); - break; - default: -@@ -282,12 +352,13 @@ int main(int argc, char *argv[]) - close(pts); - close(ptm); - close(fd); -+ if (fd2 > 0) -+ close(fd2); - fprintf(stdout, "\rBoot logging started on %s(%s) at %.24s\n", tty, name, stt); - fflush(stdout); - exit(0); - } -- free(name); -- prepareIO(reconnect, pidfile, 0, 1); -+ prepareIO(reconnect, pidfile, 0, 1, fd2); - while (!signaled) - safeIO(); - -@@ -297,6 +368,10 @@ int main(int argc, char *argv[]) - if (!cntrtty) - kill(ppid, SIGCONT); - -+ if (fd2 > 0) { -+ (void)tcflush(fd2, TCOFLUSH); -+ close(fd2); -+ } - (void)tcflush(1, TCOFLUSH); - close(1); - (void)tcflush(2, TCOFLUSH); ---- libconsole.c -+++ libconsole.c 2006-08-10 18:41:23.000000000 +0200 -@@ -158,41 +158,52 @@ static void (*vc_reconnect)(int fd) = NU - static inline void safeout (int fd, const char *ptr, size_t s) - { - int saveerr = errno; -- static int repeated; -+ int repeated = 0; -+ static int eiocount; - -- repeated = 0; - while (s > 0) { - ssize_t p = write (fd, ptr, s); - if (p < 0) { -- if (repeated++ > 1000) -- error("Repeated error on writing to fd %d: %s\n", fd, STRERR); -- if (errno == EPIPE) -+ if (errno == EPIPE) { -+ warn("error on writing to fd %d: %s\n", fd, STRERR); - exit (0); -+ } - if (errno == EINTR) { - errno = 0; - continue; - } - if (errno == EAGAIN) { /* Kernel 2.6 seems todo this very often */ -+ int ret; - fd_set check; -- struct timeval two = {2, 0}; - -- errno = 0; -+ if (repeated++ > 1000) -+ error("repeated error on writing to fd %d: %s\n", fd, STRERR); -+ - FD_ZERO (&check); - FD_SET (fd, &check); - - /* Avoid high load: wait upto two seconds if system is not ready */ -- select(fd + 1, (fd_set*)0, &check, (fd_set*)0, &two); - errno = 0; -+ do { -+ struct timeval two = {2, 0}; -+ ret = select(fd + 1, (fd_set*)0, &check, (fd_set*)0, &two); -+ -+ } while ((ret < 0) && (errno == EINTR)); -+ -+ if (ret < 0) -+ error("can not write to fd %d: %s\n", fd, STRERR); - -+ errno = 0; - continue; - } -- if (errno == EIO && vc_reconnect) { -+ if (errno == EIO) { -+ if ((eiocount++ > 10) || !vc_reconnect) -+ error("can not write to fd %d: %s\n", fd, STRERR); - (*vc_reconnect)(fd); -- vc_reconnect = NULL; - errno = 0; - continue; - } -- error("Can not write to fd %d: %s\n", fd, STRERR); -+ error("can not write to fd %d: %s\n", fd, STRERR); - } - repeated = 0; - ptr += p; -@@ -267,6 +278,7 @@ out: - */ - static FILE * flog = NULL; - static int fdwrite = -1; -+static int fdsec = -1; - static int fdread = -1; - static int fdfifo = -1; - -@@ -714,12 +726,13 @@ static void *action(void *dummy) - static void (*rw_connect)(void) = NULL; - static const char *fifo_name = _PATH_BLOG_FIFO; - --void prepareIO(void (*rfunc)(int), void (*cfunc)(void), const int in, const int out) -+void prepareIO(void (*rfunc)(int), void (*cfunc)(void), const int in, const int out, const int second) - { - vc_reconnect = rfunc; - rw_connect = cfunc; - fdread = in; - fdwrite = out; -+ fdsec = second; - - if (fifo_name && fdfifo < 0) { - struct stat st; -@@ -729,7 +742,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)) < 0) -+ if ((fdfifo = open(fifo_name, O_RDWR|O_NOCTTY)) < 0) - warn("can not open named fifo %s: %s\n", fifo_name, STRERR); - } - } -@@ -769,12 +782,17 @@ static void more_input (struct timeval * - const ssize_t cnt = safein(fdread, (char*)trans, sizeof(trans)); - - if (cnt > 0) { -- parselog(trans, cnt); /* Parse and make copy of the input */ -+ parselog(trans, cnt); /* Parse and make copy of the input */ -+ -+ safeout(fdwrite, (char*)trans, cnt); /* Write copy of input to real tty */ -+ (void)tcdrain(fdwrite); - -- safeout(fdwrite, (char*)trans, cnt); /* Write copy of input to real tty */ -- tcdrain(fdwrite); -+ if (fdsec > 0) { -+ safeout(fdsec, (char*)trans, cnt); /* Write copy of input to second tty */ -+ (void)tcdrain(fdsec); -+ } - -- flushlog(); -+ flushlog(); - } - } - -@@ -883,6 +901,8 @@ void closeIO(void) - } else - warn("no message logging because /var file system is not accessible\n"); - (void)tcdrain(fdwrite); /* Hold in sync with console */ -+ if (fdsec > 0) -+ (void)tcdrain(fdsec); /* Hold in sync with second console */ - - do { - /* -@@ -926,6 +946,8 @@ void closeIO(void) - flog = NULL; - xout: - (void)tcdrain(fdwrite); -+ if (fdsec > 0) -+ (void)tcdrain(fdsec); - - return; - } -@@ -941,7 +963,7 @@ static void ctty(pid_t pid, unsigned int - int fd; - - sprintf(fetched, "/proc/%d/stat", (int)pid); -- if ((fd = open(fetched, O_RDONLY)) < 0) -+ if ((fd = open(fetched, O_RDONLY|O_NOCTTY)) < 0) - error("can not open(%s): %s\n", fetched, STRERR); - cnt = safein(fd, fetched, sizeof(fetched)); - close(fd); -@@ -1034,12 +1056,11 @@ static int checkdev(char ** retname, uns - int found = 0; - struct dirent * d; - struct stat st; -- char * name = NULL; - static int deep; - - memset(&st, 0, sizeof(struct stat)); - while ((d = readdir(dev))) { -- name = d->d_name; -+ char * name = d->d_name; - - if (*name == '.') - continue; -@@ -1143,6 +1164,14 @@ static int checkdev(char ** retname, uns - } - - found++; -+ -+ /* -+ * Allocate memory to be able to return several -+ * different buffers for different files names. -+ */ -+ name = strdup(name); -+ if (!name) -+ error("checkdev(): %s\n", STRERR); - *retname = name; - break; - } -@@ -1151,7 +1180,7 @@ static int checkdev(char ** retname, uns - } - - /* main routine to fetch tty */ --char * fetchtty(const pid_t pid, const pid_t ppid) -+char * fetchtty(const pid_t pid, const pid_t ppid, unsigned int *mjmi) - { - unsigned int tty = 0, found = 0; - char * name = NULL; -@@ -1167,14 +1196,15 @@ char * fetchtty(const pid_t pid, const p - if (!(name = ttyname(0)) || !strcmp(name, "/dev/console")) - tty = fallback(pid, ppid); - else { -- strcpy(lnk, name); -- free(name); -- name = lnk; -+ name = strdup(name); -+ if (!name) -+ error("fetchtty(): %s\n", STRERR); - goto out; - } - #ifdef TIOCGDEV - } - #endif -+ if (mjmi) *mjmi = tty; - - if (!(dev = opendir("/dev"))) - error("can not opendir(/dev): %s\n", STRERR); -@@ -1186,8 +1216,131 @@ char * fetchtty(const pid_t pid, const p - if (!name) - goto out; - -- if (!found) -- *name = '\0'; -+ if (!found) { -+ free(name); -+ name = (char*)0; -+ } - out: - return name; - } -+ -+/* Do we have some more system console around? */ -+char * secondtty(char * compare) -+{ -+ char buf[1024], *ptr, *shcmp, *res = (char*)0; -+ unsigned int tty = 0, found = 0; -+ int fd = -1, len; -+ char * name = (char*)0; -+ DIR * dev; -+ -+ if ((fd = open("/proc/cmdline", O_RDONLY|O_NOCTTY)) < 0) { -+ warn("can not open /proc/cmdline\n"); -+ goto out; -+ } -+ -+ if ((len = read(fd, buf, sizeof(buf) - 1)) < 0) { -+ warn("can not read /proc/cmdline\n"); -+ close(fd); -+ goto out; -+ } -+ close(fd); -+ -+ if (len == 0) -+ goto out; -+ -+ shcmp = compare; -+ if (!strncmp(shcmp, "/dev/", 5)) -+ shcmp += 5; -+ -+ /* -+ * Check for e.g. /dev/tty[1-9] which is equal to /dev/tty0 -+ */ -+ if (!strncmp(shcmp, "tty", 3)) { -+ size_t len = strspn(shcmp + 3, "123456789"); -+ -+ if (strlen(shcmp) == len + 3) { -+ compare = "/dev/tty0"; -+ shcmp = "tty0"; -+ } -+ } -+ -+ ptr = &buf[len]; -+ while (ptr >= &buf[0]) { -+ if (*ptr == ',' || *ptr == ' ' || *ptr == '\t' || *ptr == '\r' || *ptr == '\n') { -+ *ptr-- = 0; -+ continue; -+ } -+ if (*ptr == 'c' && !strncmp(ptr, "console=", 8)) { -+ char * console = ptr + 8; -+ -+ if (!strncmp(console, "/dev/", 5)) -+ console += 5; -+ -+ /* -+ * Compare known console tty with that of the kernel command -+ * line. If already known skip this console tty and search -+ * for the next one. -+ */ -+ if (strcmp(shcmp, console)) { -+ res = console; /* New device not identical to tty */ -+ break; -+ } -+ } -+ ptr--; -+ } -+ -+ if (!res) -+ goto out; -+ -+ if (!(dev = opendir("/dev"))) -+ error("can not opendir(/dev): %s\n", STRERR); -+ pushd("/dev"); -+ -+ /* Open second console e.g. /dev/tty0 */ -+ if ((fd = open(res, O_RDWR|O_NONBLOCK|O_NOCTTY)) < 0) -+ goto out; -+ -+ /* -+ * We do this because if we would write out the buffered -+ * messages to e.g. /dev/tty0 after this we would (re)read -+ * those and buffer them again which leads to an endless loop. -+ */ -+#ifdef TIOCGDEV -+ if (ioctl (fd, TIOCGDEV, &tty) < 0) { -+ if (errno == EINVAL && !getenv("NOTIOCGDEV")) -+ warn("Warning: the ioctl TIOCGDEV is not known by the kernel\n"); -+ close(fd); -+ popd(); -+ closedir(dev); -+ goto out; -+ } -+#else -+# error The ioctl TIOCGDEV is not defined (SuSE TIOCGDEV patch is missed) -+#endif -+ close(fd); -+ -+ /* Try to open the real device e.g. /dev/tty1 */ -+ found = checkdev(&name, tty, dev); -+ -+ popd(); -+ closedir(dev); -+ -+ if (!name) -+ goto out; -+ -+ if (!found) { -+ free(name); -+ name = (char*)0; -+ goto out; -+ } -+ -+ if (!strcmp(compare, name)) { -+ free(name); -+ name = (char*)0; -+ goto out; /* Already in use */ -+ } -+ -+ return name; -+out: -+ return (char*)0; -+} ---- libconsole.h -+++ libconsole.h 2006-08-10 18:41:28.000000000 +0200 -@@ -1,6 +1,7 @@ - extern void pushd(const char * path); - extern void popd(void); --extern char * fetchtty(const pid_t pid, const pid_t ppid); --extern void prepareIO(void (*rfunc)(int), void (*cfunc)(void), const int in, const int out); -+extern char * fetchtty(const pid_t pid, const pid_t ppid, unsigned int *mjmi); -+extern char * secondtty(char * compare); -+extern void prepareIO(void (*rfunc)(int), void (*cfunc)(void), const int in, const int out, const int second); - extern void safeIO (void); - extern void closeIO(void); ---- showconsole.8 -+++ showconsole.8 2006-08-10 18:55:37.000000000 +0200 -@@ -16,6 +16,7 @@ Setconsole \- sets the underlying tty of - .SH SYNOPSIS - .\" - .B showconsole -+.RI [ -n ] - .PP - .B setconsole /dev/tty < /dev/console - .SH DESCRIPTION -@@ -38,6 +39,15 @@ with - and exactly one argument, a valid character device - is given. - \." -+.SH OPTIONS -+.TP -+.B \-n -+Return the major and minor device numbers instead of -+the device file name. This can be used to asked the -+kernel for the major and minor device numbers of a not -+existing device file in -+.IR /dev . -+\." - .SH BUGS - .B showconsole - needs a mounted ---- showconsole.c -+++ showconsole.c 2006-08-10 18:51:15.000000000 +0200 -@@ -51,7 +51,7 @@ void warn (const char *fmt, ...) - */ - int main(int argc, char *argv[]) - { -- char * tty = NULL; -+ char * tty = NULL, numeric = 0; - myname = basename(*argv); - - if (!strcmp(myname, "setconsole")) { -@@ -73,8 +73,30 @@ int main(int argc, char *argv[]) - close(fdc); - goto out; - } -- tty = fetchtty(getpid(), getppid()); -- if (tty) -+ -+ if (argc == 2) { -+ const char* opt = argv[1]; -+ if (opt && *opt++ == '-' && *opt++ == 'n' && *opt == '\0') -+ numeric++; -+ else -+ error("Usage: %s [-n]\n", myname); -+ } else if (argc > 2) -+ error("Usage: %s [-n]\n", myname); -+ -+ if (numeric) { -+ unsigned int dev = 0; -+ (void)fetchtty(getpid(), getppid(), &dev); -+ -+ if (dev) -+ printf("%u %u\n", major(dev), minor(dev)); -+ else { -+ error("real tty unknown\n"); -+ fprintf(stderr, "real tty unknown\n"); -+ } -+ goto out; -+ } -+ -+ if ((tty = fetchtty(getpid(), getppid(), NULL))) - printf("%s\n", tty); - else { - error("real tty unknown\n"); diff --git a/showconsole-1.08.tar.bz2 b/showconsole-1.08.tar.bz2 deleted file mode 100644 index 2dc4a4f..0000000 --- a/showconsole-1.08.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f3c1462c21db37054e109bbda23490de759311e8d182a3565f1ae8926d10e27 -size 20821 diff --git a/showconsole-1.09.tar.bz2 b/showconsole-1.09.tar.bz2 new file mode 100644 index 0000000..953ea16 --- /dev/null +++ b/showconsole-1.09.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a89bd90f6468f6a278d2bec802ab395b4984b3ba87b18e84dad544e1a8d64ba +size 22181 diff --git a/sysvinit.changes b/sysvinit.changes index c8c9ec7..422818c 100644 --- a/sysvinit.changes +++ b/sysvinit.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 13 17:27:50 CET 2008 - werner@suse.de + +- Avoid race in blogd due sheduling priority which may raise EIO + otherwise and do not free name of second tty needed for reconnect + (bnc#370328) + ------------------------------------------------------------------- Thu Jan 10 10:49:52 CET 2008 - werner@suse.de diff --git a/sysvinit.spec b/sysvinit.spec index 0270def..c87e359 100644 --- a/sysvinit.spec +++ b/sysvinit.spec @@ -10,11 +10,12 @@ # norootforbuild + Name: sysvinit %define MGVER 0.9.6s %define PDVER 2.0.2 %define KPVER 2.13 -%define SCVER 1.08 +%define SCVER 1.09 %define SIVER 2.86 %define START 0.50 License: GPL v2 or later @@ -22,13 +23,13 @@ Group: System/Base PreReq: coreutils AutoReqProv: on Version: 2.86 -Release: 119 +Release: 132 Summary: SysV-Style init BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: sysvinit-2.86.tar.bz2 Source2: killproc-2.13.tar.bz2 Source3: powerd-2.0.2.tar.bz2 -Source4: showconsole-1.08.tar.bz2 +Source4: showconsole-1.09.tar.bz2 Source5: startpar-0.50.tar.bz2 Source6: rc.powerd Source7: sysvinit-rpmlintrc @@ -41,7 +42,7 @@ Patch6: sysvinit-2.82-startstop.patch Patch7: sysvinit-2.85-suse.patch Patch8: sysvinit-2.85-paths.patch Patch9: sysvinit-2.86-utmp.patch -Patch10: showconsole-1.08.dif +#Patch10: showconsole-1.09.dif Patch11: sysvinit-2.86-race.patch Patch12: sysvinit-2.86-lib64.patch Patch13: sysvinit-2.82-multiline.patch @@ -90,7 +91,7 @@ pushd ../killproc-%{KPVER} #%patch -P 3 popd pushd ../showconsole-%{SCVER} -%patch -P 10 +#%patch -P 10 popd pushd ../startpar-%{START} %patch -P 14 @@ -284,489 +285,493 @@ rm -rf ${RPM_BUILD_ROOT} %doc %{_mandir}/man8/startpar.8.gz %changelog -* Thu Jan 10 2008 - werner@suse.de +* Thu Mar 13 2008 werner@suse.de +- Avoid race in blogd due sheduling priority which may raise EIO + otherwise and do not free name of second tty needed for reconnect + (bnc#370328) +* Thu Jan 10 2008 werner@suse.de - Make it build with new glibc headers -* Mon Jan 07 2008 - werner@suse.de +* Mon Jan 07 2008 werner@suse.de - Add cosmetic patch for startpar from the Debian people -* Fri Nov 30 2007 - werner@suse.de +* Fri Nov 30 2007 werner@suse.de - New version 2.13 of killproc * Add support for more than one ignore pid file (bug #343227) * Close existing file descriptors on execve even if not a tty * Do not fork if startpar is used as start_daemon * Clean up the manual pages -* Wed Oct 31 2007 - werner@suse.de +* Wed Oct 31 2007 werner@suse.de - startpar: make iorate a double -* Wed Oct 31 2007 - werner@suse.de +* Wed Oct 31 2007 werner@suse.de - startproc: add option -T sec to finish waiting if parent exits -* Wed Jun 20 2007 - coolo@suse.de +* Wed Jun 20 2007 coolo@suse.de - startpar: mark started processes as running -* Mon Jun 18 2007 - werner@suse.de +* Mon Jun 18 2007 werner@suse.de - Add importance for some scripts within startpar - Handle I/O blocked process very heavy in startpar - Add new user space program fsync(1) which use fsync(2) for updating the in-core state with the hard disk -* Wed Jun 13 2007 - werner@suse.de +* Wed Jun 13 2007 werner@suse.de - bug #229210: avoid HDIO_DRIVE_CM ioctl for real SCSI disks. -* Tue Jun 12 2007 - werner@suse.de +* Tue Jun 12 2007 werner@suse.de - bug #229210: check for the FLUSH CACHE EXT capability for large disks and use this capability if available. -* Wed Jun 06 2007 - werner@suse.de +* Wed Jun 06 2007 werner@suse.de - For bug #229210: skip real SCSI disks, also flush disk cache for SATA and ATA disks. -* Wed Jun 06 2007 - werner@suse.de +* Wed Jun 06 2007 werner@suse.de - More on bug #229210: do not shutdown allready managed disks -* Tue Jun 05 2007 - werner@suse.de +* Tue Jun 05 2007 werner@suse.de - /sbin/halt: list and powerdown all disks even SATA/SCSI (bug #229210) -* Fri May 11 2007 - werner@suse.de +* Fri May 11 2007 werner@suse.de - startpar: Try to start more processes even on high loaded systems - startpar: Detect endless loops on broken systems (no SIGCHILD) -* Thu Apr 19 2007 - werner@suse.de +* Thu Apr 19 2007 werner@suse.de - Correct exit status of checkproc n case of using a pid file, thanks to Alessandro Soraruf -* Wed Feb 14 2007 - werner@suse.de +* Wed Feb 14 2007 werner@suse.de - Remove swap supend patch because this is done now by powersave calling hal (bug #241204) -* Thu Dec 14 2006 - werner@suse.de +* Thu Dec 14 2006 werner@suse.de - New killproc 2.12 with new option -N better handling for NFS based programs which is not to stat(2) the binary with -N - Make killall5 and pidof not to stat(2) binaries which are loacted on NFS partitions (#224563) -* Tue Aug 22 2006 - werner@suse.de +* Tue Aug 22 2006 werner@suse.de - More on delayed utmp write: redo the write on telinit q (#148038) -* Mon Aug 21 2006 - werner@suse.de +* Mon Aug 21 2006 werner@suse.de - Make installation work even within chroot and new kernel 2.6.18+ -* Fri Aug 18 2006 - werner@suse.de +* Fri Aug 18 2006 werner@suse.de - Check if utmp not only exists but is writable (#199412, #148038) - Delay of utmp runlevel record if utmp is not writable (#148038) -* Thu Aug 10 2006 - werner@suse.de +* Thu Aug 10 2006 werner@suse.de - Enable showconsole to provide the major and minor device number instead of the device file name. -* Fri Jun 09 2006 - werner@suse.de +* Fri Jun 09 2006 werner@suse.de - killproc: Allow relocated binary paths and several hard links on binaries (bug #183251) -* Tue May 16 2006 - werner@suse.de +* Tue May 16 2006 werner@suse.de - Reduce buffer usage for reading /proc/stat -* Mon May 15 2006 - werner@suse.de +* Mon May 15 2006 werner@suse.de - Double buffer for /proc/stat for super large systems (#175385) -* Fri May 12 2006 - olh@suse.de +* Fri May 12 2006 olh@suse.de - do not strip startpar and start-stop-daemon binaries -* Thu Mar 16 2006 - werner@suse.de +* Thu Mar 16 2006 werner@suse.de - Do not rely on timeout after EINTR of select() -* Mon Mar 06 2006 - werner@suse.de +* Mon Mar 06 2006 werner@suse.de - Handle a second system console from kernel command line (#155292) - Handle interrupted fifo writes even in shutdown -* Wed Feb 08 2006 - werner@suse.de +* Wed Feb 08 2006 werner@suse.de - Close high file descriptors even for single jobs (bug #148668) -* Tue Feb 07 2006 - werner@suse.de +* Tue Feb 07 2006 werner@suse.de - Add boot script for powerd (bug #147660) - Make powerd handling a pid file -* Wed Jan 25 2006 - mls@suse.de +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Wed Dec 21 2005 - werner@suse.de +* Wed Dec 21 2005 werner@suse.de - Remove not needed binaries on s390 -* Mon Dec 05 2005 - od@suse.de +* Mon Dec 05 2005 od@suse.de - Created/added patch for option -F (full time) (bug #136978) -* Mon Dec 05 2005 - od@suse.de +* Mon Dec 05 2005 od@suse.de - Added options -a, -d and -i to usage message -* Tue Nov 08 2005 - werner@suse.de +* Tue Nov 08 2005 werner@suse.de - Move version of killproc to 2.11 * Allow to set a prefix and to disable usleep -* Wed Nov 02 2005 - dmueller@suse.de +* Wed Nov 02 2005 dmueller@suse.de - don't build as root -* Wed Nov 02 2005 - werner@suse.de +* Wed Nov 02 2005 werner@suse.de - Move version of killporc to 2.10 * Let checkproc really work like killproc if -k is specified. This is that if the pid file provided with option -p does not fit to a running process checkproc returns 7 for program is not running. -* Wed Oct 19 2005 - werner@suse.de +* Wed Oct 19 2005 werner@suse.de - Update to sysvinit 2.86 -* Tue Sep 20 2005 - werner@suse.de +* Tue Sep 20 2005 werner@suse.de - Make it build even on s390 -* Thu Sep 15 2005 - werner@suse.de +* Thu Sep 15 2005 werner@suse.de - Bounce version of killporc to 2.09 - Add patch of Petter Reinholdtsen for startpar - Move version of startpar to 0.49 -* Thu Sep 01 2005 - mls@suse.de +* Thu Sep 01 2005 mls@suse.de - do not leak stdout fd to splash process (bug #105999) -* Thu Aug 25 2005 - werner@suse.de +* Thu Aug 25 2005 werner@suse.de - Apply the new LSB rule for optional pid files only (bug #105845) -* Tue Aug 23 2005 - werner@suse.de +* Tue Aug 23 2005 werner@suse.de - Enable patch for killproc -* Mon Aug 22 2005 - werner@suse.de +* Mon Aug 22 2005 werner@suse.de - Avoid zombie processes using startpar to get the next free process slot as fast as possible. - Make killproc be compliant with the newest LSB specs in case if the specified pid file does not exist that the daemon is not running (bug #105845). - Add the possibility of using pid numbers instead of a pid file. -* Tue Jun 28 2005 - schwab@suse.de +* Wed Jun 29 2005 schwab@suse.de - Fix typo. -* Wed May 25 2005 - werner@suse.de +* Wed May 25 2005 werner@suse.de - Bounce showconsole to version 1.08 - Bounce killproc to version 2.08 - Avoid signess warning of gcc4 - Use sysv_log() instead of log() to avoid builtin log() of gcc4 -* Mon May 23 2005 - werner@suse.de +* Mon May 23 2005 werner@suse.de - Make blogd work even with new root file system behaviour -* Thu May 19 2005 - werner@suse.de +* Thu May 19 2005 werner@suse.de - More fixes for startpar: do not forget active jobs and correct exit status handling for the case of stopping jobs. -* Mon Apr 25 2005 - werner@suse.de +* Mon Apr 25 2005 werner@suse.de - Showconsole: more names no belonging to terminals (bug #80304) -* Tue Apr 05 2005 - werner@suse.de +* Tue Apr 05 2005 werner@suse.de - startpar: fix endless loop and race condition (bug #74256) -* Sun Apr 03 2005 - aj@suse.de +* Sun Apr 03 2005 aj@suse.de - Further fixes for GCC4. -* Thu Mar 24 2005 - uli@suse.de +* Thu Mar 24 2005 uli@suse.de - fixed to build with GCC4 -* Wed Mar 09 2005 - mls@suse.de +* Wed Mar 09 2005 mls@suse.de - startpar: fix splash progress bar if "make" mode is enabled -* Thu Jan 27 2005 - coolo@suse.de +* Thu Jan 27 2005 coolo@suse.de - catch the case the clock moves back in time during boot -* Tue Jan 18 2005 - coolo@suse.de +* Tue Jan 18 2005 coolo@suse.de - adding patch by Takashi to sort the services before inserting them in the queue to allow predictable boot orders - adding patch by me to update the limit more often in case the load is too high (30s is just too long) -* Mon Dec 13 2004 - werner@suse.de +* Mon Dec 13 2004 werner@suse.de - Update to killproc 2.07 which includes the new ignore file feature which works like a pid file but the pid found therein will be used to ignore all processes and session with that id. -* Fri Dec 10 2004 - werner@suse.de +* Fri Dec 10 2004 werner@suse.de - Fix bottle neck in startpar calculation of number of parallel processes. Now the number of really active processes are used. -* Wed Oct 13 2004 - werner@suse.de +* Wed Oct 13 2004 werner@suse.de - Do the real fix for the busy loop problem - Add a dynamic load balance based on the current process load and the current memory usage (bug #45191). -* Mon Oct 04 2004 - mls@suse.de +* Mon Oct 04 2004 mls@suse.de - don't call /sbin/splash if proc was unmounted -* Thu Sep 23 2004 - mls@suse.de +* Thu Sep 23 2004 mls@suse.de - call splash with $pos:$delta for animated progress bar - serialize calls to splash program -* Mon Sep 20 2004 - mls@suse.de +* Mon Sep 20 2004 mls@suse.de - change bootsplash 'S' option handling to new bootsplash design - also set progressbar on the fly -* Mon Sep 20 2004 - werner@suse.de +* Mon Sep 20 2004 werner@suse.de - Add some more information about the new make like scheme of startpar into its own manual page. -* Thu Sep 09 2004 - werner@suse.de +* Thu Sep 09 2004 werner@suse.de - startproc: get wait status of already terminated parents on very fast systems with high load during boot. -* Thu Sep 02 2004 - werner@suse.de +* Thu Sep 02 2004 werner@suse.de - Switch to Takashi's startpar version which is fully compatible to previous version. - Fix startpar to not to loop around if global timeout is expired. - Fix struct timeval asignment in startpar for big endian. - Add simple loadavg and memory check in startpar to make it compatible with UP system with less memory. -* Tue Jun 01 2004 - werner@suse.de +* Tue Jun 01 2004 werner@suse.de - Remove any other workaround for hanging write -* Tue Jun 01 2004 - werner@suse.de +* Tue Jun 01 2004 werner@suse.de - Remove ioctl workaround in blogd due it does not work -* Tue Jun 01 2004 - werner@suse.de +* Tue Jun 01 2004 werner@suse.de - Change signal behaviour of blogd (try to fix bug #40474) - Add ioctl workaround to blogd for IA64 serial console - Do not overwrite environment of /sbin/init with comandline -* Fri May 14 2004 - werner@suse.de +* Fri May 14 2004 werner@suse.de - Catch negative return values of safein which may fix bug #34840 -* Thu Mar 25 2004 - werner@suse.de +* Thu Mar 25 2004 werner@suse.de - showconsole: * Do not trap into recursive symlink pointers (bug #36918) * Do not scan directories in /dev/ with no terminals -* Mon Mar 22 2004 - werner@suse.de +* Mon Mar 22 2004 werner@suse.de - Fix cut&paste error -* Mon Mar 22 2004 - werner@suse.de +* Mon Mar 22 2004 werner@suse.de - Support udev within blogd -* Wed Mar 17 2004 - werner@suse.de +* Wed Mar 17 2004 werner@suse.de - Make clear descritption of -k option of checkproc and fix LSB behaviour of killproc (bug #35851) -* Fri Mar 12 2004 - werner@suse.de +* Fri Mar 12 2004 werner@suse.de - Update of sysvinit 2.85 due better support of kernel 2.6 - Ensure that startpar close the allocated pty's (bug #35763) -* Thu Mar 04 2004 - werner@suse.de +* Thu Mar 04 2004 werner@suse.de - Command back: use unsigned int for device numbers which works on both 32 and 64bit architectures and with old kernels -* Wed Mar 03 2004 - werner@suse.de +* Wed Mar 03 2004 werner@suse.de - Use largest int type for device numbers -* Fri Feb 27 2004 - werner@suse.de +* Fri Feb 27 2004 werner@suse.de - Be sure not to fail if startproc is called on fast systems -* Thu Feb 26 2004 - werner@suse.de +* Thu Feb 26 2004 werner@suse.de - Add waiting routine on inode/dev compare of startproc binary and the forked off service (may fix bug #35008) -* Mon Feb 23 2004 - werner@suse.de +* Mon Feb 23 2004 werner@suse.de - Wait on write if kernel returns with EAGAIN -* Sun Feb 22 2004 - schwab@suse.de +* Sun Feb 22 2004 schwab@suse.de - Fix use of uninitialized variable. -* Tue Jan 13 2004 - werner@suse.de +* Tue Jan 13 2004 werner@suse.de - Update to showconsole 1.07 now with warn message if /var is ro - Fix bug #33798: remove group write flag from package docs -* Sat Oct 18 2003 - kukuk@suse.de +* Sat Oct 18 2003 kukuk@suse.de - Move mingetty in extra package -* Wed Oct 08 2003 - werner@suse.de +* Wed Oct 08 2003 werner@suse.de - Use struct ut_tv on 64 bit also for utmp and not only for wtmp -* Wed Oct 08 2003 - werner@suse.de +* Wed Oct 08 2003 werner@suse.de - Redo the rename of barrier define to mem_barrier. -* Tue Oct 07 2003 - werner@suse.de +* Tue Oct 07 2003 werner@suse.de - Use the not document struct ut_tv on 64 bit for utmp (bug #32086) - blogd: Small optimization at ring buffer handling -* Tue Sep 30 2003 - kukuk@suse.de +* Tue Sep 30 2003 kukuk@suse.de - Rename barrier define to mem_barrier (to avoid clash with kernel headers) -* Tue Sep 09 2003 - werner@suse.de +* Tue Sep 09 2003 werner@suse.de - Reenable fdatasync in blogd because linuxpthreads are fixed now -* Mon Sep 08 2003 - werner@suse.de +* Mon Sep 08 2003 werner@suse.de - blogd: Be sure that _REENTRANT is defined for libconsole.c -* Mon Sep 08 2003 - werner@suse.de +* Mon Sep 08 2003 werner@suse.de - blogd: Simply use locking information on broadcast lock, use thread join lock only if the writing thread is going to sleep. -* Fri Sep 05 2003 - werner@suse.de +* Fri Sep 05 2003 werner@suse.de - Add simple program to check for serial lines on /dev/console to replace the wrong serial check during boot with newer kernels -* Tue Sep 02 2003 - werner@suse.de +* Tue Sep 02 2003 werner@suse.de - Add workaround for blogd crash on x86_64 (bug #29750,29249,29545) * Be paranoid and use SysV signal handling to ensure restart * Be paranoid and check always the value of FILE pointer flog -* Wed Aug 06 2003 - werner@suse.de +* Wed Aug 06 2003 werner@suse.de - Change detection of serial versus terminal lines (bug #28490) -* Thu Jul 24 2003 - uli@suse.de +* Thu Jul 24 2003 uli@suse.de - fixed to build on s390x -* Thu Jul 03 2003 - werner@suse.de +* Thu Jul 03 2003 werner@suse.de - Make flags transparent in startproc.c -* Thu Jul 03 2003 - werner@suse.de +* Thu Jul 03 2003 werner@suse.de - Make killproc compliant with newest LSB spec (bug #24909) -* Tue Jun 24 2003 - werner@suse.de +* Tue Jun 24 2003 werner@suse.de - Ditto -* Mon Jun 23 2003 - werner@suse.de +* Mon Jun 23 2003 werner@suse.de - Make it build even on s390/s390x -* Mon Jun 23 2003 - kukuk@suse.de +* Mon Jun 23 2003 kukuk@suse.de - Remove not packaged files from buildroot. -* Mon Jun 23 2003 - kukuk@suse.de +* Mon Jun 23 2003 kukuk@suse.de - Remove compat link for old SPARC kernel -* Tue Jun 17 2003 - werner@suse.de +* Tue Jun 17 2003 werner@suse.de - Use BuildRoot - Add startproc (0.42), thanks to Michael - showconsole: check for environment variable NOTIOCGDEV -* Fri Jun 06 2003 - mfabian@suse.de +* Fri Jun 06 2003 mfabian@suse.de - also set the scroll region to the full window (ESC [ r) when --noclear is not set. -* Thu Jun 05 2003 - mfabian@suse.de +* Thu Jun 05 2003 mfabian@suse.de - if the option "--noclear" is not set, don't write a full reset because this leaves the unicode mode again if the terminal was in unicode mode and it also undos the ESC sequences in CONSOLE_MAGIC which are needed for some languages/console-fonts. Just put the cursor the home position (ESC [ H) and erase everything below the cursor (ESC [ J). -* Thu May 15 2003 - werner@suse.de +* Thu May 15 2003 werner@suse.de - New showconsole/blogd version 1.06 * Threaded I/O stuff -* Tue Apr 29 2003 - werner@suse.de +* Tue Apr 29 2003 werner@suse.de - New showconsole/blogd version 1.05 * Do not overwrite ring buffer memory in case of the fifo * Avoid not needed new line in case of carriage return. * Read at least 3 seconds at blogd close and flush all I/O -* Mon Apr 14 2003 - werner@suse.de +* Mon Apr 14 2003 werner@suse.de - Fix script handling of killproc for several kernel versions (bug #25767) -* Tue Mar 04 2003 - werner@suse.de +* Tue Mar 04 2003 werner@suse.de - Correct exit codes of killproc and update manual page about this -* Fri Nov 22 2002 - werner@suse.de +* Fri Nov 22 2002 werner@suse.de - Be less memory consuming with showconsole 1.04 -* Thu Nov 21 2002 - werner@suse.de +* Thu Nov 21 2002 werner@suse.de - New showconsole 1.03 * be able to scan dirs under /dev/ in fallback case -* Thu Nov 14 2002 - werner@suse.de +* Thu Nov 14 2002 werner@suse.de - Update to mingetty 0.9.6s * Be sure to get controlling tty * Avoid overruns in string handling -* Wed Nov 13 2002 - werner@suse.de +* Wed Nov 13 2002 werner@suse.de - Update to showconsole 1.02 (a cleanup version) - Update to mingetty 0.9.5s (s stand for SuSE) * New old option for avoiding vcs/vcsa hangup, terminal reset, and the usage of the glibc for updating wtmp. * Now the default terminal type can be set at compile time as an make option. -* Wed Nov 13 2002 - werner@suse.de +* Wed Nov 13 2002 werner@suse.de - Update to killproc 2.05: * Change usleep which now calls sched_yield() for 0 microseconds -* Tue Nov 12 2002 - werner@suse.de +* Tue Nov 12 2002 werner@suse.de - Update to killproc 2.04: * Better symlink handling * New dialog prompt handling for services * New chroot option. -* Mon Nov 11 2002 - ro@suse.de +* Mon Nov 11 2002 ro@suse.de - fixed deprecated multiline string literal -* Mon Nov 04 2002 - werner@suse.de +* Mon Nov 04 2002 werner@suse.de - Use usleep(1) in startproc/killproc/killall5 to force the kernel to run the scheduler. -* Fri Aug 16 2002 - werner@suse.de +* Fri Aug 16 2002 werner@suse.de - Add PreReq (bug #18005) - Not only blogger and blogd but also set and showconsole together with their manual pages. -* Thu Aug 08 2002 - ihno@suse.de +* Thu Aug 08 2002 ihno@suse.de - adding blogger and blogd to s390/s390x -* Fri Aug 02 2002 - froh@suse.de +* Fri Aug 02 2002 froh@suse.de - removed blogger from s390&s390x package lists - changed 'ifarch s390' and 'ifarch s390x' to 'ifarch s390 s390x' -* Tue Jul 16 2002 - werner@suse.de +* Tue Jul 16 2002 werner@suse.de - Expand possible pid string length from 22 to 255 -* Fri Jul 05 2002 - werner@suse.de +* Fri Jul 05 2002 werner@suse.de - Re-enable SIGINT in case or re-reading inittab (bug #16469) -* Thu Jul 04 2002 - werner@suse.de +* Thu Jul 04 2002 werner@suse.de - Update to killproc 2.03 - Fix pointer for ioctl in libconsole of showconsole -* Tue Apr 30 2002 - werner@suse.de +* Tue Apr 30 2002 werner@suse.de - Even if no blogd is used on S390x, the libblogger is required -* Mon Apr 29 2002 - werner@suse.de +* Mon Apr 29 2002 werner@suse.de - Avoid trouble with stupid gcc 3.1 parser and inlined macros. -* Thu Apr 25 2002 - werner@suse.de +* Thu Apr 25 2002 werner@suse.de - changes on mingetty (new version 0.9.4c) * Add support for other TTY devices than virtual console * Add nohost patch from Anders ?? -* Mon Apr 22 2002 - sf@suse.de +* Mon Apr 22 2002 sf@suse.de - changed path to libcrypt in Makefile to also compile on lib64-archs -* Tue Feb 12 2002 - ro@suse.de +* Tue Feb 12 2002 ro@suse.de - fix owner/group -* Tue Jan 15 2002 - werner@suse.de +* Tue Jan 15 2002 werner@suse.de - Different usage messages for startproc and start_daemon (#12692) -* Fri Dec 14 2001 - werner@suse.de +* Fri Dec 14 2001 werner@suse.de - Skip spinner of fsck/e2fsck in boot logging file -* Mon Oct 01 2001 - werner@suse.de +* Mon Oct 01 2001 werner@suse.de - Build and install utmpdump -* Mon Oct 01 2001 - werner@suse.de +* Mon Oct 01 2001 werner@suse.de - Move to SysVinit 2.82 and migrate our patches to 2.82 -* Tue Sep 25 2001 - werner@suse.de +* Tue Sep 25 2001 werner@suse.de - Fix race on waiting on console I/O: just try open log file first -* Thu Sep 20 2001 - werner@suse.de +* Thu Sep 20 2001 werner@suse.de - Ignore interrupted waitpid(2) calls -* Wed Sep 19 2001 - werner@suse.de +* Wed Sep 19 2001 werner@suse.de - Add forgotten configuration of powerd -* Wed Sep 19 2001 - werner@suse.de +* Wed Sep 19 2001 werner@suse.de - Update to powerd 2.0.2 because this version initialize the serial interface which seems to be required for kernel 2.4.x -* Fri Sep 07 2001 - werner@suse.de +* Fri Sep 07 2001 werner@suse.de - startproc: close boot logging FIFO before executing a daemon. -* Wed Sep 05 2001 - werner@suse.de +* Wed Sep 05 2001 werner@suse.de - blogd: really read the console a half second (bug #9899) -* Tue Sep 04 2001 - werner@suse.de +* Tue Sep 04 2001 werner@suse.de - Add waitpid() loop nodead lock patch of Andrea - Add a check in the waitpid() loop to exit on failure -* Thu Aug 30 2001 - werner@suse.de +* Thu Aug 30 2001 werner@suse.de - Make blogd/showconsole more robustly against errors - Add some fixes of bug #9898 -* Fri Aug 24 2001 - werner@suse.de +* Fri Aug 24 2001 werner@suse.de - Activate 64 bit file handling interface (large file support) -* Thu Aug 23 2001 - werner@suse.de +* Thu Aug 23 2001 werner@suse.de - Do not reset terminal device of /dev/console if on a serial line -* Tue Jun 26 2001 - cstein@suse.de +* Tue Jun 26 2001 cstein@suse.de - added a patch for the shutdown messages (see bug #8076) (also changed some other strings in shutdown.c) -* Mon Jun 25 2001 - bk@suse.de +* Mon Jun 25 2001 bk@suse.de - back out read return 0 patch and don't build showconsole on s390x -* Mon Jun 25 2001 - bk@suse.de +* Mon Jun 25 2001 bk@suse.de - don't include showconsole programs in filelist on s390x -* Fri Jun 22 2001 - bk@suse.de +* Fri Jun 22 2001 bk@suse.de - blogd: when read return 0, this means EOF - don't loop in this case. -* Tue Jun 12 2001 - bk@suse.de +* Tue Jun 12 2001 bk@suse.de - don't try to build showconsole on s390x(not supported by kernel) -* Wed May 23 2001 - werner@suse.de +* Wed May 23 2001 werner@suse.de - Do not eat up argv and environ at boot logging in startproc -* Wed May 23 2001 - werner@suse.de +* Wed May 23 2001 werner@suse.de - New killproc version 2.01: now we're able again to find deamons based on scripts. - Make fifo /dev/blog after installation if not exist. -* Tue May 08 2001 - werner@suse.de +* Tue May 08 2001 werner@suse.de - Remove previous barrier() calls but use them on empty loops. -* Wed May 02 2001 - werner@suse.de +* Wed May 02 2001 werner@suse.de - Call umask only once for all init processes (pid 1 and others) - Add some barrier() against officious compiler - Rename cpp macro TEST to SYSVINIT_TEST -* Tue Apr 24 2001 - werner@suse.de +* Tue Apr 24 2001 werner@suse.de - Add default umask 022 at boot time -* Tue Apr 17 2001 - werner@suse.de +* Tue Apr 17 2001 werner@suse.de - Few minor changes to killproc and co. -* Thu Apr 12 2001 - werner@suse.de +* Thu Apr 12 2001 werner@suse.de - Disable boot logging and boot message redirection at common runlevels if TIOCGDEV is missed. -* Wed Apr 11 2001 - werner@suse.de +* Wed Apr 11 2001 werner@suse.de - blogd: complain about missing ioctl TIOCGDEV at compile and run time -* Wed Apr 04 2001 - werner@suse.de +* Wed Apr 04 2001 werner@suse.de - After fork reset signal handling of startproc to default for common signals -* Thu Mar 22 2001 - werner@suse.de +* Thu Mar 22 2001 werner@suse.de - Startproc/killproc: handle by RPM moved and deleted exe links -* Wed Mar 21 2001 - werner@suse.de +* Wed Mar 21 2001 werner@suse.de - Add patch for rlstat() of schowconsole (Andreas Schwab) -* Mon Mar 19 2001 - werner@suse.de +* Mon Mar 19 2001 werner@suse.de - Startproc/killproc: handle deleted exe links -* Fri Mar 09 2001 - werner@suse.de +* Fri Mar 09 2001 werner@suse.de - Add forgotten usleep to file list -* Wed Feb 14 2001 - werner@suse.de +* Wed Feb 14 2001 werner@suse.de - Use sysvinit 2.78.4 - Spilt dif into several patches - Use static on the most functions of init.c - Integrate showconsole - bzip tar's -* Mon Feb 05 2001 - werner@suse.de +* Mon Feb 05 2001 werner@suse.de - Update of killproc to version 2.00 * LSB conform exit values * Use boot logging provided by showconsole-0.9.tar.gz of aaa_base * New program usleep -* Mon Jan 15 2001 - werner@suse.de +* Mon Jan 15 2001 werner@suse.de - Make strncmp of exe link and fullname working upto MAXNAMLEN -* Tue Jan 09 2001 - werner@suse.de +* Tue Jan 09 2001 werner@suse.de - Use int instead of kdev_t in bootlogd.c -* Wed Nov 29 2000 - werner@suse.de +* Wed Nov 29 2000 werner@suse.de - Make tty settings for sulogin working, and enable job control. - Workaround vor sigfholder (may kernel bug) -* Tue Nov 28 2000 - werner@suse.de +* Tue Nov 28 2000 werner@suse.de - New and fixed killproc version 1.17 - Change some man pages of sysvinit to fit our new boot scheme - Enable tty settings for sulogin, should be checked on serial console (BTW: SHOULD we DO that?). -* Thu Nov 16 2000 - ro@suse.de +* Thu Nov 16 2000 ro@suse.de - fixed install for killproc -* Wed Nov 15 2000 - werner@suse.de +* Wed Nov 15 2000 werner@suse.de - New killproc version (1.16) * base name allowed * protected the parent of the parent * provide pidofproc (a link to checkproc for a verbose checkproc) * provide stat_daemon (a link to statproc) -* Mon Oct 23 2000 - werner@suse.de +* Mon Oct 23 2000 werner@suse.de - changes on mingetty (new version 0.9.4b) * On ro files systems chmod/chown shouldn't force an exit. * Therefore we need a warn message. * Due to the lack of a revoke system call we signal all file holders including the mmaping processes. -* Wed Jun 28 2000 - bk@suse.de +* Wed Jun 28 2000 bk@suse.de - enabled reboot on s390 -* Sun Jun 25 2000 - bk@suse.de +* Mon Jun 26 2000 bk@suse.de - removed some not needed files on s390 -* Tue May 30 2000 - werner@suse.de +* Tue May 30 2000 werner@suse.de - Correct path of powerstatus (/var/run/powerstatus) of powerd -* Wed May 24 2000 - garloff@suse.de +* Wed May 24 2000 garloff@suse.de - Added minimal docu for swsusp. -* Tue May 23 2000 - werner@suse.de +* Tue May 23 2000 werner@suse.de - New killproc version 1.15 reading exe link for kernel 2.2 -* Wed May 17 2000 - garloff@suse.de +* Wed May 17 2000 garloff@suse.de - Added software-suspend support to init. - login option of mingetty limits logname to 42 chars. -* Wed May 10 2000 - garloff@suse.de +* Thu May 11 2000 garloff@suse.de - Working patch for mingetty to support devfs. -* Wed May 10 2000 - garloff@suse.de +* Wed May 10 2000 garloff@suse.de - Preliminary patch for devfs. -* Wed May 10 2000 - garloff@suse.de +* Wed May 10 2000 garloff@suse.de - Make it more secure by passing the logname as one arg and by checking for a leading '-'. The manpage tells the sysadmin about possible risks now. -* Tue May 09 2000 - garloff@suse.de +* Wed May 10 2000 garloff@suse.de - Added new options --login and --logopts to mingetty, so you may create an inittab entry using ssh for login or similar -* Tue Mar 07 2000 - werner@suse.de +* Tue Mar 07 2000 werner@suse.de - Ignore SIGTERM for syslogd because this daemon use that signal to control the parent process. - Make read/write of /etc/ioctrl.save EINTR safe @@ -774,113 +779,113 @@ rm -rf ${RPM_BUILD_ROOT} - No flow control (-ixon), ignore break (ignbrk), and make nl/cr more usable (sane). - Set the terminal line immediately -* Mon Mar 06 2000 - werner@suse.de +* Mon Mar 06 2000 werner@suse.de - Avoid script handling for kernel threads -* Sun Mar 05 2000 - werner@suse.de +* Sun Mar 05 2000 werner@suse.de - If open fails -1 is returned (close bug #2200) -* Fri Mar 03 2000 - kukuk@suse.de +* Fri Mar 03 2000 kukuk@suse.de - Create /usr/bin/shutdown link for UltraSPARC kernel -* Mon Feb 21 2000 - werner@suse.de +* Mon Feb 21 2000 werner@suse.de - New version of killproc (1.1.4): fix of script handling - New version of sysvinit (2.78) with some bug fixes -* Thu Dec 16 1999 - werner@suse.de +* Thu Dec 16 1999 werner@suse.de - New version of killproc 1.13 * Bug fix in handling hard links for daemons using pid files * Bug fix: PROC pointers should not be volatile * Shorten nonsleeps for none daemon programs -* Tue Nov 09 1999 - werner@suse.de +* Tue Nov 09 1999 werner@suse.de - Avoid trouble with hard links of binaries -* Sun Nov 07 1999 - kukuk@suse.de +* Sun Nov 07 1999 kukuk@suse.de - mingetty: Add 1900 to tm_year, it contains the years since 1900. -* Wed Nov 03 1999 - werner@suse.de +* Thu Nov 04 1999 werner@suse.de - New killproc 1.12 * Fix option -q of startproc * Fix Bug in wait4 handling of startproc * Fix script detection: do not handle startproc, killproc, and checkproc as script interpreters -* Mon Nov 01 1999 - werner@suse.de +* Tue Nov 02 1999 werner@suse.de - Add a patch from Marius -* Fri Oct 29 1999 - werner@suse.de +* Fri Oct 29 1999 werner@suse.de - powerd should tell init if status is OK again -* Thu Sep 30 1999 - werner@suse.de +* Thu Sep 30 1999 werner@suse.de - New killproc version 1.11 * Some small speedups * Minor spell correction in the manual pages * Allow login onto tty's - Use RPM_OPT_FLAGS throughout -* Mon Sep 13 1999 - bs@suse.de +* Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. -* Tue Sep 07 1999 - werner@suse.de +* Wed Sep 08 1999 werner@suse.de - Enable mingetty resetting the terminal -* Fri Aug 06 1999 - werner@suse.de +* Fri Aug 06 1999 werner@suse.de - New killproc-1.10 * startproc which is able to sleep * better zombie handling - killproc doesn't ignore zombies - checkproc ignores zombies without `-z' by default - startproc checks zombie state of child while sleeping -* Tue Jul 06 1999 - werner@suse.de +* Tue Jul 06 1999 werner@suse.de - Fix pts problem of shutdown (dowall.c) -* Thu Jun 24 1999 - werner@suse.de +* Thu Jun 24 1999 werner@suse.de - Add lastb and its manual page -* Wed Jun 23 1999 - werner@suse.de +* Wed Jun 23 1999 werner@suse.de - Integrate newest mingetty patch of jurix - Update killproc version 1.9 * be more sufficient in setting user and/or group id - Update to sysvinit 2.76 * Integrate newest sysvinit patch of jurix into our patch. The command last is part of sysvinit. -* Tue Jun 22 1999 - werner@suse.de +* Wed Jun 23 1999 werner@suse.de - Update to new killproc version 1.8 * startproc knows about setsid to set up a new process session for the new task (option -s) * startproc can change the effective uid and/or gid for a process (option -u uid and/or -g gid) - Make spec file more handy for newer versions. -* Mon May 03 1999 - werner@suse.de +* Mon May 03 1999 werner@suse.de - Enable killproc-1.7.dif in specs file -* Mon May 03 1999 - werner@suse.de +* Mon May 03 1999 werner@suse.de - killproc shouldn't complain a disappeared job/thread -* Mon Apr 19 1999 - werner@suse.de +* Mon Apr 19 1999 werner@suse.de - mingetty: reset not only /dev/tty but /dev/vcs and /dev/vcsa also -* Fri Feb 26 1999 - werner@suse.de +* Fri Feb 26 1999 werner@suse.de - New killproc vesion 1.7 * read of /proc/ is secure against EINTR * handle script names ala `bash -x /usr/bin/myscript -y' -* Mon Jan 18 1999 - werner@suse.de +* Mon Jan 18 1999 werner@suse.de - Make killproc more smart, e.g. faster - Make startproc alpah compatible -* Thu Dec 10 1998 - ro@suse.de +* Thu Dec 10 1998 ro@suse.de - added last manpage - link init static -* Tue Dec 08 1998 - ro@suse.de +* Tue Dec 08 1998 ro@suse.de - use last from sysvinit-2.75 -* Mon Nov 30 1998 - werner@suse.de +* Mon Nov 30 1998 werner@suse.de - Close some races, unknowns, and difficulties in killproc tools -* Tue Nov 24 1998 - werner@suse.de +* Tue Nov 24 1998 werner@suse.de - Don't blame boot script with killproc having same name as the controlled daemon ... new kernel doesn't need this. -* Mon Nov 16 1998 - ro@suse.de +* Mon Nov 16 1998 ro@suse.de - install man-page for powerd -* Fri Nov 13 1998 - werner@suse.de +* Fri Nov 13 1998 werner@suse.de - Integrate powerd-2.0 for a replacment of the obsolate old one -* Mon Nov 02 1998 - ro@suse.de +* Mon Nov 02 1998 ro@suse.de - update to killproc-1.6 -* Thu Oct 22 1998 - ro@suse.de +* Thu Oct 22 1998 ro@suse.de - update to killproc-1.5 (take 2) -* Thu Oct 08 1998 - ro@suse.de +* Thu Oct 08 1998 ro@suse.de - killproc: libinit.c output of "can't open pid file" only "#if DEBUG" -* Tue Oct 06 1998 - ro@suse.de +* Wed Oct 07 1998 ro@suse.de - updated killproc to get rid of a memleak -* Mon Oct 05 1998 - ro@suse.de +* Mon Oct 05 1998 ro@suse.de - new version: killproc-1.4 -* Fri Jul 03 1998 - werner@suse.de +* Fri Jul 03 1998 werner@suse.de - added killproc-1.2, a replacement of the old killproc -* Wed May 06 1998 - florian@suse.de +* Wed May 06 1998 florian@suse.de - added an option to killproc to also kill process groups: killproc [-SIG] [-g] prog -* Tue Nov 04 1997 - mantel@suse.de +* Tue Nov 04 1997 mantel@suse.de - creation of dev/initctl fixed -* Thu Oct 23 1997 - ro@suse.de +* Thu Oct 23 1997 ro@suse.de - ready for autobuild