Accepting request 1087334 from Base:System

- Update to sysvinit 3.07
  * Fixed killall5 so that processes in the omit list are
    not sent any signals, including SIGSTOP.
  * Fixed usage message for killall5 to be more accurate.
  * pidof was not returning PIDs of programs which were launched
    using a symbolic link. (ie /tmp/sleep when /tmp/sleep links to /usr/bin/sleep).
    This is now fixed as we check both the realpath and symbolic path for processes.
    In other words, "pidof /tmp/sleep" and "pidof /usr/bin/sleep" will return
    the same PIDs when /tmp/sleep is a symbolic link to /usr/bin/sleep.
  * Fixed memory initialization error in pidof. Fix provided by Markus Fischer.
  * Accepted patch from Mark Hindley  which avoids clearing realpath information
    in pidof when trying to find matching executables.
  * Mark Hindley fixed typo in es.po
  * Mark Hindley cleaned up translation code in src/Makefile. 
  * Drop sulogin from Debian build. Removed libcrypt-dev dependency.
  * Fixed pt translation pages which were failing due to mis-matched
    open/close tags.
  * Makefile now respects ROOT prefix when setting up pidof-to-killall5
    symbolic link.
  * Removed redundant translation files from man directory.
  * Makefile now respects DESTDIR. User can specify either ROOT= or DESTDIR=
    to set install prefix.
  * Helge Kreutzmann provided updated Makefile for
    translation of manual pages. This has been added
    to the man directory.
  * Added sys/sysmacros.h include in mountpoint.c to fix
    compiler errors on systems where major/minor macros were not defined.
  * Applied patches from Mark Hindley to clean up man page
    Makefile, translations and installs of new man pages.
  * Remove reliance on linux/fs.h as it conflicts with glibc 2.36.

OBS-URL: https://build.opensuse.org/request/show/1087334
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sysvinit?expand=0&rev=181
This commit is contained in:
Dominique Leuenberger 2023-05-17 08:52:37 +00:00 committed by Git OBS Bridge
commit a98f77545b
10 changed files with 434 additions and 47 deletions

8
startpar-0.65.tar.xz.sig Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN PGP SIGNATURE-----
iLMEAAEKAB0WIQSlc+1eaHpA+J0w5r4qcutBkG+OSQUCXwO79gAKCRAqcutBkG+O
SVLjBACuhFWXX5DLGEQyWgkMps8tn6VwABdXKovoWp7ncD1ijRULpM9g3P0SWAuv
HfEnxifgs9INLtvtO/neAkVr5gH1sFt9CCx9vhpqEmGX8vI3GjDgl46DAeta3N5R
OKmO7p/MMryvCMWtDNI9BtcFajJ76zG2CSq8vy8zKrjV5Th5mw==
=5pnm
-----END PGP SIGNATURE-----

View File

@ -4,8 +4,8 @@
2 files changed, 3 insertions(+), 1 deletion(-)
--- man/killall5.8
+++ man/killall5.8 2019-09-18 07:39:31.188377719 +0000
@@ -44,6 +44,7 @@ process were killed, and 1 if it was una
+++ man/killall5.8 2022-03-29 07:07:32.541031027 +0000
@@ -44,7 +44,8 @@ process were killed, and 1 if it was una
.SH SEE ALSO
.BR halt (8),
.BR reboot (8),
@ -13,10 +13,11 @@
+.BR pidof (8),
+.BR killproc (8)
.SH AUTHOR
Miquel van Smoorenburg, miquels@cistron.nl
.MT miquels@\:cistron\:.nl
Miquel van Smoorenburg
--- man/pidof.8
+++ man/pidof.8 2019-09-18 07:40:18.859489726 +0000
@@ -101,6 +101,7 @@ The \-z flag (see above) tells pidof to
+++ man/pidof.8 2022-03-29 07:06:43.889930825 +0000
@@ -102,6 +102,7 @@ The \fB\-z\fP flag (see above) tells \fB
processes, at the risk of failing or hanging.
.SH SEE ALSO

View File

