Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package procps for openSUSE:Factory checked 
in at 2026-08-20 16:13:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/procps (Old)
 and      /work/SRC/openSUSE:Factory/.procps.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "procps"

Thu Aug 20 16:13:55 2026 rev:142 rq:1371991 version:4.0.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/procps/procps.changes    2026-03-01 
22:14:10.264351253 +0100
+++ /work/SRC/openSUSE:Factory/.procps.new.1258/procps.changes  2026-08-20 
16:13:57.053392345 +0200
@@ -1,0 +2,43 @@
+Wed Aug 19 13:40:40 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Extend the corrected patch procps-ng-3.3.8-readeof.patch
+  to do open with O_NOATIME only for root 
+
+-------------------------------------------------------------------
+Thu Aug 13 12:03:43 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Update to procps-ng-4.0.7
+  * library
+    version: inc revision to 2 now 1:2:0
+    internal: procps_pids_length off by one                issue #412
+    external: fix slabinfo header extern 'C' declaration   issue #415
+    internal: fix file descriptor leaks in <pids> api      issue #421
+    internal: strv items are now escaped in <pids> api     issue #429
+    internal: fix output if on seconds edge values         merge !246 
RHEL-60825
+  * pidof: Add -d aliased option                           issue #418
+  * pgrep: Don't treat empty list as 0                     issue #427
+  * pmap: Fix testsuite for Alpha                          Debian #1141465
+  * ps: correct 'environ' output when file unavailable
+  * ps: minimize potential EACCES with 'environ' files     issue #431
+  * top: avoid batch mode segfault with maximum width      issue #422
+  * w: Correctly check for end of tty using utmp           issue #430
+  * watch: Dont remove 2 lines when using -t option        issue #413
+  * watch: Handle resizing better                          issue #417
+  * watch: Restore LINES and COLUMNS env variables         issue #432
+- Port patches
+  * procps-ng-3.3.11-pmap4suse.patch
+  * procps-ng-3.3.8-petabytes.patch
+  * procps-ng-3.3.8-readeof.patch
+  * procps-ng-3.3.8-tinfo.dif
+  * procps-ng-3.3.9-w-notruncate.diff
+  * procps-ng-4.0.4-ignore-sysctl_conf.patch
+  * procps-v3.3.3-read-sysctls-also-from-boot-sysctl.conf-kernelversion.diff
+- Remove patches now obsolete
+  * procps-ng-4.0.4-pmapX-not-twice-anymore.patch
+  * procps-v3.3.3-ia64.diff
+  * glibc-2.43.patch
+  * d9c96ec0.patch
+- Add patch procps-4.0.7-pmap-test.patch
+  Simply add the leading zeros of an address for test_shm
+
+-------------------------------------------------------------------

Old:
----
  d9c96ec0.patch
  glibc-2.43.patch
  procps-ng-4.0.4-pmapX-not-twice-anymore.patch
  procps-ng-4.0.6.tar.xz
  procps-ng-4.0.6.tar.xz.asc
  procps-v3.3.3-ia64.diff

New:
----
  procps-4.0.7-pmap-test.patch
  procps-ng-4.0.7.tar.xz
  procps-ng-4.0.7.tar.xz.asc

----------(Old B)----------
  Old:  * glibc-2.43.patch
  * d9c96ec0.patch
- Add patch procps-4.0.7-pmap-test.patch
  Old:  * procps-v3.3.3-ia64.diff
  * glibc-2.43.patch
  * d9c96ec0.patch
  Old:- Remove patches now obsolete
  * procps-ng-4.0.4-pmapX-not-twice-anymore.patch
  * procps-v3.3.3-ia64.diff
  Old:  * procps-ng-4.0.4-pmapX-not-twice-anymore.patch
  * procps-v3.3.3-ia64.diff
  * glibc-2.43.patch
----------(Old E)----------

----------(New B)----------
  New:  * d9c96ec0.patch
