Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package psmisc for openSUSE:Factory checked 
in at 2022-01-22 08:17:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/psmisc (Old)
 and      /work/SRC/openSUSE:Factory/.psmisc.new.1938 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "psmisc"

Sat Jan 22 08:17:59 2022 rev:81 rq:947699 version:23.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/psmisc/psmisc.changes    2021-05-23 
23:30:46.824693545 +0200
+++ /work/SRC/openSUSE:Factory/.psmisc.new.1938/psmisc.changes  2022-01-22 
08:18:21.234835122 +0100
@@ -1,0 +2,17 @@
+Thu Jan 20 13:57:13 UTC 2022 - Dr. Werner Fink <wer...@suse.de>
+
+- Update to 23.4:
+  * killall: Dynamically link to selinux and use security attributes
+  * pstree: Do not crash on missing processes !21
+  * pstree: fix layout when using -C !24
+  * pstree: add time namespace !25
+  * pstree: Dynamically link to selinux and use attr
+  * fuser: Get less confused about duplicate dev_id !10
+  * fuser: Only check pathname on non-block devices !31
+- Rebase 0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch
+- Rebase 0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch
+- Port psmisc-22.21-pstree.patch
+- Delete psmisc-v23.3-selinux.patch as not needed anymore
+- Rename psmisc-v23.3.dif which is now psmisc-v23.4.dif with correct offsets
+
+-------------------------------------------------------------------

Old:
----
  psmisc-v23.3-selinux.patch
  psmisc-v23.3.dif
  psmisc-v23.3.tar.bz2

New:
----
  psmisc-v23.4.dif
  psmisc-v23.4.tar.bz2

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

Other differences:
------------------
++++++ psmisc.spec ++++++
--- /var/tmp/diff_new_pack.YVRQZZ/_old  2022-01-22 08:18:21.798831322 +0100
+++ /var/tmp/diff_new_pack.YVRQZZ/_new  2022-01-22 08:18:21.802831294 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package psmisc
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
 BuildRequires:  linux-glibc-devel >= 4.12
 BuildRequires:  ncurses-devel
 URL:            https://gitlab.com/psmisc/psmisc/
-Version:        23.3
+Version:        23.4
 Release:        0
 Provides:       ps:/usr/bin/killall
 Summary:        Utilities for managing processes on your system
@@ -40,7 +40,6 @@
 # https://gitlab.com/bitstreamout/psmisc/tree/mountinfo
 Patch3:         0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch
 Patch4:         0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch
-Patch5:         psmisc-v23.3-selinux.patch
 
 %define have_peekfd %ix86 x86_64 ppc ppc64 ppc64le %arm mipsel m68k aarch64
 
@@ -59,7 +58,6 @@
 %patch2 -p0 -b .pstree
 %patch3 -p0 -b .mntinf
 %patch4 -p0 -b .statx
-%patch5 -p0 -b .selx
 %patch0 -p0 -b .p0
 
 %build
@@ -72,7 +70,8 @@
 CFLAGS="-D_GNU_SOURCE -D_DEFAULT_SOURCE ${RPM_OPT_FLAGS} -pipe -fPIE"
 CXXFLAGS="$CFLAGS"
 LDFLAGS=-pie
-export CFLAGS CXXFLAGS LDFLAGS
+CC=gcc
+export CFLAGS CXXFLAGS LDFLAGS CC
 %configure     --disable-rpath \
        --with-gnu-ld           \
        --enable-selinux        \

++++++ 0001-Use-mountinfo-to-be-able-to-use-the-mount-identity.patch ++++++
--- /var/tmp/diff_new_pack.YVRQZZ/_old  2022-01-22 08:18:21.822831160 +0100
+++ /var/tmp/diff_new_pack.YVRQZZ/_new  2022-01-22 08:18:21.822831160 +0100
@@ -24,15 +24,17 @@
 
 Signed-off-by: Werner Fink <wer...@suse.de>
 ---