@ -1,10 +1,29 @@
---
src/killall5.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
src/killall5.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 132 insertions(+), 13 deletions(-)
--- src/killall5.c
+++ src/killall5.c 2019-09-18 07:41:29.094181373 +0000
@@ -478,6 +478,38 @@ int readarg(FILE *fp, char *buf, int sz)
+++ src/killall5.c 2023-05-02 14:14:02.198263058 +0000
@@ -67,6 +67,9 @@
#endif
#define STATNAMELEN 15
+#define DO_NETFS 2
+#define DO_STAT 1
+#define NO_STAT 0
/* Info about a process. */
typedef struct proc {
@@ -76,6 +79,8 @@ typedef struct proc {
char *argv1; /* Name as found out from argv[1] */
char *argv1base; /* `basename argv[1]` */
char *statname; /* the statname without braces */
+ ino_t ino; /* Inode number */
+ dev_t dev; /* Device it is on */
pid_t pid; /* Process ID. */
pid_t sid; /* Session ID. */
char kernel; /* Kernel thread or zombie. */
@@ -473,20 +478,54 @@ int readarg(FILE *fp, char *buf, int sz)
}
/*
@ -43,10 +62,51 @@
* Read the proc filesystem.
* CWD must be /proc to avoid problems if / is affected by the killing (ie depend on fuse).
*/
@@ -676,6 +708,26 @@ int readproc(int do_stat)
p->nfs = 0;
-int readproc()
+int readproc(int do_stat)
{
DIR *dir;
FILE *fp;
PROC *p, *n;
struct dirent *d;
+ struct stat st;
char path[PATH_MAX+1];
char buf[PATH_MAX+1];
char *s, *q;
unsigned long startcode, endcode;
int pid, f;
+ ssize_t len;
char process_status[11];
switch (do_stat) {
/* Open the /proc directory. */
@@ -593,8 +632,12 @@ int readproc()
p->kernel = 1;
fclose(fp);
if ( (! list_dz_processes) &&
- (strchr(process_status, 'Z') != NULL) ) {
- /* Ignore zombie processes */
+ ( (strchr(process_status, 'D') != NULL) ||
+ (strchr(process_status, 'Z') != NULL) ) ){
+ /* Ignore zombie processes or processes in
+ disk sleep, as attempts
+ to access the stats of these will
+ sometimes fail. */
if (p->argv0) free(p->argv0);
if (p->argv1) free(p->argv1);
if (p->statname) free(p->statname);
@@ -661,11 +704,76 @@ int readproc()
/* Try to stat the executable. */
snprintf(path, sizeof(path), "/proc/%s/exe", d->d_name);
- p->pathname = (char *)xmalloc(PATH_MAX);
- memset(p->pathname, 0, PATH_MAX);
- if (readlink(path, p->pathname, PATH_MAX) == -1) {
- p->pathname = NULL;
- }
+
+ p->nfs = 0;
+
+ switch (do_stat) {
+ case NO_STAT:
+ if ((len = readlink(path, buf, PATH_MAX)) < 0)
+ break;
@ -54,8 +114,9 @@
+
+ /* Check for uevent handler, mdmon, and for providers
+ of FUSE filesystems */
+ if ((strncmp(buf, "/sbin/udevd", 11) == 0) ||
+ if ((strncmp(buf, "/usr/sbin/mdmon", 15) == 0) ||
+ (strncmp(buf, "/sbin/mdmon", 11) == 0) ||
+ (strncmp(buf, "/usr/lib/systemd/systemd-udevd", 30) == 0) ||
+ (is_fuse(d->d_name))) {
+ OMIT *restrict optr;
+
@ -67,6 +128,108 @@
+ }
+
+ break;
case DO_NETFS:
if ((p->nfs = check4nfs(path, buf)))
goto link;
+ case DO_NETFS:
+ if ((p->nfs = check4nfs(path, buf)))
+ goto link;
+ /* else fall through */
+ case DO_STAT:
+ if (stat(path, &st) != 0) {
+ char * ptr;
+
+ len = readlink(path, buf, PATH_MAX);
+ if (len <= 0)
+ break;
+ buf[len] = '\0';
+
+ ptr = strstr(buf, " (deleted)");
+ if (!ptr)
+ break;
+ *ptr = '\0';
+ len -= strlen(" (deleted)");
+
+ if (stat(buf, &st) != 0)
+ break;
+ p->dev = st.st_dev;
+ p->ino = st.st_ino;
+ p->pathname = (char *)xmalloc(len + 1);
+ memcpy(p->pathname, buf, len);
+ p->pathname[len] = '\0';
+
+ /* All done */
+ break;
+ }
+
+ p->dev = st.st_dev;
+ p->ino = st.st_ino;
+
+ /* Fall through */
+ default:
+ link:
+ len = readlink(path, buf, PATH_MAX);
+ if (len > 0) {
+ p->pathname = (char *)xmalloc(len + 1);
+ memcpy(p->pathname, buf, len);
+ p->pathname[len] = '\0';
+ }
+ break;
+ }
/* Link it into the list. */
p->next = plist;
@@ -728,6 +836,7 @@ PIDQ_HEAD *pidof(char *prog)
{
PROC *p;
PIDQ_HEAD *q;
+ struct stat st;
char *s;
int nfs = 0;
int dostat = 0;
@@ -742,7 +851,15 @@ PIDQ_HEAD *pidof(char *prog)
/* Try to stat the executable. */
memset(real_path, 0, sizeof(real_path));
if ( (prog[0] == '/') && ( realpath(prog, real_path) ) ) {
- dostat++;
+
+ if (check4nfs(prog, real_path))
+ nfs++;
+
+ if (real_path[0] != '\0')
+ prog = &real_path[0]; /* Binary located on network FS. */
+
+ if ((nfs == 0) && (stat(prog, &st) == 0))
+ dostat++; /* Binary located on a local FS. */
}
/* Get basename of program. */
@@ -758,9 +875,11 @@ PIDQ_HEAD *pidof(char *prog)
q = init_pid_q(q);
/* First try to find a match based on dev/ino pair. */
- if (dostat) {
+ if (dostat && !nfs) {
for (p = plist; p; p = p->next) {
- if (p->pathname && strcmp(real_path, p->pathname) == 0) {
+ if (p->nfs)
+ continue;
+ if (p->dev == st.st_dev && p->ino == st.st_ino) {
add_pid_to_q(q, p);
foundone++;
}
@@ -1026,7 +1145,7 @@ int main_pidof(int argc, char **argv)
init_nfs(); /* Which network based FS are online? */
/* Print out process-ID's one by one. */
- readproc();
+ readproc((flags & PIDOF_NETFS) ? DO_NETFS : DO_STAT);
for(f = 0; f < argc; f++) {
if ((q = pidof(argv[f])) != NULL) {
@@ -1171,7 +1290,7 @@ int main(int argc, char **argv)
}
/* Read /proc filesystem */
- if (readproc() < 0) {
+ if (readproc(NO_STAT) < 0) {
if (sent_sigstop)
kill(-1, SIGCONT);
return(1);

View File

@ -1,11 +1,9 @@
---
src/Makefile | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
src/Makefile | 25 ++++++++-----------------
1 file changed, 8 insertions(+), 17 deletions(-)
Index: src/Makefile
===================================================================
--- src/Makefile.orig
+++ src/Makefile
--- src/Makefile
+++ src/Makefile 2023-05-12 13:30:54.143754871 +0200
@@ -9,7 +9,7 @@
#
@ -46,19 +44,18 @@ Index: src/Makefile
MANDB :=
endif
@@ -205,13 +201,8 @@ install: all
@@ -210,13 +206,8 @@ install: all
# $(INSTALL_DIR) $(ROOT)/etc/
$(INSTALL_DIR) $(ROOT)/etc/inittab.d
# $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/
- ln -sf halt $(ROOT)/sbin/reboot
- ln -sf halt $(ROOT)/sbin/poweroff
- ln -sf init $(ROOT)/sbin/telinit
- ln -sf /sbin/killall5 $(ROOT)/bin/pidof
+ ln -sf killall5 $(ROOT)/sbin/pidof
ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
- if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
- ln -sf last $(ROOT)/usr/bin/lastb; \
- fi
+ ln -sf killall5 $(ROOT)/sbin/pidof
+ ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
$(INSTALL_DIR) $(ROOT)/usr/include/
$(INSTALL_DATA) initreq.h $(ROOT)/usr/include/
$(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/
for man in $(MANPAGES) ; do \

BIN
sysvinit-3.00.tar.xz (Stored with Git LFS)

Binary file not shown.

3
sysvinit-3.07.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15397b1342a5a48c8de5787066a01fa661605536fb637afc797b980b46a619e4
size 263352

16
sysvinit-3.07.tar.xz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEwaRDLYiJZynkMAsEr9G5i/MnOBIFAmROnV8ACgkQr9G5i/Mn
OBK5MxAAhGSN9C7UnlFHgNFKJ6uJ6C3u9E/1YvBz2pApJZdhYjwXUETXQwRCi2n0
z2/4Z1uva1R+wLfgtvzOuPgUdLaoRrQJkaVmxkrwHri7NMKdq2a69i0QhJfx0yUF
knR59Ve17RpiKsao5+8+cCtSAs+gQxOHH+FLbp+EN0Ks6dHdSyJuCbyP3/8tP+O6
9/Bb0NnEDzkWrt+F8nPDZ7IwCYqZc6fwhMbSOtHajt5OHSVP2++SPrQ+sf6oo6SG
oYDwob3RbGUxBIp3LKDQJz7OQcil5nke8IqGs/cZ2tffFIn+pybj5bHPvYm8feWp
vxxS6AApjjLcMJtL7dM8fczweh8IOD8g3J64ledbWlb5is5LUDaS15Pe/0kvhULW
xMybtlDU52aGy0LM7jGZJSezL+GWn0hPlUivmLySp7iKUdXkLTJZoHk0PwICW8MX
u4/dXMu1zwdb5aaVtTbwoEOgKRHbonj/CMJ6800fqtCACkRUCrP/p203JNJjsGQW
lDS+oE54S075Wu9pESHfLtOItrZzjAeEEQyxWTW1Ek3wGx7NgRKwVvc1QxnsoaaA
ZSD2anNMlLR1vKtWSHS6lTxOiIaX9mKFRtVO7it2eD5UucnP6pb53YvdG4B43iyu
uyyFoYqlgKIC+++91fBI3ykH5UMS3A4CYj+WWMhZCNK2JNFfivM=
=tOpY
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,66 @@
-------------------------------------------------------------------
Fri May 12 12:08:37 UTC 2023 - Dr. Werner Fink <werner@suse.de>
- Update to sysvinit 3.07
* Fixed killall5 so that processes in the omit list are
not sent any signals, including SIGSTOP.
* Fixed usage message for killall5 to be more accurate.
* pidof was not returning PIDs of programs which were launched
using a symbolic link. (ie /tmp/sleep when /tmp/sleep links to /usr/bin/sleep).
This is now fixed as we check both the realpath and symbolic path for processes.
In other words, "pidof /tmp/sleep" and "pidof /usr/bin/sleep" will return
the same PIDs when /tmp/sleep is a symbolic link to /usr/bin/sleep.
* Fixed memory initialization error in pidof. Fix provided by Markus Fischer.
* Accepted patch from Mark Hindley which avoids clearing realpath information
in pidof when trying to find matching executables.
* Mark Hindley fixed typo in es.po
* Mark Hindley cleaned up translation code in src/Makefile.
* Drop sulogin from Debian build. Removed libcrypt-dev dependency.
* Fixed pt translation pages which were failing due to mis-matched
open/close tags.
* Makefile now respects ROOT prefix when setting up pidof-to-killall5
symbolic link.
* Removed redundant translation files from man directory.
* Makefile now respects DESTDIR. User can specify either ROOT= or DESTDIR=
to set install prefix.
* Helge Kreutzmann provided updated Makefile for
translation of manual pages. This has been added
to the man directory.
* Added sys/sysmacros.h include in mountpoint.c to fix
compiler errors on systems where major/minor macros were not defined.
* Applied patches from Mark Hindley to clean up man page
Makefile, translations and installs of new man pages.
* Remove reliance on linux/fs.h as it conflicts with glibc 2.36.
Patch provided by lucascars.
* Mark Hindley supplied patch to make bootlogd compile
on GNU Hurd systems. Was missing major/minor macro.
* Fixed formatting in init.8 man page.
Patch provided by Mark Hindley.
* Added q and Q flags to synopsis in shutdown manual page.
* Applied fixes for markup and spacing in manual pages.
Patch provided by Mario Blattermann.
* Added translation framework (po4a) from Mario Blttermann.
* Added Makefile for man/ directory. Will handle translations
and substitutions.
* Applied new translations for multiple languages from Mario Blattermann.
* Added ability to use "@" symbol in command named in the inittab file. This
treats commands as literal and does not launch a shell to interpret them.
* Updated inittab manual page to include overview of symbols which trigger
a shell interpretor and how to disable them using the @ symbol.
* Introduced change which adds error checking in bootlogd when performing
chdir(). - Provided by Alexander Vickberg
* Add check for console using TIOCGDEV on Linux systems in bootlogd to
make finding console more robust. - Provided by Alexander Vickberg
* Default to showing processes in the uninterruptable state (D).
The -z flag no longer affects whether processes in D state are shown.
The -z flag does still toggle whether zombie (Z) processes are shown.
* Removed unnecessary check which is always true from init tab parsing.
- Port patches
* sysvinit-2.88dsf-suse.patch
* sysvinit-2.90-no-kill.patch
* sysvinit-2.90.dif
- Add keyring as well as signature for source tar ball of sysvinit
-------------------------------------------------------------------
Thu May 4 16:57:57 UTC 2023 - Dirk Müller <dmueller@suse.com>

133
sysvinit.keyring Normal file
View File

@ -0,0 +1,133 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBE9OedMBCADE5cOljya4PFe9mWW6p+USPCJL3ONX8eNd7kgR/V/ypUp/tweL
H9vgvFutSp3C2/ANUYHERY32+UcftZsPqFam/GLTmfi0F9DsM9itZKTops4XOa2y
JS1FDMiZpusOYvg6lTnG0G7B2ybG8YJuFyG2amqE4LYTZg+0tYoGOr9qA2h5xs77
hN+f+idj2iyzyJDZgGDpqQxFV0KEFK7G4lNd7eIjGue/FneuHt5H6yyNXSNyjdQx
TZjyFZQuGcFTTgUFQGFhc3OHriYbCoQlKhfCmyxCiJizqRIfSjisgvnrXM1BmDuC
/4umGPInbMJEsBjcpA1u92HL2EzYvc1p5tSPABEBAAG0KEplc3NlIFNtaXRoIDxq
c21pdGhAcmVzb25hdGluZ21lZGlhLmNvbT6JATgEEwECACIFAk9OedMCGy8GCwkI
BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPo+x5pMDBHMz0wH/RVn4LXqNbPDXFkJ
ZHM2COhJRI8IcOZr/jh129OR6NcfGJdQSkv/KjNpIWflDXIqBEfnfRN++KB/cjkp
xzgQY4ABtpm97s4ML1Nm174UTynhqF14nRTaLi5lBqJzx4Cx0+mNiHJgUEaUKbRk
4dMZSb8/Lx1jMSpieP/NP5oZAbM1Vxcz1l2KPNRrr3Tu2FPnmy1CQV0/o8WwwZn/
/utOmr6bLO1FZG34HmCkZMc1V0+9VQFyMulFxWZzSzEmLYqv6k4d0zKaGwnDCzux
Fe/bjSXUnp8ftvn7J7h5EoAen6nXVvupPGJj19TSpxqyRGnnjXHMSgK/Fe0qzIPp
CPzU8PO4jQRPTnnTAQQAyek6C0O9n/tt+dwa9OIXPEv/VlCVRe3I9/6SxSHZHx5+
S2QSYZh2c1Mnutg0blc8HsecZYbiVP8lCeNKkavHMo3G6sH8PYmI1+KXLWWOCsnK
sMk4SQJqeFDlJy3u8c74N+qxZ6nEOs7K/AHaGtyQkWenf7PQkgpazm4LnU2PavkA
EQEAAYkBvQQYAQIACQUCT0550wIbLgCoCRD6PseaTAwRzJ0gBBkBAgAGBQJPTnnT
AAoJECpy60GQb45JVaYD/2mf35Hmc1y6ccE/OhY4HdmowVb1KTLZS/vY0aBbyrVn
rEdj6FxKs5c9IFZbxml36fiBRuzf7tR5YyhY9JfWmishM4qO0pfGxlJGyOI7lRAU
7JM7uE+oMPaRzLLyLOdsSenRiiHr+anV0N9byhWE4N0WwwknrOg6yqWyABEBf2cr
5ewH/jXcTqa7S3cuO3PsXaUY/RGWaHChZGnkp1mZAa8gx4B+tn2M8PLkVi5tjf/J
NQS0jSwoHmTROSKwxu+lUePKy/gjZRoROiq7zqa31jUlPZVZ8zBq1bSjB7V+1GyS
793Yuj2o14rrFSclPAlJXBwOn7SIoUA+ZE4p0J496HfhS6aBH4HNv/DjxY02JzAS
foyhlhvkUQqE+ysq7yULHKJYnzwGz8CtrQNdcXU6iAxl8VM7UsR69+8tRV8/NGcw
y/DkhYkz9cKa6FvGZYWTuTq0cSz7EyJ6t8Wp2Yc5L91dACF7gKmv/t0QwXQ6yJNb
pivinLwAx8pMRewMbPoY+bdH0KY=
=EE8+
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=kQSc
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
f1E+dA==
=I0bv
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -26,7 +26,7 @@
Name: sysvinit
%define KPVER 2.23
%define SIVER 3.00
%define SIVER 3.07
%define START 0.65
Version: %{SIVER}
Release: 0
@ -37,10 +37,13 @@ BuildRequires: blog-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!BuildIgnore: sysvinit-tools
URL: https://savannah.nongnu.org/projects/sysvinit/
Source: https://download.savannah.nongnu.org/releases/sysvinit/sysvinit-%{SIVER}.tar.xz
Source0: https://github.com/slicer69/sysvinit/releases/download/%{SIVER}/sysvinit-%{SIVER}.tar.xz
Source1: https://github.com/bitstreamout/killproc/archive/v%{KPVER}.tar.gz#/killproc-%{KPVER}.tar.gz
Source2: https://download.savannah.nongnu.org/releases/sysvinit/startpar-%{START}.tar.xz
Patch: %{name}-2.90.dif
Source3: https://github.com/slicer69/sysvinit/releases/download/%{SIVER}/sysvinit-%{SIVER}.tar.xz.sig
Source4: https://download.savannah.nongnu.org/releases/sysvinit/startpar-%{START}.tar.xz.sig
Source5: %{name}.keyring
Patch0: %{name}-2.90.dif
Patch2: %{name}-2.88dsf-suse.patch
Patch9: %{name}-2.90-no-kill.patch
Patch50: startpar-0.58.dif
@ -58,6 +61,7 @@ more information.
%package tools
Summary: Tools for basic booting
Group: System/Base
Suggests: %{name}-tools-doc
Requires: blog
%description tools
@ -65,6 +69,16 @@ Helper tools from sysvinit that support booting, including but not exclusive
to startpar and killproc. System V init specific programs are in the
sysvinit package.
%package tools-doc
Summary: Documentation of tools for basic booting
Group: Documentation/Other
Requires: %{name}-tools
BuildArch: noarch
%description tools-doc
Documentation of helper tools from sysvinit that support booting, including but not exclusive
to startpar and killproc.
%prep
ls -l
rm -rf killproc-%{KPVER}
@ -73,7 +87,7 @@ ln -sf startpar startpar-%{START}
%setup -n %{name}-%{SIVER} -q -b 1 -b 2
%patch2 -p0 -b .suse
%patch9 -p0 -b .no-kill
%patch
%patch0
pushd doc
mkdir killproc
popd
@ -140,23 +154,15 @@ mv %{buildroot}/sbin/* %{buildroot}%{_sbindir}
%{sbindir}/mkill
%{sbindir}/start_daemon
%{_bindir}/startpar
%doc %{_mandir}/man1/usleep.1%{?ext_man}
%doc %{_mandir}/man1/fsync.1%{?ext_man}
%doc %{_mandir}/man1/startpar.1%{?ext_man}
%doc %{_mandir}/man8/fstab-decode.8%{?ext_man}
%doc %{_mandir}/man8/checkproc.8%{?ext_man}
%doc %{_mandir}/man8/pidofproc.8%{?ext_man}
%doc %{_mandir}/man8/killall5.8%{?ext_man}
%doc %{_mandir}/man8/killproc.8%{?ext_man}
%doc %{_mandir}/man8/startproc.8%{?ext_man}
%doc %{_mandir}/man8/start_daemon.8%{?ext_man}
%doc %{_mandir}/man8/rvmtab.8%{?ext_man}
%doc %{_mandir}/man8/vhangup.8%{?ext_man}
%doc %{_mandir}/man8/mkill.8%{?ext_man}
%if 0%{?suse_version} && %suse_version <= 1500
%{bindir}/pidof
%{sbindir}/pidof
%doc %{_mandir}/man8/pidof.8%{?ext_man}
%endif
%files tools-doc
%doc %{_mandir}/man1/*.1%{?ext_man}
%doc %{_mandir}/man8/*.8%{?ext_man}
%doc %{_mandir}/*/man8/*.8%{?ext_man}
%changelog