- Add patch procps-4.0.7-pmap-test.patch
  Simply add the leading zeros of an address for test_shm
----------(New E)----------

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

Other differences:
------------------
++++++ procps.spec ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.612447596 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.614447667 +0200
@@ -27,7 +27,7 @@
 %bcond_without  nls
 %bcond_with     kill
 Name:           procps
-Version:        4.0.6
+Version:        4.0.7
 Release:        0
 Summary:        The ps utilities for /proc
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -38,13 +38,8 @@
 #Alternate:     
https://gitlab.com/procps-ng/procps/-/archive/v%%{version}/procps-v%%{version}.tar.gz
 Source2:        procps-rpmlintrc
 Source3:        procps.keyring
-# PATCH-FIX-USTREAM -- w: Don't crash when using short option
-Patch1:         procps-v3.3.3-ia64.diff
 # PATCH-FIX-COMMUNITY
-Patch2:         glibc-2.43.patch
 Patch3:         procps-ng-3.3.9-w-notruncate.diff
-# PATCH-FIX-UPSTREAM
-Patch4:         d9c96ec0.patch
 Patch7:         procps-ng-3.3.8-readeof.patch
 Patch8:         procps-ng-3.3.10-slab.patch
 Patch11:        procps-ng-3.3.10-xen.dif
@@ -64,8 +59,8 @@
 Patch33:        procps-ng-3.3.11-pmap4suse.patch
 # PATCH-FIX-SUSE -- Avoid float errors on 32bit architectures
 Patch37:        procps-ng-4.0.0-floats.dif
-# PATCH-FIX-SUSE -- with 4.0.4 the totals on -X option are always reset for 
each pid
-Patch38:        procps-ng-4.0.4-pmapX-not-twice-anymore.patch
+# PATCH-FIX-SUSE -- fill address with leading zeros
+Patch38:        procps-4.0.7-pmap-test.patch
 # PATCH-FIX-SUSE -- ignore dangling symlink to missing /etc/sysctl.conf file
 Patch39:        procps-ng-4.0.4-ignore-sysctl_conf.patch
 BuildRequires:  automake
@@ -164,10 +159,7 @@
 
 %prep
 %setup -q -n procps-ng-%{version}
-%patch -P1
-%patch -P2 -p1
 %patch -P3 -p1 -b .trcate
-%patch -P4 -p1 -b .413
 %patch -P7 -b .rof
 %patch -P8 -b .cache
 %patch -P11
