Hello community,
here is the log from the commit of package sysvinit for openSUSE:11.4
checked in at Mon Jul 4 14:07:46 CEST 2011.
--- old-versions/11.4/UPDATES/all/sysvinit/sysvinit.changes 2011-03-25
12:22:42.0 +0100
+++ 11.4/sysvinit/sysvinit.changes 2011-07-01 12:52:54.0 +0200
@@ -0,0 +1,17 @@
+--
+Fri Jul 1 12:51:44 CEST 2011 - wer...@suse.de
+
+- Fix done by request from Friedrich Haubensak fixes bnc#700342
+
+--
+Fri Apr 15 16:47:43 CEST 2011 - wer...@suse.de
+
+- Fix exit code of checkproc in case of an existing pid file
+ without running process (bnc#687547)
+
+--
+Wed Apr 6 15:22:20 CEST 2011 - wer...@suse.de
+
+- Fix bug in killproc that is do not stop searching for a match if
+ a mountpoint does not match, reported by Friedrich Haubensak.
+
calling whatdependson for 11.4-i586
Other differences:
--
++ sysvinit.spec ++
--- /var/tmp/diff_new_pack.ZSE2UQ/_old 2011-07-04 14:07:11.0 +0200
+++ /var/tmp/diff_new_pack.ZSE2UQ/_new 2011-07-04 14:07:11.0 +0200
@@ -29,7 +29,7 @@
Group: System/Base
AutoReqProv:on
Version:2.88
-Release:37.RELEASE45
+Release:37.RELEASE47
Summary:SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: audit-devel libselinux-devel libsepol-devel pam-devel
++ killproc-2.19.dif ++
--- /var/tmp/diff_new_pack.ZSE2UQ/_old 2011-07-04 14:07:11.0 +0200
+++ /var/tmp/diff_new_pack.ZSE2UQ/_new 2011-07-04 14:07:11.0 +0200
@@ -1,6 +1,35 @@
--- libinit.c
-+++ libinit.c 2011-03-03 13:45:42.976427260 +
-@@ -669,6 +669,7 @@ int pidof (const char * inname, const ch
libinit.c 2011-04-06 13:21:49.212425737 +
+@@ -349,18 +349,24 @@ static int find_mount(const char * path,
+ {
+ const size_t nlen = strlen(path);
+ list_t *ptr;
++int ret = 0;
+
+ list_for_each(ptr, mounts) {
+ MNTINFO *m = list_entry(ptr, MNTINFO);
+ if (nlen m-nlen)
+ continue;
+- if (m-nlen == 1) /* root fs is the last entry */
+- return (m == s);
++ if (m-nlen == 1 (m == s)) { /* root fs is the last entry */
++ ret++;
++ break;
++ }
+ if (strncmp(path, m-point, m-nlen))
+ continue;
+- return (m == s);
++ if (m == s) {
++ ret++;
++ break;
++ }
+ }
+-return 0;
++return ret;
+ }
+
+ extern inline char * handl_buf(char *restrict buf)
+@@ -669,6 +675,7 @@ int pidof (const char * inname, const ch
boolean isscrpt = false;
unsigned num = 0;
pid_t pid;
@@ -8,7 +37,7 @@
char *swapname = NULL;
char *fullname = (char *)inname;
char *realname = NULL;
-@@ -677,6 +678,7 @@ int pidof (const char * inname, const ch
+@@ -677,6 +684,7 @@ int pidof (const char * inname, const ch
p_pid = getpid();
p_ppid = getppid();
@@ -16,7 +45,7 @@
dir = openproc(); /* Open /proc and maybe do mount before */
p_pppid = getpppid(p_ppid); /* Requires existence of /proc */
-@@ -773,6 +775,13 @@ int pidof (const char * inname, const ch
+@@ -773,6 +781,13 @@ int pidof (const char * inname, const ch
if (prefix) {
if ((rll = readlinkat(dfd, here(d-d_name, exe), entry,
PATH_MAX)) 0) {
@@ -30,7 +59,7 @@
if (errno != EPERM errno != EACCES)
goto risky;
continue;
-@@ -809,6 +818,13 @@ int pidof (const char * inname, const ch
+@@ -809,6 +824,13 @@ int pidof (const char * inname, const ch
if (!name) {
if ((rll = readlinkat(dfd, here(d-d_name, exe),
entry, PATH_MAX)) 0) {
@@ -44,7 +73,7 @@
if (errno != EPERM errno != EACCES)
goto risky;
continue;
-@@ -825,7 +841,6 @@ int pidof (const char * inname, const ch
+@@ -825,7 +847,6 @@ int pidof (const char * inname, const ch
if (realname strncmp(realname, name, PATH_MAX) == 0)
found = true;
@@ -52,7 +81,7 @@
break;
}
-@@ -942,12 +957,15 @@ int verify_pidfile (const char * pid_fil
+@@ -942,12 +963,15 @@ int verify_pidfile (const char * pid_fil
ssize_t cnt;
boolean isscrpt = false;
pid_t pid;
@@ -68,7 +97,7 @@
if (!ignore) {
list_t *m, *n;
list_for_each_safe(m, n, remember) {
-@@ -1041,14 +1059,23 @@ int verify_pidfile (const char * pid_fil
+@@ -1041,14 +1065,23 @@ int verify_pidfile (const char * pid_fil
}
errno = 0;
@@ -95,7 +124,7 @@
if (pid_st.st_dev !=