- configure.ac  |   15 +
- src/fuser.c   |  681 
+++++++++++++++++++++++++++++++++++++++++++++-------------
- src/fuser.h   |   27 +-
- src/timeout.c |    5 
+ configure.ac  |  15 +-
+ src/fuser.c   | 683 +++++++++++++++++++++++++++++++++++++++-----------
+ src/fuser.h   |  25 +-
+ src/timeout.c |   5 +-
  4 files changed, 567 insertions(+), 161 deletions(-)
 
+diff --git configure.ac configure.ac
+index 182a0df..d4dee51 100644
 --- configure.ac
-+++ configure.ac       2021-05-07 15:01:31.910757814 +0000
-@@ -44,6 +44,19 @@ if test "$enable_timeout_stat" = "static
++++ configure.ac
+@@ -60,6 +60,19 @@ if test "$enable_timeout_stat" = "static"; then
  fi
  AM_CONDITIONAL([WANT_TIMEOUT_STAT], [test "$enable_timeout_stat" = "static"])
  
@@ -52,7 +54,7 @@
  # Use string search for network based file systems but only if the system
  # has /proc/self/mountinfo
  AC_SUBST([WITH_MOUNTINFO_LIST])
-@@ -85,7 +98,7 @@ dnl Checks for header files.
+@@ -101,7 +114,7 @@ dnl Checks for header files.
  AC_HEADER_DIRENT
  AC_HEADER_STDC
  AC_HEADER_SYS_WAIT
@@ -61,8 +63,10 @@
  
  dnl Checks for typedefs, structures, and compiler characteristics.
  AC_C_CONST
+diff --git src/fuser.c src/fuser.c
+index 03e6237..dd928d2 100644
 --- src/fuser.c
-+++ src/fuser.c        2021-05-07 15:03:42.232365037 +0000
++++ src/fuser.c
 @@ -32,6 +32,8 @@
  #include <stdlib.h>
  #include <string.h>
@@ -72,7 +76,7 @@
  #include <sys/param.h>
  #include <sys/types.h>
  #include <sys/stat.h>