@@ -352,6 +344,7 @@
 error=no
 for log in testsuite/*.log test-suite.log
 do
+    test -e $log || continue
     if grep -E '^(XFAIL|FAIL|ERROR):' $log
     then
         echo Check $log

++++++ procps-4.0.7-pmap-test.patch ++++++
---
 src/tests/test_shm.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- src/tests/test_shm.c
+++ src/tests/test_shm.c        2026-08-13 11:39:12.590440508 +0000
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
     if ( (shm_addr = shmat(shm_id, NULL, SHM_RDONLY)) < 0)
         err(EXIT_FAILURE, "Unable to shmat()");
     printf("SHMID: %x\n", shm_id);
-    printf("SHMADDR: %p\n", shm_addr);
+    printf("SHMADDR: %0*lx\n", (int)(sizeof(void *) * 2), (unsigned 
long)shm_addr);
     sleep(sleep_time);
     return EXIT_SUCCESS;
 }

++++++ procps-ng-3.3.11-pmap4suse.patch ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.669449616 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.672449723 +0200
@@ -4,7 +4,7 @@
  2 files changed, 44 insertions(+), 20 deletions(-)
 
 --- src/pmap.c
-+++ src/pmap.c 2026-01-30 12:07:37.595146461 +0000
++++ src/pmap.c 2026-08-13 09:45:23.021209643 +0000
 @@ -59,7 +59,9 @@ const char *nls_Address,
           *nls_Kbytes,
           *nls_Mode,
@@ -39,7 +39,7 @@
  
  static unsigned shm_minor = ~0u;
  
-@@ -555,12 +559,17 @@ static int one_proc (struct pids_stack *
+@@ -574,12 +578,17 @@ static int one_proc (struct pids_stack *
        char perms[32] = "";
        const char *cp2 = NULL;
        unsigned long long rss = 0ull;
@@ -57,7 +57,7 @@
  
        printf("%u:   %s\n", PIDS_VAL(tgid, s_int, p), PIDS_VAL(cmdline, str, 
p));
  
-@@ -583,13 +592,15 @@ static int one_proc (struct pids_stack *
+@@ -602,13 +611,15 @@ static int one_proc (struct pids_stack *
        if (x_option) {
                maxw1 = 16;
                if (sizeof(long) == 4) maxw1 = 8;
@@ -74,7 +74,7 @@
                        maxw5 = justify_print(nls_Mode, maxw5, 0);
                        justify_print(nls_Mapping, 0, 0);
                }
-@@ -629,6 +640,11 @@ static int one_proc (struct pids_stack *
+@@ -648,6 +659,11 @@ static int one_proc (struct pids_stack *
                                        total_rss += smap_value;
                                        continue;
                                }
@@ -86,7 +86,7 @@
                                if (strcmp("Shared_Dirty", smap_key) == 0) {
                                        shared_dirty = smap_value;
                                        total_shared_dirty += smap_value;
-@@ -641,16 +657,20 @@ static int one_proc (struct pids_stack *
+@@ -660,16 +676,20 @@ static int one_proc (struct pids_stack *
                                }
                                if (strcmp("Swap", smap_key) == 0) {
                                        /* doesn't matter as long as last */
@@ -109,7 +109,7 @@
                      diff = end = 0;
                      perms[0] = '\0';
                      cp2 = NULL;
