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.000000000 +0100
+++ 11.4/sysvinit/sysvinit.changes      2011-07-01 12:52:54.000000000 +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.000000000 +0200
+++ /var/tmp/diff_new_pack.ZSE2UQ/_new  2011-07-04 14:07:11.000000000 +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.000000000 +0200
+++ /var/tmp/diff_new_pack.ZSE2UQ/_new  2011-07-04 14:07:11.000000000 +0200
@@ -1,6 +1,35 @@
 --- libinit.c
-+++ libinit.c  2011-03-03 13:45:42.976427260 +0000
-@@ -669,6 +669,7 @@ int pidof (const char * inname, const ch
++++ libinit.c  2011-04-06 13:21:49.212425737 +0000
+@@ -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 != full_st.st_dev)
            goto out;
  
-@@ -1087,6 +1114,7 @@ int verify_pidfile (const char * pid_fil
+@@ -1087,6 +1120,7 @@ int verify_pidfile (const char * pid_fil
  
        goto out;
      }
@@ -103,7 +132,7 @@
  
      if (errno && errno != ENOENT) {
        warn("Can not read %s: %s\n", procbuf, strerror(errno));
-@@ -1162,8 +1190,11 @@ int check_pids (const char * inname, con
+@@ -1162,8 +1196,11 @@ int check_pids (const char * inname, con
      const char *pid;
      struct stat pid_st, full_st;
      list_t *m, *n;
@@ -115,7 +144,7 @@
      if (!fullname) {
        warn("program or process name required\n");
        return -1;
-@@ -1228,13 +1259,22 @@ int check_pids (const char * inname, con
+@@ -1228,13 +1265,22 @@ int check_pids (const char * inname, con
  
        /* killproc and daemon/startproc should use the full path */
        errno = 0;
@@ -141,7 +170,7 @@
            if (pid_st.st_dev != full_st.st_dev)
                goto ignore;            /* Does not belong to rembered list */
  
-@@ -1267,6 +1307,7 @@ int check_pids (const char * inname, con
+@@ -1267,6 +1313,7 @@ int check_pids (const char * inname, con
  
            skip = true;                /* No stat entry check needed */
        }
@@ -149,3 +178,14 @@
  
        if (!(flags & (KTHREAD|KSHORT)) &&  isscrpt &&
            (fp = open(proc(pid, "cmdline"), O_PROCMODE)) != -1) {
+--- libinit.h
++++ libinit.h  2011-04-15 14:43:35.083926074 +0000
+@@ -91,7 +91,7 @@
+ #define WRGSYNTAX             102     /* usage etc. */
+ #define NOPIDREAD             101     /* trouble */
+ 
+-#define LSB_STATUS_PROOF      ((errno == EPERM || errno == EACCES) ? 
LSB_NOPERM : NOPIDREAD )
++#define LSB_STATUS_PROOF      ((errno == EPERM || errno == EACCES) ? 
LSB_NOPERM : LSB_STATUS_ISDEAD )
+ #define LSB_STATUS_PROOFX     ((errno == ENOENT) ? (flags & KILL) ? 
LSB_NOENTR : 4 : LSB_STATUS_PROOF )
+ 
+ #define LOG_OPTIONS   (LOG_ODELAY|LOG_CONS)


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to