-@@ -79,7 +81,7 @@ static void check_map(const pid_t pid, c
+@@ -87,7 +89,7 @@ static void check_map(const pid_t pid, const char *filename,
                      struct device_list *dev_head,
                      struct inode_list *ino_head, const uid_t uid,
                      const char access);
@@ -81,7 +85,7 @@
  static uid_t getpiduid(const pid_t pid);
  static int print_matches(struct names *names_head, const opt_type opts,
                         const int sig_number);
-@@ -88,9 +90,9 @@ static int kill_matched_proc(struct proc
+@@ -96,9 +98,9 @@ static int kill_matched_proc(struct procs *pptr, const 
opt_type opts,
  
  /*int parse_mount(struct names *this_name, struct device_list **dev_list);*/
  static void add_device(struct device_list **dev_list,
@@ -94,7 +98,7 @@
  static void atexit_clear_unix_cache();
  static dev_t find_net_dev(void);
  static void scan_procs(struct names *names_head, struct inode_list *ino_head,
-@@ -109,9 +111,15 @@ static void debug_match_lists(struct nam
+@@ -117,9 +119,15 @@ static void debug_match_lists(struct names *names_head,
                              struct device_list *dev_head);
  #endif
  
@@ -111,7 +115,7 @@
  static int mntstat(const char *path, struct stat *buf);
  #endif
  static stat_t thestat = stat;
-@@ -202,6 +210,7 @@ scan_procs(struct names *names_head, str
+@@ -210,6 +218,7 @@ scan_procs(struct names *names_head, struct inode_list 
*ino_head,
                struct stat *cwd_stat = NULL;
                struct stat *exe_stat = NULL;
                struct stat *root_stat = NULL;
@@ -119,7 +123,7 @@
  
                if (topproc_dent->d_name[0] < '0' || topproc_dent->d_name[0] > 
'9')     /* Not a process */
                        continue;
-@@ -211,9 +220,9 @@ scan_procs(struct names *names_head, str
+@@ -219,9 +228,9 @@ scan_procs(struct names *names_head, struct inode_list 
*ino_head,
                        continue;
                uid = getpiduid(pid);
  
@@ -132,7 +136,7 @@
                cwd_dev = cwd_stat ? cwd_stat->st_dev : 0;
                exe_dev = exe_stat ? exe_stat->st_dev : 0;
                root_dev = root_stat ? root_stat->st_dev : 0;
-@@ -221,39 +230,51 @@ scan_procs(struct names *names_head, str
+@@ -229,39 +238,51 @@ scan_procs(struct names *names_head, struct inode_list 
*ino_head,
                /* Scan the devices */
                for (dev_tmp = dev_head; dev_tmp != NULL;
                     dev_tmp = dev_tmp->next) {
@@ -199,7 +203,7 @@
                                if (cwd_stat
                                    && cwd_stat->st_dev == ino_tmp->device
                                    && cwd_stat->st_ino == ino_tmp->inode)
-@@ -294,18 +315,42 @@ add_inode(struct inode_list **ino_list,
+@@ -302,18 +323,42 @@ add_inode(struct inode_list **ino_list, struct names 
*this_name,
        ino_tmp->name = this_name;
        ino_tmp->device = device;
        ino_tmp->inode = inode;
@@ -243,7 +247,7 @@
  
        if ((dev_tmp =
             (struct device_list *)malloc(sizeof(struct device_list))) == NULL)
-@@ -313,6 +358,10 @@ add_device(struct device_list **dev_list
+@@ -321,6 +366,10 @@ add_device(struct device_list **dev_list, struct names 
*this_name, dev_t device)
        dev_head = *dev_list;
        dev_tmp->name = this_name;
        dev_tmp->device = device;
@@ -254,7 +258,7 @@
        dev_tmp->next = dev_head;
        *dev_list = dev_tmp;
  }
-@@ -454,13 +503,15 @@ add_special_proc(struct names *name_list
+@@ -462,13 +511,15 @@ add_special_proc(struct names *name_list, const char 
ptype, const uid_t uid,
  int parse_file(struct names *this_name, struct inode_list **ino_list,
               const opt_type opts)
  {
@@ -271,7 +275,7 @@
                if (errno == ENOENT)
                        fprintf(stderr,
                                _("Specified filename %s does not exist.\n"),
-@@ -470,10 +521,12 @@ int parse_file(struct names *this_name,
+@@ -478,10 +529,12 @@ int parse_file(struct names *this_name, struct 
inode_list **ino_list,
                                this_name->filename, strerror(errno));
                return -1;
        }
@@ -286,7 +290,7 @@
  #endif                                /* DEBUG */
        add_inode(ino_list, this_name, this_name->st.st_dev,
                  this_name->st.st_ino);
-@@ -505,12 +558,43 @@ parse_mounts(struct names *this_name, st
+@@ -513,12 +566,43 @@ parse_mounts(struct names *this_name, struct device_list 
**dev_list,
             const opt_type opts)
  {
        dev_t match_device;
@@ -331,7 +335,7 @@
        return 0;
  }
  
-@@ -687,10 +771,12 @@ int parse_inet(struct names *this_name,
+@@ -695,10 +779,12 @@ int parse_inet(struct names *this_name, struct 
ip_connections **ip_list)
                                        break;
  #endif
                                }
@@ -347,7 +351,7 @@
        }
        return 1;
  }
-@@ -957,6 +1043,21 @@ free_inodes(struct inode_list **match_in
+@@ -965,6 +1051,21 @@ free_inodes(struct inode_list **match_inodes)
  /*
   * Free up structures allocated in add_device
   */
@@ -369,7 +373,7 @@
  static void
  free_devices(struct device_list **match_devices)
  {
-@@ -964,6 +1065,8 @@ free_devices(struct device_list **match_
+@@ -972,6 +1073,8 @@ free_devices(struct device_list **match_devices)
  
        device_tmp = *match_devices;
        while(device_tmp != NULL) {
@@ -378,7 +382,7 @@
                device_next = device_tmp->next;
                free(device_tmp);
                device_tmp = device_next;
-@@ -1166,16 +1269,11 @@ int main(int argc, char *argv[])
+@@ -1174,16 +1277,11 @@ int main(int argc, char *argv[])
                                        skip_argv = 1;
                                        //while(option != '\0') option++;
                                        if (strcmp(argv[argc_cnt], "tcp") == 0)
@@ -400,7 +404,7 @@
                                        else
                                                usage(_
                                                      ("Invalid namespace 
name"));
-@@ -1215,7 +1313,7 @@ int main(int argc, char *argv[])
+@@ -1223,7 +1321,7 @@ int main(int argc, char *argv[])
                }
  
  #if defined(WITH_MOUNTINFO_LIST)
@@ -409,16 +413,16 @@
                        thestat = mntstat;
  #endif
                /* an option */
-@@ -1529,7 +1627,7 @@ print_matches(struct names *names_head,
+@@ -1537,7 +1635,7 @@ print_matches(struct names *names_head, const opt_type 
opts,
  
  }
  
 -static struct stat *get_pidstat(const pid_t pid, const char *filename)
 +static struct stat *get_pidstat(const pid_t pid, const char *filename, int 
*id)
  {
-       char pathname[256];
+       char pathname[PATH_MAX];
        struct stat *st;
-@@ -1541,6 +1639,15 @@ static struct stat *get_pidstat(const pi
+@@ -1549,6 +1647,15 @@ static struct stat *get_pidstat(const pid_t pid, const 
char *filename)
                free(st);
                return NULL;
        }
@@ -434,7 +438,7 @@
        return st;
  }
  
-@@ -1555,7 +1662,7 @@ check_dir(const pid_t pid, const char *d
+@@ -1563,7 +1670,7 @@ check_dir(const pid_t pid, const char *dirname, struct 
device_list *dev_head,
        struct inode_list *ino_tmp;
        struct device_list *dev_tmp;
        struct unixsocket_list *sock_tmp;
@@ -442,8 +446,8 @@
 +      struct stat st;
        char *dirpath;
        char filepath[PATH_MAX];
- 
-@@ -1580,6 +1687,9 @@ check_dir(const pid_t pid, const char *d
+       char real_filepath[PATH_MAX];
+@@ -1589,6 +1696,9 @@ check_dir(const pid_t pid, const char *dirname, struct 
device_list *dev_head,
                                        filepath, strerror(errno));
                        }
                } else {
@@ -453,7 +457,7 @@
                        thedev = st.st_dev;
                        if (thedev == netdev) {
                                for (sock_tmp = sockets; sock_tmp != NULL;
-@@ -1592,13 +1702,37 @@ check_dir(const pid_t pid, const char *d
+@@ -1601,10 +1711,29 @@ check_dir(const pid_t pid, const char *dirname, struct 
device_list *dev_head,
                                        }
                                }
                        }
@@ -464,11 +468,12 @@
                        for (dev_tmp = dev_head; dev_tmp != NULL;
                             dev_tmp = dev_tmp->next) {
 -                              if (thedev != dev_tmp->device)
+-                                      continue;
 +
 +                              if (thedev != dev_tmp->device) {
 +                                      struct subvol *vol_tmp;
 +                                      int subvol_found = 0;
-+ 
++
 +                                      for (vol_tmp = dev_tmp->vol; vol_tmp != 
NULL;
 +                                           vol_tmp = vol_tmp->next) {
 +                                              /* Check for BtrFS sub volumes 
as well */
@@ -477,15 +482,22 @@
 +                                                      break;
 +                                              }
 +                                      }
-+ 
++
 +                                      if (!subvol_found)
 +                                              continue;
 +                              }
+ 
+                               /* check the paths match if it is not a block 
device */
+                               if (! S_ISBLK(dev_tmp->name->st.st_mode)) {
+@@ -1616,9 +1745,14 @@ check_dir(const pid_t pid, const char *dirname, struct 
device_list *dev_head,
+                                           continue;
+                                   }
+                               }
 +
 +                              if (fdret != 0)
 +                                      continue;
 +                              if (fd.mnt_id != dev_tmp->mnt_id)
-                                       continue;
++                                      continue;
 +
                                if (access == ACCESS_FILE
 -                                  && (lstat(filepath, &lst) == 0)
@@ -494,7 +506,7 @@
                                        add_matched_proc(dev_tmp->name,
                                                         pid, uid,
                                                         ACCESS_FILEWR |
-@@ -1620,9 +1754,10 @@ check_dir(const pid_t pid, const char *d
+@@ -1640,9 +1774,10 @@ check_dir(const pid_t pid, const char *dirname, struct 
device_list *dev_head,
                                        continue;
                                }
                                if (st.st_ino == ino_tmp->inode) {
@@ -507,7 +519,7 @@
                                                add_matched_proc(ino_tmp->name,
                                                                 pid, uid,
                                                                 ACCESS_FILEWR |
-@@ -1651,31 +1786,54 @@ check_map(const pid_t pid, const char *f
+@@ -1671,31 +1806,54 @@ check_map(const pid_t pid, const char *filename,
        FILE *fp;
        unsigned long long tmp_inode;
        unsigned int tmp_maj, tmp_min;
@@ -572,7 +584,7 @@
        }
        fclose(fp);
  }
-@@ -1699,6 +1857,7 @@ static uid_t getpiduid(const pid_t pid)
+@@ -1719,6 +1877,7 @@ static uid_t getpiduid(const pid_t pid)
   * fill_unix_cache : Create a list of Unix sockets
   *   This list is used later for matching purposes
   */
@@ -580,7 +592,7 @@
  void fill_unix_cache(struct unixsocket_list **unixsocket_head)
  {
        FILE *fp;
-@@ -1715,6 +1874,8 @@ void fill_unix_cache(struct unixsocket_l
+@@ -1735,6 +1894,8 @@ void fill_unix_cache(struct unixsocket_list 
**unixsocket_head)
        while (fgets(line, BUFSIZ, fp) != NULL) {
                char *path;
                char *scanned_path = NULL;
@@ -589,7 +601,7 @@
                if (sscanf(line, "%*x: %*x %*x %*x %*x %*d %llu %ms",
                           &scanned_inode, &scanned_path) != 2) {
                        if (scanned_path)
-@@ -1730,6 +1891,8 @@ void fill_unix_cache(struct unixsocket_l
+@@ -1750,6 +1911,8 @@ void fill_unix_cache(struct unixsocket_list 
**unixsocket_head)
                        free(path);
                        continue;
                }
@@ -598,7 +610,7 @@
                if ((newsocket = (struct unixsocket_list *)
                     malloc(sizeof(struct unixsocket_list))) == NULL) {
                        free(path);
-@@ -1738,6 +1901,7 @@ void fill_unix_cache(struct unixsocket_l
+@@ -1758,6 +1921,7 @@ void fill_unix_cache(struct unixsocket_list 
**unixsocket_head)
                newsocket->sun_name = strdup(scanned_path);
                newsocket->inode = st.st_ino;
                newsocket->dev = st.st_dev;
@@ -606,7 +618,7 @@
                newsocket->net_inode = scanned_inode;
                newsocket->next = *unixsocket_head;
                *unixsocket_head = newsocket;
-@@ -1750,6 +1914,7 @@ void fill_unix_cache(struct unixsocket_l
+@@ -1770,6 +1934,7 @@ void fill_unix_cache(struct unixsocket_list 
**unixsocket_head)
  /*
   * Free up the list of Unix sockets
   */
@@ -614,7 +626,7 @@
  void clear_unix_cache(struct unixsocket_list **unixsocket_head)
  {
        while(*unixsocket_head != NULL) {
-@@ -1921,34 +2086,21 @@ scan_mounts(struct names *names_head, st
+@@ -1941,34 +2106,21 @@ scan_mounts(struct names *names_head, struct 
inode_list *ino_head,
  {
        struct device_list *dev_tmp;
        struct inode_list *ino_tmp;
@@ -657,7 +669,7 @@
                                add_special_proc(dev_tmp->name, PTYPE_MOUNT, 0,
                                                 find_mountp);
                }
-@@ -1960,7 +2112,6 @@ scan_mounts(struct names *names_head, st
+@@ -1980,7 +2132,6 @@ scan_mounts(struct names *names_head, struct inode_list 
*ino_head,
                                                 find_mountp);
                }
        }
@@ -665,7 +677,7 @@
  }
  
  static void
-@@ -2013,16 +2164,44 @@ scan_swaps(struct names *names_head, str
+@@ -2033,16 +2184,44 @@ scan_swaps(struct names *names_head, struct inode_list 
*ino_head,
        fclose(fp);
  }
  
@@ -714,7 +726,7 @@
  {
        list_t *ptr, *tmp;
  
-@@ -2033,72 +2212,276 @@ static void clear_mntinfo(void)
+@@ -2053,72 +2232,276 @@ static void clear_mntinfo(void)
        }
  }
  
@@ -768,17 +780,8 @@
 +                              stat(mpoint, &st);
 +                              mntinf->dev = st.st_dev;        /* stat(2) on 
binary does not see subvol dev */
 +                      }
-               }
--              append(mnt, mntinfo);
--              mnt->mpoint = ((char *)mnt) + alignof(mntinfo_t);
--              strcpy(mnt->mpoint, mpoint);
--              mnt->nlen = nlen;
--              mnt->parid = parid;
--              mnt->dev = makedev(maj, min);
--              mnt->id = mid;
--              if (mid > max)
--                      max = mid;
-       }
++              }
++      }
 +#else
 +      if ((mnt = fopen(PROC_MOUNTS, "r")) == (FILE *) 0)
 +              return;
@@ -798,8 +801,17 @@
 +              if (mntinf && strncmp(devname, "/dev/", 5) == 0 && 
stat(devname, &st) == 0) {
 +                      if (st.st_rdev != 0 && mntinf->dev != st.st_rdev)
 +                              mntinf->vol = st.st_rdev;
-+              }
-+      }
+               }
+-              append(mnt, mntinfo);
+-              mnt->mpoint = ((char *)mnt) + alignof(mntinfo_t);
+-              strcpy(mnt->mpoint, mpoint);
+-              mnt->nlen = nlen;
+-              mnt->parid = parid;
+-              mnt->dev = makedev(maj, min);
+-              mnt->id = mid;
+-              if (mid > max)
+-                      max = mid;
+       }
 +#endif
        fclose(mnt);
 +}
@@ -1004,12 +1016,12 @@
 -                      if (mid != mnt->parid)
 +
 +                      if (nlen != mnt->nlen)
-+                              continue;
-+
-+                      if (strcmp(use, mnt->mpoint))
                                continue;
 -                      move_head(ptr, &sort);
 +
++                      if (strcmp(use, mnt->mpoint))
++                              continue;
++
 +                      ret = 0;
 +                      errno = 0;
 +                      *mountinfo = mnt;
@@ -1035,7 +1047,7 @@
  /*
   * Determine device of links below /proc/
   */
-@@ -2106,8 +2489,7 @@ static int mntstat(const char *path, str
+@@ -2126,8 +2509,7 @@ static int mntstat(const char *path, struct stat *buf)
  {
        char name[PATH_MAX + 1];
        const char *use;
@@ -1045,7 +1057,7 @@
  
        if ((use = realpath(path, name)) == NULL || *use != '/')
        {
-@@ -2119,27 +2501,26 @@ static int mntstat(const char *path, str
+@@ -2139,27 +2521,26 @@ static int mntstat(const char *path, struct stat *buf)
                errno = 0;
                return stat(path, buf);
        }
@@ -1091,8 +1103,10 @@
  }
  #endif                                /* WITH_MOUNTINFO_LIST */
  
+diff --git src/fuser.h src/fuser.h
+index 4500ec5..16abc55 100644
 --- src/fuser.h
-+++ src/fuser.h        2021-05-07 15:01:31.954757006 +0000
++++ src/fuser.h
 @@ -37,10 +37,16 @@ struct procs {
  #define PTYPE_KNFSD 2
  #define PTYPE_SWAP 3
@@ -1105,8 +1119,7 @@
  struct names {
        char *filename;
        unsigned char name_space;
--    struct stat st;
-+      struct stat st;
+       struct stat st;
 +      int mnt_id;
        struct procs *matched_procs;
        struct names *next;
@@ -1170,8 +1183,10 @@
 +#define PROC_MOUNTINFO "/proc/self/mountinfo"
  #define PROC_MOUNTS "/proc/mounts"
  #define PROC_SWAPS "/proc/swaps"
+diff --git src/timeout.c src/timeout.c
+index ca4a7cd..a3c7055 100644
 --- src/timeout.c
-+++ src/timeout.c      2021-05-07 15:01:31.954757006 +0000
++++ src/timeout.c
 @@ -67,9 +67,6 @@
  # ifndef  constructor
  #  define constructor         __constructor__
@@ -1191,4 +1206,7 @@
  
  /*
   * Using a forked process for doing e.g. stat(2) system call as this
+-- 
+2.26.2
+
 

++++++ 0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch ++++++
++++ 746 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/psmisc/0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch
++++ and 
/work/SRC/openSUSE:Factory/.psmisc.new.1938/0002-Use-new-statx-2-system-call-to-avoid-hangs-on-NFS.patch

++++++ psmisc-22.21-pstree.patch ++++++
--- /var/tmp/diff_new_pack.YVRQZZ/_old  2022-01-22 08:18:21.850830971 +0100
+++ /var/tmp/diff_new_pack.YVRQZZ/_new  2022-01-22 08:18:21.854830945 +0100
@@ -1,6 +1,10 @@
---- src/pstree.c.orig  2019-11-12 11:23:38.000000000 +0100
-+++ src/pstree.c       2020-12-31 10:43:59.650348130 +0100
-@@ -71,6 +71,7 @@
+---
+ src/pstree.c |   37 ++++++++++++++++++++++++++++++-------
+ 1 file changed, 30 insertions(+), 7 deletions(-)
+
+--- src/pstree.c
++++ src/pstree.c       2022-01-20 13:27:44.175949055 +0000
+@@ -72,6 +72,7 @@ extern const char *__progname;
  #define UTF_HD        "\342\224\254"        /* U+252C, Horizontal and down */
  
  #define VT_BEG        "\033(0\017"        /* use graphic chars */
@@ -8,8 +12,8 @@
  #define VT_END        "\033(B"        /* back to normal char set */
  #define VT_V        "x"                /* see UTF definitions above */
  #define VT_VR        "t"
-@@ -470,6 +471,27 @@
-     out_string("'");
+@@ -522,6 +523,27 @@ static void out_scontext(const PROC *cur
+     }
  }
  
 +/*
@@ -36,7 +40,7 @@
  static void out_newline(void)
  {
      if (last_char && cur_x == output_width)
-@@ -705,11 +727,12 @@
+@@ -761,11 +783,12 @@ dump_tree(PROC * current, int level, int
          for (lvl = 0; lvl < level; lvl++) {
              for (i = width[lvl] + 1; i; i--)
                  out_char(' ');
@@ -45,16 +49,16 @@
 -                       1 ? last ? sym->last_2 : sym->branch_2 : more[lvl +
 -                                                                     1] ?
 -                       sym->vert_2 : sym->empty_2);
-+                /*
-+                * Replace all three symbol-drawing calls with calls to 
out_sym()
-+                * to handle VT100 line drawing sequences if VT100 mode is 
active:
-+                */
-+                out_sym(lvl == level - 1 ? last ? sym->last_2 : sym->branch_2 
:
-+                more[lvl + 1] ? sym->vert_2 : sym->empty_2);
++            /*
++             * Replace all three symbol-drawing calls with calls to out_sym()
++             * to handle VT100 line drawing sequences if VT100 mode is active:
++             */
++            out_sym(lvl == level - 1 ? last ? sym->last_2 : sym->branch_2 :
++            more[lvl + 1] ? sym->vert_2 : sym->empty_2);
          }
  
      if (rep < 2)
-@@ -819,7 +842,7 @@
+@@ -875,7 +898,7 @@ dump_tree(PROC * current, int level, int
      }
      width[level] = comm_len + cur_x - offset + add;
      if (cur_x >= output_width && trunc) {
@@ -63,7 +67,7 @@
          out_string("+");
          out_newline();
          return;
-@@ -843,7 +866,7 @@
+@@ -899,7 +922,7 @@ dump_tree(PROC * current, int level, int
                  }
          }
          if (first) {

++++++ psmisc-v23.3.dif -> psmisc-v23.4.dif ++++++
--- /work/SRC/openSUSE:Factory/psmisc/psmisc-v23.3.dif  2021-05-23 
23:30:46.800693645 +0200
+++ /work/SRC/openSUSE:Factory/.psmisc.new.1938/psmisc-v23.4.dif        
2022-01-22 08:18:20.770838249 +0100
@@ -16,7 +16,7 @@
                struct pt_regs.gpr], [],[], [#include <linux/ptrace.h>])
 --- src/fuser.c
 +++ src/fuser.c        2021-01-14 11:31:31.640709812 +0000
-@@ -1145,6 +1145,7 @@ int main(int argc, char *argv[])
+@@ -1153,6 +1153,7 @@ int main(int argc, char *argv[])
        struct option *optr;
        char *nsptr;
        int skip_argv;
@@ -24,7 +24,7 @@
  
        struct option options[] = {
                {"all", 0, NULL, 'a'},
-@@ -1188,6 +1189,7 @@ int main(int argc, char *argv[])
+@@ -1196,6 +1197,7 @@ int main(int argc, char *argv[])
  #endif
        atexit(atexit_free_lists);
  
@@ -32,7 +32,7 @@
        for (argc_cnt = 1; argc_cnt < argc; argc_cnt++) {
                current_argv = argv[argc_cnt];
                if (current_argv[0] == '-') {   /* its an option */
-@@ -1332,6 +1334,7 @@ int main(int argc, char *argv[])
+@@ -1340,6 +1342,7 @@ int main(int argc, char *argv[])
                        }
                }
                this_name->matched_procs = NULL;
@@ -40,7 +40,7 @@
                if (opts & (OPT_MOUNTS | OPT_ISMOUNTPOINT)
                    && this_name->name_space != NAMESPACE_FILE) {
                        free(this_name);
-@@ -1385,7 +1388,7 @@ int main(int argc, char *argv[])
+@@ -1393,7 +1396,7 @@ int main(int argc, char *argv[])
                        names_tail->next = this_name;
                names_tail = this_name;
        }                       /* for across the argvs */

++++++ psmisc-v23.3.tar.bz2 -> psmisc-v23.4.tar.bz2 ++++++
++++ 29878 lines of diff (skipped)

Reply via email to