-@@ -688,7 +708,6 @@ static int one_proc (struct pids_stack *
+@@ -707,7 +727,6 @@ static int one_proc (struct pids_stack *
                if (perms[3] == 's')
                        total_shared += diff;
                if (perms[3] == 'p') {
@@ -117,7 +117,7 @@
                        if (perms[1] == 'w')
                                total_private_writeable += diff;
                        else
-@@ -740,17 +759,21 @@ static int one_proc (struct pids_stack *
+@@ -759,17 +778,21 @@ static int one_proc (struct pids_stack *
                                justify_print("----------------", maxw1, 0);
                        justify_print("-------", maxw2, 1);
                        justify_print("-------", maxw3, 1);
@@ -141,7 +141,7 @@
                }
                if (d_option) {
                        printf
-@@ -1069,16 +1092,18 @@ int main(int argc, char **argv)
+@@ -1088,16 +1111,18 @@ int main(int argc, char **argv)
        while ((c = getopt_long(argc, argv, "xXrdqA:hVcC:nN:pk", longopts, 
NULL)) != -1)
                switch (c) {
                case 'x':
@@ -163,22 +163,25 @@
                case 'q':
                        q_option = 1;
 --- testsuite/pmap.test/pmap.exp
-+++ testsuite/pmap.test/pmap.exp       2026-01-30 12:10:34.535902028 +0000
-@@ -8,17 +8,17 @@ set pmap_procname "${mypid}:\\s+\\S+\[^\
- set pmap_initname "1:\\s+\\S+\[^\\r\]+\\s+"
++++ testsuite/pmap.test/pmap.exp       2026-08-13 11:54:35.553708814 +0000
+@@ -9,19 +9,19 @@ set pmap_procname [pmap_make_name ${mypi
+ set pmap_initname [pmap_make_name 1]
  set pmap_std_header $pmap_procname
  set pmap_device_header 
"${pmap_procname}Address\\s+Kbytes\\s+Mode\\s+Offset\\s+Device\\s+Mapping\\s+"
--set pmap_ext_header 
"${pmap_procname}Address\\s+Kbytes\\s+RSS\\s+Dirty\\s+Mode\\s+Mapping\\s+"
-+set pmap_ext_header 
"${pmap_procname}Address\\s+Kbytes\\s+RSS\\s+PSS\\s+Dirty\\s+Swap\\s+Mode\\s+Mapping\\s+"
- set pmap_generic_header "${pmap_procname}\\s+\(?:\[A-Z\]\[a-z\]+ +\)+"
+-proc pmap_make_ext_header {name} {return "[pmap_make_name 
${name}]Address\\s+Kbytes\\s+RSS\\s+Dirty\\s+Mode\\s+Mapping\\s+"}
++proc pmap_make_ext_header {name} {return "[pmap_make_name 
${name}]Address\\s+Kbytes\\s+RSS\\s+PSS\\s+Dirty\\s+Swap\\s+Mode\\s+Mapping\\s+"}
+ set pmap_ext_header [pmap_make_ext_header ${mypid}]
+ proc pmap_make_generic_header {name} {return "[pmap_make_name 
${name}]\\s+\(?:\[A-Z\]\[a-z\]+ +\)+"}
+ set pmap_generic_header [pmap_make_generic_header ${mypid}]
  
 -set pmap_std_items "\(\[0-9a-f\]+\\s+\\d+K 
\[rwx-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
 -set pmap_device_items "\(\[0-9a-f\]+\\s+\\d+ 
\[rwx-\]{5}\\s+\[0-9a-f\]+\\s+\[0-9a-f\]{3}:\[0-9a-f\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
 -set pmap_ext_items "\(\[0-9a-f\]+\\s+\\d+\\s+\\d+\\s+\\d+ 
\[rwx-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
+-set pmap_kernel_items "\(\[0-9a-f\]+\\s+\\d+K 
\[rwx-\]{5}\\s+\\\[(vdso|vsyscall|heap)\\\]\\s*\)+"
 +set pmap_std_items "\(\[0-9a-f\]+\\s+\\d+K 
\[rwxp-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
 +set pmap_device_items "\(\[0-9a-f\]+\\s+\\d+ 
\[rwxp-\]{5}\\s+\[0-9a-f\]+\\s+\[0-9a-f\]{3}:\[0-9a-f\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
 +set pmap_ext_items "\(\[0-9a-f\]+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+ 
\[rwxp-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
- set pmap_kernel_items "\(\[0-9a-f\]+\\s+\\d+K 
\[rwx-\]{5}\\s+\\\[(vdso|vsyscall)\\\]\\s*\)+"
++set pmap_kernel_items "\(\[0-9a-f\]+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+ 
\[rwxp-\]{5}\\s+\\\[(vdso|vsyscall|heap)\\\]\\s*\)+"
  
  set pmap_std_footer "total\\s+\\d+K\\s*\$"
  set pmap_device_footer 
"mapped:\\s+\\d+K\\s+writeable\/private:\\s+\\d+K\\s+shared:\\s+\\d+K\\s*\$"
@@ -187,7 +190,7 @@
  
  set test "pmap with no arguments"
  spawn $pmap
-@@ -27,17 +27,16 @@ expect_pass "$test" "Usage:\\s+\(lt-\)?p
+@@ -30,17 +30,16 @@ expect_pass "$test" "Usage:\\s+\(lt-\)?p
  
  set test "pmap standard output"
  spawn $pmap $mypid
@@ -207,7 +210,7 @@
  set test "pmap device output quiet (dq)"
  spawn $pmap -dq $mypid
  expect_table $test $pmap_procname $pmap_device_items "\$"
-@@ -51,7 +50,7 @@ if  { [ file readable "/proc/self/smaps"
+@@ -54,7 +53,7 @@ if  { [ file readable "/proc/self/smaps"
  } else {
      set test "pmap extended output"
      spawn $pmap -x $mypid

++++++ procps-ng-3.3.8-petabytes.patch ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.692450431 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.695450538 +0200
@@ -4,7 +4,7 @@
 
 --- src/top/top.c
 +++ src/top/top.c      2022-03-29 10:24:43.327490984 +0000
-@@ -1708,9 +1708,9 @@ static inline const char *make_str_utf8
+@@ -1696,9 +1696,9 @@ static inline const char *make_str_utf8
  static const char *scale_mem (int target, float num, int width, int justr) {
     //                               SK_Kb   SK_Mb      SK_Gb      SK_Tb      
SK_Pb      SK_Eb
  #ifdef BOOST_MEMORY
@@ -16,7 +16,7 @@
  #endif
     static char buf[SMLBUFSIZ];
     char *psfx;
-@@ -1720,7 +1720,7 @@ static const char *scale_mem (int target
+@@ -1708,7 +1708,7 @@ static const char *scale_mem (int target
     if (Rc.zero_suppress && 0 >= num)
        goto end_justifies;
  

++++++ procps-ng-3.3.8-readeof.patch ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.707450963 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.711451105 +0200
@@ -1,28 +1,45 @@
 ---
- library/readproc.c |   34 +++++++++++++++++-----------------
- 1 file changed, 17 insertions(+), 17 deletions(-)
+ library/readproc.c |   44 +++++++++++++++++++++++++++-----------------
+ 1 file changed, 27 insertions(+), 17 deletions(-)
 
 --- library/readproc.c
-+++ library/readproc.c 2026-01-30 13:13:59.666169366 +0000
-@@ -135,7 +135,7 @@ static DIR* opendirat(
++++ library/readproc.c 2026-08-19 13:39:39.031150686 +0000
+@@ -51,6 +51,16 @@
+ #include "pwcache.h"
+ #include "readproc.h"
+ 
++static int proc_o_noatime = 0;
++
++__attribute__((constructor))
++static void init_proc_noatime(void) {
++#ifdef O_NOATIME
++    if (geteuid() == 0)
++        proc_o_noatime = O_NOATIME;
++#endif
++}
++
+ // sometimes it's easier to do this manually, w/o gcc helping
+ #ifdef PROF
+ extern void __cyg_profile_func_enter(void*,void*);
+@@ -135,7 +145,7 @@ static DIR* opendirat(
      DIR *dirp;
  
     if ((dirfd < 0)
 -   || ((fd = openat(dirfd, pathname, O_DIRECTORY | O_RDONLY)) < 0))
-+   || ((fd = openat(dirfd, pathname, O_DIRECTORY | O_RDONLY, O_NOATIME)) < 0))
++   || ((fd = openat(dirfd, pathname, O_DIRECTORY | O_RDONLY | 
proc_o_noatime)) < 0))
         return NULL;
     if ((dirp = fdopendir(fd)) == NULL) {
         int tmperrno = errno;
-@@ -760,7 +760,7 @@ static int file2str(int dirfd, const cha
+@@ -760,7 +770,7 @@ static int file2str(int dirfd, const cha
          ub->buf = calloc(1, (ub->siz = buffGRW));
          if (!ub->buf) return -1;
      }
 -    if (-1 == (fd = openat(dirfd, what, O_RDONLY, 0))) return -1;
-+    if (-1 == (fd = openat(dirfd, what, O_RDONLY, O_NOATIME))) return -1;
++    if (-1 == (fd = openat(dirfd, what, O_RDONLY | proc_o_noatime, 0))) 
return -1;
      while (0 < (num = read(fd, ub->buf + tot_read, ub->siz - tot_read))) {
          tot_read += num;
          if (tot_read < ub->siz) break;
-@@ -784,23 +784,23 @@ static int file2str(int dirfd, const cha
+@@ -784,23 +794,23 @@ static int file2str(int dirfd, const cha
  static char **file2strvec(int dirfd, const char *what) {
      char buf[2048];     /* read buf bytes at a time */
      char *p, *rbuf = 0, *endbuf, **q, **ret, *strp;
@@ -32,7 +49,7 @@
 +    ssize_t n, align, tot = 0;
  
 -    fd = openat(dirfd, what, O_RDONLY, 0);
-+    fd = openat(dirfd, what, O_RDONLY, O_NOATIME);
++    fd = openat(dirfd, what, O_RDONLY| proc_o_noatime, 0);
      if(fd==-1) return NULL;
  
      /* read whole file into a memory buffer, allocating as we go */
@@ -53,7 +70,7 @@
              end_of_file = 1;       /* integer overflow: null-terminate and 
break */
              n = 0;                 /* but tot > 0 */
          }
-@@ -834,7 +834,7 @@ static char **file2strvec(int dirfd, con
+@@ -834,7 +844,7 @@ static char **file2strvec(int dirfd, con
      c = sizeof(char*);             /* one extra for NULL term */
      for (p = rbuf; p < endbuf; p++) {
          if (!*p || *p == '\n') {
@@ -62,7 +79,7 @@
              c += sizeof(char*);
          }
          if (*p == '\n')
-@@ -847,7 +847,7 @@ static char **file2strvec(int dirfd, con
+@@ -847,7 +857,7 @@ static char **file2strvec(int dirfd, con
      q = ret = (char**) (endbuf+align);          /* ==> free(*ret) to dealloc 
*/
      for (strp = p = rbuf; p < endbuf; p++) {
          if (!*p) {                              /* NUL char implies that */
@@ -71,57 +88,57 @@
              c -= sizeof(char*);
              *q++ = strp;                        /* point ptrs to the strings 
*/
              strp = p+1;                         /* next string -> next char */
-@@ -869,7 +869,7 @@ static int read_unvectored(char *restric
+@@ -873,7 +883,7 @@ static int read_unvectored(char *restric
      if(sz >= INT_MAX) sz = INT_MAX-1;
      dst[0] = '\0';
  
 -    if ((fd = openat(dirfd, what, O_RDONLY)) == -1)
-+    if ((fd = openat(dirfd, what, O_RDONLY, O_NOATIME)) == -1)
++    if ((fd = openat(dirfd, what, O_RDONLY | proc_o_noatime)) == -1)
          return 0;
  
      for(;;){
-@@ -1153,7 +1153,7 @@ static int login_uid (const int dirfd) {
+@@ -1157,7 +1167,7 @@ static int login_uid (const int dirfd) {
      int fd, id, in;
  
      id = -1;
 -    if ((fd = openat(dirfd,"loginuid", O_RDONLY)) != -1) {
-+    if ((fd = openat(dirfd,"loginuid", O_RDONLY, O_NOATIME)) != -1) {
++    if ((fd = openat(dirfd,"loginuid", O_RDONLY | proc_o_noatime)) != -1) {
          in = read(fd, buf, sizeof(buf) - 1);
          close(fd);
          if (in > 0) {
-@@ -1184,7 +1184,7 @@ static void autogroup_fill (int dirfd, p
+@@ -1188,7 +1198,7 @@ static void autogroup_fill (int dirfd, p
      int fd, in;
  
      p->autogrp_id = -1;
 -    if ((fd = openat(dirfd, "autogroup", O_RDONLY, 0)) != -1) {
-+    if ((fd = openat(dirfd, "autogroup", O_RDONLY, O_NOATIME)) != -1) {
++    if ((fd = openat(dirfd, "autogroup", O_RDONLY | proc_o_noatime)) != -1) {
          in = read(fd, buf, sizeof(buf) - 1);
          close(fd);
          if (in > 0) {
-@@ -1522,7 +1522,7 @@ static int simple_nextpid(PROCTAB *restr
+@@ -1526,7 +1536,7 @@ static int simple_nextpid(PROCTAB *restr
              if (errno == 0) {
                  p->tid = p->tgid;
                  snprintf(path, PROCPATHLEN, "/proc/%d", p->tgid);
 -                PT->pidfd = open(path, O_RDONLY | O_DIRECTORY);
-+                PT->pidfd = open(path, O_RDONLY | O_DIRECTORY, O_NOATIME);
++                PT->pidfd = open(path, O_RDONLY | O_DIRECTORY | 
proc_o_noatime);
                  return 1;
              }
          }
-@@ -1556,7 +1556,7 @@ static int simple_nexttid(PROCTAB *restr
+@@ -1560,7 +1570,7 @@ static int simple_nexttid(PROCTAB *restr
  //t->ppid = p->ppid;  // cover for kernel behavior? we want both actually...?
    close_dirfd(&(PT->taskfd));
    snprintf(taskpath, PROCPATHLEN, "task/%.10s", ent->d_name);
 -  PT->taskfd = openat(PT->pidfd, taskpath, O_RDONLY | O_DIRECTORY);
-+  PT->taskfd = openat(PT->pidfd, taskpath, O_RDONLY | O_DIRECTORY, O_NOATIME);
++  PT->taskfd = openat(PT->pidfd, taskpath, O_RDONLY | O_DIRECTORY | 
proc_o_noatime);
    return 1;
  }
  
-@@ -1571,7 +1571,7 @@ static int listed_nextpid (PROCTAB *PT,
- 
+@@ -1576,7 +1586,7 @@ static int listed_nextpid (PROCTAB *PT,
+   close_dirfd(&(PT->pidfd));
    if (pid > 0) {
      snprintf(path, PROCPATHLEN, "/proc/%d", pid);
 -    PT->pidfd = open(path, O_RDONLY | O_DIRECTORY);
-+    PT->pidfd = open(path, O_RDONLY | O_DIRECTORY, O_NOATIME);
++    PT->pidfd = open(path, O_RDONLY | O_DIRECTORY | proc_o_noatime);
      p->tid = p->tgid = pid;        // this tgid may be a huge fib |
  
      /* the 'status' directory is the only place where we find the |

++++++ procps-ng-3.3.8-tinfo.dif ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.725451601 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.728451707 +0200
@@ -5,7 +5,7 @@
 
 --- Makefile.am
 +++ Makefile.am        2022-10-20 13:21:37.505517043 +0000
-@@ -234,7 +234,7 @@ src_top_top_SOURCES += local/strverscmp.
+@@ -235,7 +235,7 @@ src_top_top_SOURCES += local/strverscmp.
  endif
  
  src_top_top_CFLAGS = @NCURSES_CFLAGS@

++++++ procps-ng-3.3.9-w-notruncate.diff ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.745452310 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.748452416 +0200
@@ -16,7 +16,7 @@
  Usually
  .B w
 --- procps-ng-4.0.6/src/w.c
-+++ procps-ng-4.0.6/src/w.c    2026-01-30 11:55:02.308987512 +0000
++++ procps-ng-4.0.6/src/w.c    2026-08-13 09:36:23.998824627 +0000
 @@ -225,7 +225,8 @@ static void print_from(
            if (r < 0 || host == NULL)
                print_host("", 0, fromlen);
@@ -27,7 +27,7 @@
                free(host);
            }
        } else {
-@@ -636,7 +637,7 @@ static void get_session_tty(
+@@ -638,7 +639,7 @@ static void get_session_tty(
  static void showinfo(
              const char *session, const char *name,
              utmp_t * u, const int longform, int maxcmd, int from,
@@ -36,7 +36,7 @@
              const int pids,
              struct pids_fetch *reap)
  {
-@@ -646,6 +647,7 @@ static void showinfo(
+@@ -648,6 +649,7 @@ static void showinfo(
      char cmdline[MAX_CMD_WIDTH + 1];
      pid_t best_pid = -1;
      int pids_length = 0;
@@ -44,7 +44,7 @@
  
      strcpy(cmdline, "-");
  
-@@ -671,7 +673,18 @@ static void showinfo(
+@@ -673,7 +675,18 @@ static void showinfo(
      /* force NUL term for printf */
      uname[UT_NAMESIZE] = '\0';
  
@@ -64,7 +64,7 @@
      if (from)
          print_from(session, u, ip_addresses, fromlen);
  
-@@ -745,6 +758,7 @@ static void __attribute__ ((__noreturn__
+@@ -747,6 +760,7 @@ static void __attribute__ ((__noreturn__
        fputs(_(" -h, --no-header     do not print header\n"),out);
        fputs(_(" -u, --no-current    ignore current process username\n"),out);
        fputs(_(" -s, --short         short format\n"),out);
@@ -72,7 +72,7 @@
        fputs(_(" -t, --terminal      show terminals\n"),out);
        fprintf(out,
              _(" -f, --from          toggle remote hostname field (default: 
%s)\n"),
-@@ -1016,6 +1030,7 @@ int main(int argc, char **argv)
+@@ -1018,6 +1032,7 @@ int main(int argc, char **argv)
                {"no-header", no_argument, NULL, 'h'},
                {"no-current", no_argument, NULL, 'u'},
                {"short", no_argument, NULL, 's'},
@@ -80,7 +80,7 @@
                {"terminal", no_argument, NULL, 't'},
                {"from", no_argument, NULL, 'f'},
                {"old-style", no_argument, NULL, 'o'},
-@@ -1039,7 +1054,7 @@ int main(int argc, char **argv)
+@@ -1041,7 +1056,7 @@ int main(int argc, char **argv)
  #endif
  
        while ((ch =
@@ -89,7 +89,7 @@
                switch (ch) {
                  case 'c':
                          container = 1;
-@@ -1050,6 +1065,10 @@ int main(int argc, char **argv)
+@@ -1052,6 +1067,10 @@ int main(int argc, char **argv)
                case 's':
                        longform = 0;
                        break;

++++++ procps-ng-4.0.4-ignore-sysctl_conf.patch ++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:58.768453125 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:58.771453231 +0200
@@ -4,7 +4,7 @@
 
 --- src/sysctl.c
 +++ src/sysctl.c       2023-12-14 13:46:09.181625220 +0000
-@@ -795,6 +795,8 @@ static int Preload(SettingList *setlist,
+@@ -799,6 +799,8 @@ static int Preload(SettingList *setlist,
                fp = (globbuf.gl_pathv[j][0] == '-' && !globbuf.gl_pathv[j][1])
                    ? stdin : fopen(globbuf.gl_pathv[j], "r");
                if (!fp) {

++++++ procps-ng-4.0.6.tar.xz -> procps-ng-4.0.7.tar.xz ++++++
++++ 52901 lines of diff (skipped)

++++++ procps-v3.3.3-read-sysctls-also-from-boot-sysctl.conf-kernelversion.diff 
++++++
--- /var/tmp/diff_new_pack.yvTsaY/_old  2026-08-20 16:13:59.180467726 +0200
+++ /var/tmp/diff_new_pack.yvTsaY/_new  2026-08-20 16:13:59.184467868 +0200
@@ -31,7 +31,7 @@
  #include <unistd.h>
  #include <ctype.h>
  
-@@ -831,6 +832,7 @@ static int sortpairs(const void *A, cons
+@@ -835,6 +836,7 @@ static int sortpairs(const void *A, cons
  static int PreloadSystem(SettingList *setlist)
  {
        unsigned di, i;
@@ -39,7 +39,7 @@
        const char *dirs[] = {
                "/etc/sysctl.d",
                "/run/sysctl.d",
-@@ -895,6 +897,16 @@ static int PreloadSystem(SettingList *se
+@@ -899,6 +901,16 @@ static int PreloadSystem(SettingList *se
        }
        qsort(cfgs, ncfgs, sizeof(struct cfg *), sortpairs);
  

Reply via email to