Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sysvinit for openSUSE:Factory checked in at 2023-05-17 10:52:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysvinit (Old) and /work/SRC/openSUSE:Factory/.sysvinit.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysvinit" Wed May 17 10:52:37 2023 rev:181 rq:1087334 version:3.07 Changes: -------- --- /work/SRC/openSUSE:Factory/sysvinit/sysvinit.changes 2023-05-06 22:08:33.188503449 +0200 +++ /work/SRC/openSUSE:Factory/.sysvinit.new.1533/sysvinit.changes 2023-05-17 10:52:38.135187286 +0200 @@ -1,0 +2,63 @@ +Fri May 12 12:08:37 UTC 2023 - Dr. Werner Fink <wer...@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 + +------------------------------------------------------------------- Old: ---- sysvinit-3.00.tar.xz New: ---- startpar-0.65.tar.xz.sig sysvinit-3.07.tar.xz sysvinit-3.07.tar.xz.sig sysvinit.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysvinit.spec ++++++ --- /var/tmp/diff_new_pack.af3Vye/_old 2023-05-17 10:52:38.903191421 +0200 +++ /var/tmp/diff_new_pack.af3Vye/_new 2023-05-17 10:52:38.907191443 +0200 @@ -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 @@ 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 @@ %package tools Summary: Tools for basic booting Group: System/Base +Suggests: %{name}-tools-doc Requires: blog %description tools @@ -65,6 +69,16 @@ 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 @@ %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 @@ %{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 ++++++ sysvinit-2.88dsf-suse.patch ++++++ --- /var/tmp/diff_new_pack.af3Vye/_old 2023-05-17 10:52:38.939191615 +0200 +++ /var/tmp/diff_new_pack.af3Vye/_new 2023-05-17 10:52:38.943191637 +0200 @@ -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, miqu...@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 ++++++ sysvinit-2.90-no-kill.patch ++++++ --- /var/tmp/diff_new_pack.af3Vye/_old 2023-05-17 10:52:38.955191701 +0200 +++ /var/tmp/diff_new_pack.af3Vye/_new 2023-05-17 10:52:38.955191701 +0200 @@ -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]; + + /* 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() - switch (do_stat) { + /* 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,7 +128,109 @@ + } + + 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); ++++++ sysvinit-2.90.dif ++++++ --- /var/tmp/diff_new_pack.af3Vye/_old 2023-05-17 10:52:38.967191766 +0200 +++ /var/tmp/diff_new_pack.af3Vye/_new 2023-05-17 10:52:38.971191788 +0200 @@ -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,20 +44,19 @@ 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 \ ++++++ sysvinit-3.00.tar.xz -> sysvinit-3.07.tar.xz ++++++ ++++ 86730 lines of diff (skipped)