OBS User unknown 2009-07-09 11:54:14 +00:00 committed by Git OBS Bridge
parent 64db2193f2
commit 53b1d57779
4 changed files with 363 additions and 726 deletions

View File

@ -0,0 +1,178 @@
From: Olaf Kirch <okir@suse.de>
Subject: Use coarser locking for the log buffer
blogd claims and releases a mutex for every character it
writes into the log buffer. Change parselog to grab the lock
once, and release it when done parsing all of the input.
Signed-off-by: Olaf Kirch <okir@suse.de>
Index: showconsole-1.09/libconsole.c
===================================================================
--- showconsole-1.09/libconsole.c
+++ showconsole-1.09/libconsole.c 2009-01-26 16:58:00.000000000 +0100
@@ -346,9 +346,8 @@ static volatile ssize_t avail;
static inline void resetlog(void) { tail = head = data; avail = 0; }
-static inline void storelog(const unsigned char *const buf, const size_t len)
+static inline void __storelog(const unsigned char *const buf, const size_t len)
{
- lock(&llock);
if (len > end - tail) {
static int be_warned = 0;
if (!be_warned) {
@@ -360,13 +359,18 @@ static inline void storelog(const unsign
memcpy(tail, buf, len);
avail = (tail += len) - head;
xout:
- unlock(&llock);
return;
}
-static inline void addlog(const unsigned char c)
+static void storelog(const unsigned char *const buf, const size_t len)
{
lock(&llock);
+ __storelog(buf, len);
+ unlock(&llock);
+}
+
+static inline void __addlog(const unsigned char c)
+{
if (end - tail <= 0) {
static int be_warned = 0;
if (!be_warned) {
@@ -378,10 +382,16 @@ static inline void addlog(const unsigned
*tail = c;
avail = (tail += 1) - head;
xout:
- unlock(&llock);
return;
}
+static void addlog(const unsigned char c)
+{
+ lock(&llock);
+ __addlog(c);
+ unlock(&llock);
+}
+
static inline void writelog(void)
{
if (!flog)
@@ -492,6 +502,8 @@ static void parselog(unsigned char *buf,
ssize_t r = s, up;
unsigned char uprt[16];
+ lock(&llock);
+
while (r > 0) {
c = (unsigned char)*buf;
@@ -506,25 +518,25 @@ static void parselog(unsigned char *buf,
case 28 ... 31:
nl = 0;
spin = 0;
- addlog('^'); addlog(c + 64);
+ __addlog('^'); __addlog(c + 64);
break;
case '\n':
if (spin > 4) /* last spinner line */
- storelog(prog, strlen((char*)prog));
+ __storelog(prog, strlen((char*)prog));
nl = 1;
line++;
spin = 0;
- addlog(c);
+ __addlog(c);
break;
case '\r':
spin++;
if (spin < 5) {
if (spin > 1)
- addlog('\n');
+ __addlog('\n');
nl = 1;
}
if (spin == 5)
- storelog((unsigned char*)"\n<progress bar skipped>\n", 24);
+ __storelog((unsigned char*)"\n<progress bar skipped>\n", 24);
break;
case 14:
case 15:
@@ -543,8 +555,8 @@ static void parselog(unsigned char *buf,
case 160 ... 255:
if (spin < 5) {
if (spin == 1 && nl)
- addlog('\n');
- addlog(c);
+ __addlog('\n');
+ __addlog(c);
} else { /* Seems to be a lengthy spinner line */
static int old = 0;
static ssize_t p = 0;
@@ -561,14 +573,14 @@ static void parselog(unsigned char *buf,
case 127:
nl = 0;
spin = 0;
- addlog('^'); addlog('?');
+ __addlog('^'); __addlog('?');
break;
case 128 ... 128+26:
case 128+28 ... 159:
nl = 0;
spin = 0;
if ((up = snprintf((char*)uprt, sizeof(uprt), "\\%03o", c)) > 0)
- storelog(uprt, (size_t)up);
+ __storelog(uprt, (size_t)up);
break;
case 128+27:
spin = 0;
@@ -578,7 +590,7 @@ static void parselog(unsigned char *buf,
nl = 0;
spin = 0;
if ((up = snprintf((char*)uprt, sizeof(uprt), "0x%X", c)) > 0)
- storelog(uprt, (size_t)up);
+ __storelog(uprt, (size_t)up);
break;
}
break;
@@ -597,11 +609,11 @@ static void parselog(unsigned char *buf,
case 'E':
case 'D':
if (spin > 4) /* last spinner line */
- storelog(prog, strlen((char*)prog));
+ __storelog(prog, strlen((char*)prog));
nl = 1;
line++;
spin = 0;
- addlog('\n');
+ __addlog('\n');
break;
case '(':
state = ESsetG0;
@@ -674,11 +686,14 @@ static void parselog(unsigned char *buf,
unsigned char echo[64];
ssize_t len;
+ /* Release the lock while doing IO */
+ unlock(&llock);
if ((len = snprintf(echo, sizeof(echo), "\033[%lu;%dR", line, nl)) > 0)
safeout(fdread, echo, len);
else
safeout(fdread, "\033R", 2);
tcdrain(fdread);
+ lock(&llock);
}
break;
#endif
@@ -686,6 +701,8 @@ static void parselog(unsigned char *buf,
buf++;
r--;
}
+
+ unlock(&llock);
}
static void copylog(const unsigned char *buf, const size_t s)

View File

@ -22,8 +22,32 @@
makeboot: makeboot.c makeboot: makeboot.c
--- makeboot.c --- makeboot.c
+++ makeboot.c 2009-03-13 13:28:08.824501381 +0100 +++ makeboot.c 2009-06-29 12:51:15.794401972 +0200
@@ -278,8 +278,10 @@ static void filter_files(const char *dir @@ -46,18 +46,19 @@ static struct makenode *lookup_target(co
*/
static struct makenode *add_target(const char *name)
{
- struct makenode *node;
+ struct makenode *__restrict node;
struct makenode *prev, *t;
node = lookup_target(name);
if (node)
return node;
- node = xcalloc(1, sizeof(*node));
- node->name = strdup(name);
- if (! node->name) {
+ if (posix_memalign((void*)&node, sizeof(void*), alignof(struct makenode)+strsize(name)) < 0) {
fprintf(stderr, "Can't malloc: %s\n", strerror(errno));
exit(1);
}
+ memset(node, 0, alignof(struct makenode)+strsize(name));
+ node->name = ((char*)node)+alignof(struct makenode);
+ strcpy(node->name, name);
/* append to the list in alphabetical order */
prev = NULL;
@@ -278,15 +279,20 @@ static void filter_files(const char *dir
#endif #endif
ndirs = scandir(path, &dirlist, dirfilter, alphasort); ndirs = scandir(path, &dirlist, dirfilter, alphasort);
#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 #if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600
@ -35,3 +59,148 @@
#endif #endif
/* mark all matching nodes */ /* mark all matching nodes */
if (ndirs >= 0) { if (ndirs >= 0) {
for (i = 0; i < ndirs; i++) {
t = lookup_target(dirlist[i]->d_name + 3);
- if (t)
+ if (t) {
t->status = 1;
+ if (asprintf(&t->arg0, "%s/%s", path, dirlist[i]->d_name) < 0)
+ t->arg0 = (char*)0;
+ }
free(dirlist[i]);
}
free(dirlist);
@@ -524,8 +530,6 @@ int main(int argc, char **argv)
goto out;
}
- nodevec = xcalloc(1, sizeof(*nodevec));
-
snprintf(makefile, sizeof(makefile), "depend.%s", argv[1]);
parse_makefile(makefile);
@@ -534,7 +538,7 @@ int main(int argc, char **argv)
check_run_files(argv[1], argv[2], argv[3]);
out:
while ((nodevec = pickup_task())) {
- fprintf(stdout, "%s\n", nodevec->name);
+ fprintf(stdout, "%s (%s)\n", nodevec->name, nodevec->arg0);
finish_task(nodevec);
}
--- makeboot.h
+++ makeboot.h 2009-06-29 12:41:15.473901451 +0200
@@ -8,6 +8,7 @@ enum {
/* target nodes */
struct makenode {
char *name;
+ char *arg0;
int num_deps;
struct makelist *depend;
int num_sels;
@@ -33,3 +34,6 @@ extern struct makenode *pickup_task(void
extern void finish_task(struct makenode *n);
extern void *xcalloc(size_t nmemb, size_t size);
extern void print_run_result(int *resvec, struct makenode **nodevec, const char *action);
+
+#define alignof(type) ((sizeof(type)+(sizeof(void*)-1)) & ~(sizeof(void*)-1))
+#define strsize(string) ((strlen(string)+1)*sizeof(char))
--- startpar.c
+++ startpar.c 2009-06-29 12:24:47.632457764 +0200
@@ -66,7 +66,8 @@ static struct makenode **nodevec;
#define PBUF_SIZE 8192
struct prg {
- char *name;
+ const char *name;
+ const char *arg0;
int num;
int fd;
pid_t pid;
@@ -150,9 +151,9 @@ void closeall(void)
close(pidpipe[1]);
}
-void callsplash(int n, char *path, char *action)
+void callsplash(int n, const char *path, char *action)
{
- char *p;
+ const char *p;
char sbuf[32];
char tbuf[256];
pid_t pid;
@@ -345,17 +346,17 @@ void run(struct prg *p)
{
char path[128];
snprintf(path, sizeof(path), "/etc/init.d/%s", p->name);
- execlp(path, path, arg, (char *)0);
+ execlp(path, p->arg0, arg, (char *)0);
}
else if (arg)
- execlp(p->name, p->name, arg, (char *)0);
+ execlp(p->name, p->arg0, arg, (char *)0);
else
- execlp(p->name, p->name, (char *)0);
+ execlp(p->name, p->arg0, (char *)0);
perror(p->name);
_exit(1);
}
-int run_single(char *prg, int spl)
+int run_single(const char *prg, const char *arg0, int spl)
{
pid_t pid;
int r;
@@ -382,12 +383,12 @@ int run_single(char *prg, int spl)
{
char path[128];
snprintf(path, sizeof(path), "/etc/init.d/%s", prg);
- execlp(path, path, arg, (char *)0);
+ execlp(path, arg0 ? arg0 : path, arg, (char *)0);
}
else if (arg)
- execlp(prg, prg, arg, (char *)0);
+ execlp(prg, arg0 ? arg0 : prg, arg, (char *)0);
else
- execlp(prg, prg, (char *)0);
+ execlp(prg, arg0 ? arg0 : prg, (char *)0);
perror(prg);
_exit(1);
}
@@ -710,11 +711,11 @@ int main(int argc, char **argv)
{
if ((*nodevec = pickup_task()))
{
- *resvec = run_single((*nodevec)->name, calcsplash(0, 1, splashopt));
+ *resvec = run_single((*nodevec)->name, (*nodevec)->arg0, calcsplash(0, 1, splashopt));
finish_task(*nodevec);
}
} else
- *resvec = run_single(*argv, calcsplash(0, 1, splashopt));
+ *resvec = run_single(*argv, *argv, calcsplash(0, 1, splashopt));
goto finished;
}
@@ -818,9 +819,12 @@ int main(int argc, char **argv)
if (nodevec[num]->interactive)
interactive_task = p;
p->name = nodevec[num]->name;
+ p->arg0 = nodevec[num]->arg0 ? nodevec[num]->arg0 : nodevec[num]->name;
}
- else
+ else {
p->name = *argv++;
+ p->arg0 = p->name;
+ }
p->splashadd = calcsplash(num, argc, splashopt);
p->num = num++;
if (interactive_task)
@@ -855,7 +859,7 @@ int main(int argc, char **argv)
if (active == 0)
{
p = interactive_task;
- resvec[p->num] = run_single(p->name, p->splashadd);
+ resvec[p->num] = run_single(p->name, p->arg0, p->splashadd);
if (run_mode)
finish_task(nodevec[p->num]);
p->pid = 0;

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Tue Jun 30 16:32:50 CEST 2009 - werner@suse.de
- Add patch from Olaf Kirch to avoid using mutex locking for every
character (from Moblin:Factory)
-------------------------------------------------------------------
Mon Jun 29 13:46:44 CEST 2009 - werner@suse.de
- Start boot scripts with their symlinks name
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 27 13:26:50 CEST 2009 - werner@suse.de Wed May 27 13:26:50 CEST 2009 - werner@suse.de

View File

@ -30,7 +30,7 @@ Group: System/Base
PreReq: coreutils PreReq: coreutils
AutoReqProv: on AutoReqProv: on
Version: 2.86 Version: 2.86
Release: 210 Release: 211
Summary: SysV-Style init Summary: SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libselinux-devel libsepol-devel BuildRequires: libselinux-devel libsepol-devel
@ -65,6 +65,7 @@ Patch18: sysvinit-2.86-selinux.patch
Patch19: sysvinit-2.86-fuse-no-kill.patch Patch19: sysvinit-2.86-fuse-no-kill.patch
Patch20: startpar-preload.diff Patch20: startpar-preload.diff
Patch21: startpar-bootchart.diff Patch21: startpar-bootchart.diff
Patch22: showconsole-1.09-blogd-coarse-locking.diff
%description %description
System V style init programs by Miquel van Smoorenburg that control the System V style init programs by Miquel van Smoorenburg that control the
@ -109,6 +110,7 @@ pushd ../killproc-%{KPVER}
popd popd
pushd ../showconsole-%{SCVER} pushd ../showconsole-%{SCVER}
%patch -P 10 %patch -P 10
%patch -P 22 -p1
popd popd
pushd ../startpar-%{START} pushd ../startpar-%{START}
%patch -P 14 %patch -P 14
@ -327,726 +329,3 @@ rm -rf ${RPM_BUILD_ROOT}
%doc %{_mandir}/man8/mkill.8.gz %doc %{_mandir}/man8/mkill.8.gz
%changelog %changelog
* Wed May 27 2009 werner@suse.de
- Increase hash size for runtime linker of often used tools
* Mon May 11 2009 werner@suse.de
- Make it build
* Thu May 07 2009 werner@suse.de
- Reorder last patch in spec file
* Wed May 06 2009 crrodriguez@suse.de
- link /sbin/init dynamically, tested in 11.1, also
all other distros work just fine this way.
* Mon May 04 2009 werner@suse.de
- Blogd: shorten minimal timeout at the end and hold all pages
in physical RAM
* Thu Apr 30 2009 werner@suse.de
- For usleep(8) use nanosleep(2) instead of obsolete usleep(3)
* Wed Apr 29 2009 werner@suse.de
- mkill: Do not remove all pid's from list for one fuse process
* Tue Apr 28 2009 werner@suse.de
- Disable blogd on fastboot or quiet boot
* Tue Apr 21 2009 werner@suse.de
- Make initrd script for blogd depend on initrd script clock
* Fri Mar 27 2009 werner@suse.de
- Update to killproc 2.15
* New option -w for making startproc waiting on daemons parent
process (bnc#489473, bnc#482096 comment#21 ff)
* New option -W for making startproc waiting on files created
by the daemon (bnc#482096 comment#24 ff)
- Merge changes for preload code of startpar into one patch
- nfs4pidof: avoid nfs code for process which are on shadow mounts
points of NFS mounts
* Wed Mar 25 2009 coolo@suse.de
- exec one more time so that the preload part does not appear
under the name of the init script in bootcharts
* Wed Mar 25 2009 coolo@suse.de
- fix the preload functionality in telling the parent process through
SIGUSR1 and SIGUSR2 about preload's presence
* Fri Mar 13 2009 werner@suse.de
- mkill: avoid signaling process which are on shadow mounts points
that is e.g. processes on /dev/pts while running mkill on /dev
* Fri Mar 13 2009 werner@suse.de
- Do not overwrite SUSE define
* Fri Mar 13 2009 werner@suse.de
- startpar: fix file descriptor leak (bnc#485112)
* Wed Mar 11 2009 werner@suse.de
- nfs4pidof: make sure not to stumble on short named mount points
to avoid to terminate processes on wrong mount points
* Tue Mar 10 2009 werner@suse.de
- mkill: make sure not to stumble on short named mount points to
avoid to terminate processes on wrong mount points (bnc#466484)
* Mon Mar 09 2009 werner@suse.de
- Add patch from Debian people to startpar and mode to version 0.53
* Thu Mar 05 2009 werner@suse.de
- Update to killproc 2.14 to include most of our patches and to
use openat(2), readlinkat(2), and opendirat(2) system calls.
- Remove /dev/initctl from file list, do not create blogd pipe
/dev/blogd (bnc#475580)
* Fri Feb 20 2009 werner@suse.de
- make sure that newline is printed out for last(1) (bnc#471386)
* Thu Feb 12 2009 coolo@suse.de
- support preload in its job in giving it the init scripts to preload
- don't wait 0.3s when we need only 0.03
* Fri Feb 06 2009 ro@suse.de
- fix build (move static int loop before first usage)
* Tue Jan 27 2009 werner@suse.de
- Do not terminate udevd with mkill(8)
- Do not terminate udevd with killall5(8)
- Avoid chrashing startpar due recursion caused by loops
* Mon Jan 26 2009 werner@suse.de
- Do not kill fuse user space processes with mkill(8) (bnc#466484)
- Minimize fuse patch for killall5(8) by using readlinkat(2)
* Wed Dec 10 2008 werner@suse.de
- Mkill(8): add the option -0 for debugging and wait upto 3 seconds
if a signal was send.
* Fri Dec 05 2008 werner@suse.de
- New tool in killproc source tree: mkill(8) for sending all
processes making a active mount busy a signal, this avoid fuser.
* Fri Dec 05 2008 werner@suse.de
- New tool in killproc source tree: vhangup(8) for hanging up
programs on terminal and sending SIGHUP, this avoids fuser.
* Wed Nov 19 2008 werner@suse.de
- Avoid error messages if blogd is closed premature
* Tue Nov 18 2008 werner@suse.de
- Mount devpts in initrd (bnc#442891)
* Wed Oct 01 2008 werner@suse.de
- Minimize fuse patch
* Wed Oct 01 2008 ro@suse.de
- fix fuse_kill patch so that it does not break pidof
* Wed Oct 01 2008 werner@suse.de
- Avoid stat(2) for all network based file systems (bnc#409011)
* Wed Sep 17 2008 uli@suse.de
- killall5: don't kill FUSE filesystems (Debian bug #476698)
* Mon Sep 15 2008 ro@suse.de
- add detection for OBS build environment
* Wed Sep 03 2008 hare@suse.de
- Call mkinitrd_setup during %%post and %%postun (bnc#413709)
* Mon Aug 25 2008 prusnak@suse.cz
- enabled SELinux support [Fate#303662]
* Wed Aug 13 2008 werner@suse.de
- Startpar: give posix_fadvise a try on boot scripts even if most
of them are very small
* Mon Aug 04 2008 werner@suse.de
- Imake chroot detections to handle inodes and devices (bnc#408959)
* Wed Jul 23 2008 hare@suse.de
- Include mkinitrd scriptlets.
* Fri Jul 18 2008 werner@suse.de
- Make a new startpar version 0.52
* Should know about .depend.halt of new insserv
* Fri Jul 04 2008 werner@suse.de
- Fix a long standing bug in startpar introduced by implementing
the make like behaviour (bnc#394926)
- Make a new startpar version 0.51
* Fri Jun 13 2008 werner@suse.de
- Let blogd detect changes of screen size, set new size pty pair,
and if process group is not init send a SIGWINCH (bnc#259577)
- In startpar use a signal handler on SIGWINCH (bnc#259577)
* Wed Jun 11 2008 werner@suse.de
- Startpar: try to reduce race if kbd change tty size (bnc#259577)
* Tue May 20 2008 werner@suse.de
- On halt flush not only unmanged disk but also removable devices
like usb sticks (bnc#386487 related to bnc#229210)
* 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
- Add cosmetic patch for startpar from the Debian people
* 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
- startpar: make iorate a double
* 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
- startpar: mark started processes as running
* 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
- bug #229210: avoid HDIO_DRIVE_CM ioctl for real SCSI disks.
* 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
- For bug #229210: skip real SCSI disks, also flush disk cache for
SATA and ATA disks.
* Wed Jun 06 2007 werner@suse.de
- More on bug #229210: do not shutdown allready managed disks
* 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
- 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
- Correct exit status of checkproc n case of using a pid file,
thanks to Alessandro Soraruf
* 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
- 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
- More on delayed utmp write: redo the write on telinit q (#148038)
* 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
- 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
- Enable showconsole to provide the major and minor device number
instead of the device file name.
* 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
- Reduce buffer usage for reading /proc/stat
* Mon May 15 2006 werner@suse.de
- Double buffer for /proc/stat for super large systems (#175385)
* Fri May 12 2006 olh@suse.de
- do not strip startpar and start-stop-daemon binaries
* Thu Mar 16 2006 werner@suse.de
- Do not rely on timeout after EINTR of select()
* 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
- Close high file descriptors even for single jobs (bug #148668)
* 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
- converted neededforbuild to BuildRequires
* Wed Dec 21 2005 werner@suse.de
- Remove not needed binaries on s390
* Mon Dec 05 2005 od@suse.de
- Created/added patch for option -F (full time) (bug #136978)
* Mon Dec 05 2005 od@suse.de
- Added options -a, -d and -i to usage message
* 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
- don't build as root
* 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
- Update to sysvinit 2.86
* Tue Sep 20 2005 werner@suse.de
- Make it build even on s390
* 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
- do not leak stdout fd to splash process (bug #105999)
* 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
- Enable patch for killproc
* 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
- Fix typo.
* 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
- Make blogd work even with new root file system behaviour
* 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
- Showconsole: more names no belonging to terminals (bug #80304)
* Tue Apr 05 2005 werner@suse.de
- startpar: fix endless loop and race condition (bug #74256)
* Sun Apr 03 2005 aj@suse.de
- Further fixes for GCC4.
* Thu Mar 24 2005 uli@suse.de
- fixed to build with GCC4
* Wed Mar 09 2005 mls@suse.de
- startpar: fix splash progress bar if "make" mode is enabled
* 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
- 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
- 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
- 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
- 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
- don't call /sbin/splash if proc was unmounted
* 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
- change bootsplash 'S' option handling to new bootsplash design
- also set progressbar on the fly
* 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
- startproc: get wait status of already terminated parents on very
fast systems with high load during boot.
* 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
- Remove any other workaround for hanging write
* Tue Jun 01 2004 werner@suse.de
- Remove ioctl workaround in blogd due it does not work
* 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
- Catch negative return values of safein which may fix bug #34840
* 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
- Fix cut&paste error
* Mon Mar 22 2004 werner@suse.de
- Support udev within blogd
* 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
- 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
- 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
- Use largest int type for device numbers
* 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
- 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
- Wait on write if kernel returns with EAGAIN
* Sun Feb 22 2004 schwab@suse.de
- Fix use of uninitialized variable.
* 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
- Move mingetty in extra package
* 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
- Redo the rename of barrier define to mem_barrier.
* 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
- Rename barrier define to mem_barrier (to avoid clash with kernel
headers)
* Tue Sep 09 2003 werner@suse.de
- Reenable fdatasync in blogd because linuxpthreads are fixed now
* Mon Sep 08 2003 werner@suse.de
- blogd: Be sure that _REENTRANT is defined for libconsole.c
* 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
- 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
- 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
- Change detection of serial versus terminal lines (bug #28490)
* Thu Jul 24 2003 uli@suse.de
- fixed to build on s390x
* Thu Jul 03 2003 werner@suse.de
- Make flags transparent in startproc.c
* Thu Jul 03 2003 werner@suse.de
- Make killproc compliant with newest LSB spec (bug #24909)
* Tue Jun 24 2003 werner@suse.de
- Ditto
* Mon Jun 23 2003 werner@suse.de
- Make it build even on s390/s390x
* Mon Jun 23 2003 kukuk@suse.de
- Remove not packaged files from buildroot.
* Mon Jun 23 2003 kukuk@suse.de
- Remove compat link for old SPARC kernel
* 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
- also set the scroll region to the full window (ESC [ r) when
--noclear is not set.
* 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
- New showconsole/blogd version 1.06
* Threaded I/O stuff
* 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
- Fix script handling of killproc for several kernel versions
(bug #25767)
* 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
- Be less memory consuming with showconsole 1.04
* 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
- Update to mingetty 0.9.6s
* Be sure to get controlling tty
* Avoid overruns in string handling
* 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
- Update to killproc 2.05:
* Change usleep which now calls sched_yield() for 0 microseconds
* 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
- fixed deprecated multiline string literal
* 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
- 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
- adding blogger and blogd to s390/s390x
* 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
- Expand possible pid string length from 22 to 255
* 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
- Update to killproc 2.03
- Fix pointer for ioctl in libconsole of showconsole
* 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
- Avoid trouble with stupid gcc 3.1 parser and inlined macros.
* 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
- changed path to libcrypt in Makefile to also compile
on lib64-archs
* Tue Feb 12 2002 ro@suse.de
- fix owner/group
* Tue Jan 15 2002 werner@suse.de
- Different usage messages for startproc and start_daemon (#12692)
* Fri Dec 14 2001 werner@suse.de
- Skip spinner of fsck/e2fsck in boot logging file
* Mon Oct 01 2001 werner@suse.de
- Build and install utmpdump
* 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
- Fix race on waiting on console I/O: just try open log file first
* Thu Sep 20 2001 werner@suse.de
- Ignore interrupted waitpid(2) calls
* Wed Sep 19 2001 werner@suse.de
- Add forgotten configuration of powerd
* 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
- startproc: close boot logging FIFO before executing a daemon.
* Wed Sep 05 2001 werner@suse.de
- blogd: really read the console a half second (bug #9899)
* 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
- Make blogd/showconsole more robustly against errors
- Add some fixes of bug #9898
* Fri Aug 24 2001 werner@suse.de
- Activate 64 bit file handling interface (large file support)
* 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
- 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
- back out read return 0 patch and don't build showconsole on s390x
* Mon Jun 25 2001 bk@suse.de
- don't include showconsole programs in filelist on s390x
* 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
- don't try to build showconsole on s390x(not supported by kernel)
* 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
- 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
- Remove previous barrier() calls but use them on empty loops.
* 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
- Add default umask 022 at boot time
* Tue Apr 17 2001 werner@suse.de
- Few minor changes to killproc and co.
* 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
- blogd: complain about missing ioctl TIOCGDEV at compile
and run time
* 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
- Startproc/killproc: handle by RPM moved and deleted exe links
* Wed Mar 21 2001 werner@suse.de
- Add patch for rlstat() of schowconsole (Andreas Schwab)
* Mon Mar 19 2001 werner@suse.de
- Startproc/killproc: handle deleted exe links
* Fri Mar 09 2001 werner@suse.de
- Add forgotten usleep to file list
* 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
- 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
- Make strncmp of exe link and fullname working upto MAXNAMLEN
* Tue Jan 09 2001 werner@suse.de
- Use int instead of kdev_t in bootlogd.c
* 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
- 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
- fixed install for killproc
* 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
- 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
- enabled reboot on s390
* Sun Jun 25 2000 bk@suse.de
- removed some not needed files on s390
* Tue May 30 2000 werner@suse.de
- Correct path of powerstatus (/var/run/powerstatus) of powerd
* Wed May 24 2000 garloff@suse.de
- Added minimal docu for swsusp.
* 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
- Added software-suspend support to init.
- login option of mingetty limits logname to 42 chars.
* Wed May 10 2000 garloff@suse.de
- Working patch for mingetty to support devfs.
* Wed May 10 2000 garloff@suse.de
- Preliminary patch for devfs.
* 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
- 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
- Ignore SIGTERM for syslogd because this daemon use that signal
to control the parent process.
- Make read/write of /etc/ioctrl.save EINTR safe
- Use defined special character given from <termios.h>
- 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
- Avoid script handling for kernel threads
* Sun Mar 05 2000 werner@suse.de
- If open fails -1 is returned (close bug #2200)
* Fri Mar 03 2000 kukuk@suse.de
- Create /usr/bin/shutdown link for UltraSPARC kernel
* 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
- 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
- Avoid trouble with hard links of binaries
* Sun Nov 07 1999 kukuk@suse.de
- mingetty: Add 1900 to tm_year, it contains the years since 1900.
* 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
* Tue Nov 02 1999 werner@suse.de
- Add a patch from Marius
* Fri Oct 29 1999 werner@suse.de
- powerd should tell init if status is OK again
* 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
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Tue Sep 07 1999 werner@suse.de
- Enable mingetty resetting the terminal
* 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
- Fix pts problem of shutdown (dowall.c)
* Thu Jun 24 1999 werner@suse.de
- Add lastb and its manual page
* 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
- 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
- Enable killproc-1.7.dif in specs file
* Mon May 03 1999 werner@suse.de
- killproc shouldn't complain a disappeared job/thread
* Mon Apr 19 1999 werner@suse.de
- mingetty: reset not only /dev/tty<line> but /dev/vcs<line> and
/dev/vcsa<line> also
* 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
- Make killproc more smart, e.g. faster
- Make startproc alpah compatible
* Thu Dec 10 1998 ro@suse.de
- added last manpage
- link init static
* Tue Dec 08 1998 ro@suse.de
- use last from sysvinit-2.75
* Mon Nov 30 1998 werner@suse.de
- Close some races, unknowns, and difficulties in killproc tools
* 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
- install man-page for powerd
* 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
- update to killproc-1.6
* Thu Oct 22 1998 ro@suse.de
- update to killproc-1.5 (take 2)
* 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
- updated killproc to get rid of a memleak
* Mon Oct 05 1998 ro@suse.de
- new version: killproc-1.4
* Fri Jul 03 1998 werner@suse.de
- added killproc-1.2, a replacement of the old killproc
* 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
- creation of dev/initctl fixed
* Thu Oct 23 1997 ro@suse.de
- ready for autobuild