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-03-01 22:13:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/procps (Old)
 and      /work/SRC/openSUSE:Factory/.procps.new.29461 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "procps"

Sun Mar  1 22:13:54 2026 rev:141 rq:1335457 version:4.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/procps/procps.changes    2025-07-15 
16:43:11.122357522 +0200
+++ /work/SRC/openSUSE:Factory/.procps.new.29461/procps.changes 2026-03-01 
22:14:10.264351253 +0100
@@ -1,0 +2,91 @@
+Fri Feb 27 14:24:27 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- OK ... switch to coreutils-systemd and coreutils-systemd-doc 
+
+-------------------------------------------------------------------
+Fri Feb 27 08:39:35 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Conflict not only with systemd-coreutils but also with systemd-coreutils-doc
+
+-------------------------------------------------------------------
+Wed Feb  4 07:29:00 UTC 2026 - Dominique Leuenberger <[email protected]>
+
+- Conflict procps-uptime also with busybox-coreutils
+
+-------------------------------------------------------------------
+Tue Feb  3 10:20:04 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Add upstream commit as d9c96ec0.patch
+  * Fix Issues#413: watch in procps-ng 4.0.6 no longer uses full
+    pane height in tmux
+
+-------------------------------------------------------------------
+Mon Feb  2 10:26:18 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Now we have a .asc file for procps-ng-4.0.6 as well 
+
+-------------------------------------------------------------------
+Fri Jan 30 13:47:46 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Update to procps-ng-4.0.6
+  * library
+    version: inc revision to 1 now 1:1:0
+    internal: Use openat for files under /proc/<PID>
+    internal: Don't check for sd_booted                    Debian #1108549
+    internal: Address potential race leading to segfault   issues #380, #390
+  * local: guard SIGPOLL for MacOS                         merge !246
+  * pgrep: Fix unhex breakage for signal numbers           issue #369
+  * pgrep: Match on process ID                             Debian #612146
+  * pgrep: Add process_mrelease                            merge !250
+  * pgrep: Add shell quoting                               merge !248
+  * pgrep: Use pidfd_send_signal()                         issue #207
+  * pgrep.1: Note that we can only go to 100th of second   issue #376
+  * pgrep: Add --quiet option                              issue #404
+  * pmap: add -k option to print raw names from kernel     merge !251
+  * ps: parse --help correctly                             issue #381
+  * ps: Add --delimiter option                             issue #118
+  * ps: ps f forest works under pid 1                      issue #102
+  * ps: no longer fails with many pids & the 'p' option    issue #387
+  * ps.1: cols and collums alias width option              Debian #926361
+  * ps.1: Add format equivalents                           Debian #925437
+  * ps: avoid potential segfault due to library race       issue #380
+  * ps: Fix -ad option conflict                            issue #395
+  * ps: ppid of 0 is ok, fix parser                        issue #405
+  * slabtop: Increase column width                         Debian #959375
+  * sysctl: Return error if EPERM or EISDIR                merge !228
+  * sysctl: Use options after --system                     Debian #978989
+  * top: provides for ignoring configuration file(s)       issue #365
+  * top: fix legacy configuration file vulnerability       issue #384
+  * top: added a new help screen for specialized keys
+  * top: avoid potential segfault due to library race      issue #390
+  * top: new feature to show physical core percentages
+  * w: Add terminal mode to show all terminal sessions     issue #375
+  * w: Use process TTY as backup for user TTY              Debian #1080335
+  * w: Use correct return value for sd_get_sessions        Debian #1068904
+  * w: Don't check for sd_booted                           Debian #1108549
+  * w: Don't crash with pids in terminal mode              issue #407
+  * watch: Add --follow option                             Debian #469156
+  * watch: 256 color support                               issue #44
+  * watch.1: Warn about -d permanent option                Debian #883
+- No asc file of the source tar ball
+- Remove patch procps-ng-4.0.5-bsc1246330.patch no upstream
+- Add patch glibc-2.43.patch to support glibc 2.43
+- Port patches
+  * procps-ng-3.3.10-errno.patch
+  * 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-ng-4.0.4-pmapX-not-twice-anymore.patch
+    Now extended as we face EOF errors for pmap -k <pid>
+  * procps-v3.3.3-columns.dif
+  * procps-v3.3.3-pwdx.patch
+
+-------------------------------------------------------------------
+Thu Jul 31 11:21:01 UTC 2025 - Dr. Werner Fink <[email protected]>
+
+- Split off uptime in a separate package 
+
+-------------------------------------------------------------------

Old:
----
  procps-ng-4.0.5-bsc1246330.patch
  procps-ng-4.0.5.tar.xz
  procps-ng-4.0.5.tar.xz.asc

New:
----
  d9c96ec0.patch
  glibc-2.43.patch
  procps-ng-4.0.6.tar.xz
  procps-ng-4.0.6.tar.xz.asc

----------(Old B)----------
  Old:- No asc file of the source tar ball
- Remove patch procps-ng-4.0.5-bsc1246330.patch no upstream
- Add patch glibc-2.43.patch to support glibc 2.43
----------(Old E)----------

----------(New B)----------
  New:
- Add upstream commit as d9c96ec0.patch
  * Fix Issues#413: watch in procps-ng 4.0.6 no longer uses full
  New:- Remove patch procps-ng-4.0.5-bsc1246330.patch no upstream
- Add patch glibc-2.43.patch to support glibc 2.43
- Port patches
----------(New E)----------

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

Other differences:
------------------
++++++ procps.spec ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:11.296393668 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.300393832 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package procps
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -25,22 +25,26 @@
 %endif
 %bcond_without  pidof
 %bcond_without  nls
+%bcond_with     kill
 Name:           procps
-Version:        4.0.5
+Version:        4.0.6
 Release:        0
 Summary:        The ps utilities for /proc
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          System/Monitoring
 URL:            https://sf.net/projects/procps-ng/
-Source:         
https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-%{version}.tar.xz
+Source0:        
https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-%{version}.tar.xz
 Source1:        
https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-%{version}.tar.xz.asc
-#Alternate:     
https://gitlab.com/procps-ng/procps/-/archive/v%{version}/procps-v%{version}.tar.gz
+#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
-Patch2:         procps-ng-4.0.5-bsc1246330.patch
+# 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
@@ -65,6 +69,7 @@
 # PATCH-FIX-SUSE -- ignore dangling symlink to missing /etc/sysctl.conf file
 Patch39:        procps-ng-4.0.4-ignore-sysctl_conf.patch
 BuildRequires:  automake
+BuildRequires:  coreutils-systemd
 BuildRequires:  dejagnu
 BuildRequires:  diffutils
 BuildRequires:  libnuma-devel
@@ -79,6 +84,9 @@
 Obsoletes:      procps4 <= 4.0.4
 Provides:       ps = %{version}-%{release}
 Obsoletes:      ps < %{version}-%{release}
+# Currently filelist-coreutils.txt includes uptime as well
+# but also much more
+%define uptimepkg coreutils-systemd coreutils-systemd-doc
 
 %description
 The procps package contains a set of system utilities that provide
@@ -122,6 +130,29 @@
 
 This subpackage contains the header files for libprocps.
 
+%package uptime
+Summary:        Provide the /proc based uptime
+License:        GPL-2.0-or-later AND LGPL-2.1-or-later
+Group:          System/Monitoring
+Conflicts:      %uptimepkg
+Conflicts:      busybox-coreutils
+Provides:       %{name}:%{_bindir}/uptime
+
+%description uptime
+Simply provide the /proc based uptime command.
+
+%if %{with kill}
+%package kill
+Summary:        Provide the /proc based kill
+License:        GPL-2.0-or-later AND LGPL-2.1-or-later
+Group:          System/Monitoring
+Conflicts:      util-linux
+Provides:       %{name}:%{_bindir}/kill
+
+%description kill
+Simply provide the /proc based kill command.
+%endif
+
 %package -n %{libname}
 Summary:        The procps library
 License:        LGPL-2.1-or-later
@@ -134,8 +165,9 @@
 %prep
 %setup -q -n procps-ng-%{version}
 %patch -P1
-%patch -P2
+%patch -P2 -p1
 %patch -P3 -p1 -b .trcate
+%patch -P4 -p1 -b .413
 %patch -P7 -b .rof
 %patch -P8 -b .cache
 %patch -P11
@@ -206,21 +238,14 @@
 install -d %{buildroot}/bin
 install -d %{buildroot}/sbin
 
-# clean unwanted files (e.g. coreutils)
-rm -f %{buildroot}%{_bindir}/kill
-rm -f %{buildroot}%{_bindir}/uptime
-rm -f %{buildroot}%{_mandir}/man1/kill.1
-rm -f %{buildroot}%{_mandir}/*/man1/kill.1
-rm -f %{buildroot}%{_mandir}/man1/uptime.1
-rm -f %{buildroot}%{_mandir}/*/man1/uptime.1
 find %{buildroot} -type f -name "*.la" -delete -print
 rm -rf %{buildroot}%{_datadir}/doc/procps-ng
 
-if cmp -s %{buildroot}%{_mandir}/man1/pidwait.1 
%{buildroot}%{_mandir}/man1/pkill.1
+if ! test -e %{buildroot}%{_mandir}/man1/pkill.1
 then
-    rm -vf %{buildroot}%{_mandir}/man1/pidwait.1
-    (cat > %{buildroot}%{_mandir}/man1/pidwait.1)<<-'EOF'
-       .so man1/pkill.1
+    rm -vf %{buildroot}%{_mandir}/man1/pkill.1
+    (cat > %{buildroot}%{_mandir}/man1/pkill.1)<<-'EOF'
+       .so man1/pgrep.1
        EOF
 fi
 
@@ -277,6 +302,10 @@
 %endif
 
 %find_lang procps-ng --with-man --all-name
+(cat >> procps-ng.lang)<<-EOF
+%%exclude %%{_mandir}/*/man1/uptime.1%%{?ext_man}
+%%exclude %%{_mandir}/man1/uptime.1%%{?ext_man}
+EOF
 
 %post   -n %{libname} -p /sbin/ldconfig
 %postun -n %{libname} -p /sbin/ldconfig
@@ -400,6 +429,18 @@
 %{_mandir}/man8/vmstat.8%{?ext_man}
 %{_mandir}/man8/sysctl.8%{?ext_man}
 
+%files uptime
+%{_bindir}/uptime
+%{_mandir}/man1/uptime.1%{?ext_man}
+%{_mandir}/*/man1/uptime.1%{?ext_man}
+
+%if %{with kill}
+%files kill
+%{_bindir}/kill
+%{_mandir}/man1/kill.1%{?ext_man}
+%{_mandir}/*/man1/kill.1%{?ext_man}
+%endif
+
 %files devel
 %defattr (-,root,root,755)
 %dir %{_includedir}/libproc2/

++++++ d9c96ec0.patch ++++++
>From d089943ab4e1ce1f5e3d44847416a89ceab75147 Mon Sep 17 00:00:00 2001
From: Craig Small <[email protected]>
Date: Mon, 2 Feb 2026 20:36:50 +1100
Subject: [PATCH] watch: Don't remove 2 lines with -t option

When we use the -t option the height of the screen doesn't
decrease by 2.

References:
 #413
 commit d9c96ec0454206ebaf892184516b08de4004844c

Signed-off-by: Craig Small <[email protected]>
---
 NEWS        | 3 +++
 src/watch.c | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 53f0d58b..f687f274 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+procps-ng-NEXT
+---------------
+  * watch: Dont remove 2 lines when using -t option        issue #413
 procps-ng-4.0.6
 ---------------
   * library
diff --git a/src/watch.c b/src/watch.c
index f33c1785..012d95b1 100644
--- a/src/watch.c
+++ b/src/watch.c
@@ -1150,7 +1150,8 @@ static void get_terminal_size(void)
                        putenv(env_col_buf);
                }
        }
-        height -= 2;
+        if (!(flags & WATCH_NOTITLE))
+            height -= 2;
 
        assert(width > 0 && height > 0);
 }
-- 
GitLab


++++++ glibc-2.43.patch ++++++
>From 8fb131707cee9aea228c0b14bf6e2ad934a3af64 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <[email protected]>
Date: Thu, 29 Jan 2026 12:21:30 +0000
Subject: [PATCH] use const qualifier from pointer target type

warning since glibc-2.43

For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return
pointers into their input arrays now have definitions as macros
that return a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type.
---
 library/readproc.c | 5 +++--
 src/top/top.c      | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/library/readproc.c b/library/readproc.c
index a7f79051..aafaab3d 100644
--- a/library/readproc.c
+++ b/library/readproc.c
@@ -598,7 +598,7 @@ static int sd2proc (proc_t *restrict p) {
 static int stat2proc (const char *S, proc_t *restrict P) {
     char buf[64], raw[64];
     size_t num;
-    char *tmp;
+    const char *tmp;
 
 ENTER(0x160);
 
@@ -725,7 +725,8 @@ static void smaps2proc (const char *s, proc_t *restrict P) {
         /*    ProtectionKey                  "            */
         /*    VmFlags                        "            */
     };
-    char *head, *tail;
+    const char *head;
+    char *tail;
     int i;
 
     if (smaptab[0].slen < 0) {
diff --git a/src/top/top.c b/src/top/top.c
index b29f7c89..af921b12 100644
--- a/src/top/top.c
+++ b/src/top/top.c
@@ -1026,7 +1026,8 @@ static void show_special (int interact, const char *glob) 
{
      ( this function is called only with a glob under top's )
      ( control and never containing any 'raw/binary' chars! ) */
    char tmp[LRGBUFSIZ], lin[LRGBUFSIZ], row[ROWMINSIZ];
-   char *rp, *lin_end, *sub_beg, *sub_end;
+   char *rp, *sub_beg, *sub_end;
+   const char *lin_end;
    int room;
 
    // handle multiple lines passed in a bunch
@@ -5485,7 +5486,7 @@ static void bot_item_toggle (int what, const char *head, 
char sep) {
          * If q->findstr is found in the designated buffer, he returns the
          * offset from the start of the buffer, otherwise he returns -1. */
 static inline int find_ofs (const WIN_t *q, const char *buf) {
-   char *fnd;
+   const char *fnd;
 
    if (q->findstr[0] && (fnd = STRSTR(buf, q->findstr)))
       return (int)(fnd - buf);
-- 
GitLab


++++++ procps-ng-3.3.10-errno.patch ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:11.360396298 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.364396463 +0100
@@ -10,7 +10,7 @@
  1 file changed, 5 insertions(+)
 
 --- src/free.c
-+++ src/free.c 2022-10-20 13:33:28.880818112 +0000
++++ src/free.c 2026-01-30 12:02:37.084656375 +0000
 @@ -143,6 +143,7 @@ int main(int argc, char **argv)
        int c, flags = 0, unit_set = 0, rc = 0;
        struct commandline_arguments args;
@@ -40,7 +40,7 @@
                        errno = 0;
              args.repeat_interval = (1000000 * strtod_nol_or_err(optarg, 
"seconds argument failed"));
                        if (args.repeat_interval < 1)
-                               xerrx(EXIT_FAILURE,
+                               errx(EXIT_FAILURE,
                                     _("seconds argument `%s' is not positive 
number"), optarg);
 +                      errno = errsv;
                        break;

++++++ procps-ng-3.3.11-pmap4suse.patch ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:11.380397121 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.384397285 +0100
@@ -4,7 +4,7 @@
  2 files changed, 44 insertions(+), 20 deletions(-)
 
 --- src/pmap.c
-+++ src/pmap.c 2024-09-24 07:54:47.345701003 +0000
++++ src/pmap.c 2026-01-30 12:07:37.595146461 +0000
 @@ -59,7 +59,9 @@ const char *nls_Address,
           *nls_Kbytes,
           *nls_Mode,
@@ -26,7 +26,7 @@
  }
  
  static int justify_print(const char *str, int width, int right)
-@@ -150,10 +154,10 @@ static int d_option = 0;
+@@ -151,10 +155,10 @@ static int d_option = 0;
  static int n_option = 0;
  static int N_option = 0;
  static int q_option = 0;
@@ -39,7 +39,7 @@
  
  static unsigned shm_minor = ~0u;
  
-@@ -548,12 +552,17 @@ static int one_proc (struct pids_stack *
+@@ -555,12 +559,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));
  
-@@ -576,13 +585,15 @@ static int one_proc (struct pids_stack *
+@@ -583,13 +592,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);
                }
-@@ -622,6 +633,11 @@ static int one_proc (struct pids_stack *
+@@ -629,6 +640,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;
-@@ -634,16 +650,20 @@ static int one_proc (struct pids_stack *
+@@ -641,16 +657,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;
-@@ -681,7 +701,6 @@ static int one_proc (struct pids_stack *
+@@ -688,7 +708,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
-@@ -733,17 +752,21 @@ static int one_proc (struct pids_stack *
+@@ -740,17 +759,21 @@ static int one_proc (struct pids_stack *
                                justify_print("----------------", maxw1, 0);
                        justify_print("-------", maxw2, 1);
                        justify_print("-------", maxw3, 1);
@@ -141,8 +141,8 @@
                }
                if (d_option) {
                        printf
-@@ -1060,16 +1083,18 @@ int main(int argc, char **argv)
-       while ((c = getopt_long(argc, argv, "xXrdqA:hVcC:nN:p", longopts, 
NULL)) != -1)
+@@ -1069,16 +1092,18 @@ int main(int argc, char **argv)
+       while ((c = getopt_long(argc, argv, "xXrdqA:hVcC:nN:pk", longopts, 
NULL)) != -1)
                switch (c) {
                case 'x':
 -                      x_option = 1;
@@ -153,7 +153,7 @@
 +                      x_option = 0;
                        break;
                case 'r':
-                       xwarnx(_("option -r is ignored as SunOS 
compatibility"));
+                       warnx(_("option -r is ignored as SunOS compatibility"));
                        break;
                case 'd':
 -                      d_option = 1;
@@ -163,8 +163,8 @@
                case 'q':
                        q_option = 1;
 --- testsuite/pmap.test/pmap.exp
-+++ testsuite/pmap.test/pmap.exp       2024-09-24 07:52:40.843990587 +0000
-@@ -8,16 +8,16 @@ set pmap_procname "${mypid}:\\s+\\S+\[^\
++++ 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+"
  set pmap_std_header $pmap_procname
  set pmap_device_header 
"${pmap_procname}Address\\s+Kbytes\\s+Mode\\s+Offset\\s+Device\\s+Mapping\\s+"
@@ -178,6 +178,7 @@
 +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_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*\$"
@@ -186,7 +187,7 @@
  
  set test "pmap with no arguments"
  spawn $pmap
-@@ -26,17 +26,16 @@ expect_pass "$test" "Usage:\\s+\(lt-\)?p
+@@ -27,17 +27,16 @@ expect_pass "$test" "Usage:\\s+\(lt-\)?p
  
  set test "pmap standard output"
  spawn $pmap $mypid
@@ -206,7 +207,7 @@
  set test "pmap device output quiet (dq)"
  spawn $pmap -dq $mypid
  expect_table $test $pmap_procname $pmap_device_items "\$"
-@@ -50,7 +49,7 @@ if  { [ file readable "/proc/self/smaps"
+@@ -51,7 +50,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.OiRLUL/_old  2026-03-01 22:14:11.408398271 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.412398436 +0100
@@ -4,7 +4,7 @@
 
 --- src/top/top.c
 +++ src/top/top.c      2022-03-29 10:24:43.327490984 +0000
-@@ -1705,9 +1705,9 @@ static inline const char *make_str_utf8
+@@ -1708,9 +1708,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;
-@@ -1717,7 +1717,7 @@ static const char *scale_mem (int target
+@@ -1720,7 +1720,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.OiRLUL/_old  2026-03-01 22:14:11.432399258 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.444399751 +0100
@@ -1,20 +1,29 @@
 ---
- library/readproc.c |   20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
+ library/readproc.c |   34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
 
 --- library/readproc.c
-+++ library/readproc.c 2022-03-28 11:51:04.751862744 +0000
-@@ -738,7 +738,7 @@ static int file2str(const char *director
++++ library/readproc.c 2026-01-30 13:13:59.666169366 +0000
+@@ -135,7 +135,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))
+        return NULL;
+    if ((dirp = fdopendir(fd)) == NULL) {
+        int tmperrno = errno;
+@@ -760,7 +760,7 @@ static int file2str(int dirfd, const cha
+         ub->buf = calloc(1, (ub->siz = buffGRW));
+         if (!ub->buf) return -1;
      }
-     len = snprintf(path, sizeof path, "%s/%s", directory, what);
-     if (len <= 0 || (size_t)len >= sizeof path) return -1;
--    if (-1 == (fd = open(path, O_RDONLY, 0))) return -1;
-+    if (-1 == (fd = open(path, O_RDONLY, O_NOATIME))) 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;
      while (0 < (num = read(fd, ub->buf + tot_read, ub->siz - tot_read))) {
          tot_read += num;
          if (tot_read < ub->siz) break;
-@@ -762,25 +762,25 @@ static int file2str(const char *director
- static char **file2strvec(const char *directory, const char *what) {
+@@ -784,23 +784,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;
 -    int fd, tot = 0, n, c, end_of_file = 0;
@@ -22,16 +31,14 @@
 +    int fd, c, end_of_file = 0;
 +    ssize_t n, align, tot = 0;
  
-     const int len = snprintf(buf, sizeof buf, "%s/%s", directory, what);
-     if(len <= 0 || (size_t)len >= sizeof buf) return NULL;
--    fd = open(buf, O_RDONLY, 0);
-+    fd = open(buf, O_RDONLY, O_NOATIME);
+-    fd = openat(dirfd, what, O_RDONLY, 0);
++    fd = openat(dirfd, what, O_RDONLY, O_NOATIME);
      if(fd==-1) return NULL;
  
      /* read whole file into a memory buffer, allocating as we go */
      while ((n = read(fd, buf, sizeof buf - 1)) >= 0) {
 -        if (n < (int)(sizeof buf - 1))
-+        if (n < (sizeof(buf) - 1))
++        if (n < (sizeof buf - 1))
              end_of_file = 1;
 -        if (n <= 0 && tot <= 0) {  /* nothing read now, nothing read before */
 +        if (n <= 0 && tot <= 0)    /* nothing read now, nothing read before */
@@ -46,7 +53,7 @@
              end_of_file = 1;       /* integer overflow: null-terminate and 
break */
              n = 0;                 /* but tot > 0 */
          }
-@@ -814,7 +814,7 @@ static char **file2strvec(const char *di
+@@ -834,7 +834,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') {
@@ -55,7 +62,7 @@
              c += sizeof(char*);
          }
          if (*p == '\n')
-@@ -827,7 +827,7 @@ static char **file2strvec(const char *di
+@@ -847,7 +847,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 */
@@ -64,4 +71,58 @@
              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
+     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)
+         return 0;
+ 
+     for(;;){
+@@ -1153,7 +1153,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) {
+         in = read(fd, buf, sizeof(buf) - 1);
+         close(fd);
+         if (in > 0) {
+@@ -1184,7 +1184,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) {
+         in = read(fd, buf, sizeof(buf) - 1);
+         close(fd);
+         if (in > 0) {
+@@ -1522,7 +1522,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);
+                 return 1;
+             }
+         }
+@@ -1556,7 +1556,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);
+   return 1;
+ }
+ 
+@@ -1571,7 +1571,7 @@ static int listed_nextpid (PROCTAB *PT,
+ 
+   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);
+     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.OiRLUL/_old  2026-03-01 22:14:11.456400244 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.456400244 +0100
@@ -5,7 +5,7 @@
 
 --- Makefile.am
 +++ Makefile.am        2022-10-20 13:21:37.505517043 +0000
-@@ -204,7 +204,7 @@ src_top_top_SOURCES += local/strverscmp.
+@@ -234,7 +234,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.OiRLUL/_old  2026-03-01 22:14:11.472400901 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.476401066 +0100
@@ -1,10 +1,10 @@
 ---
- procps-ng-4.0.5/man/w.1 |    3 +++
- procps-ng-4.0.5/src/w.c |   27 +++++++++++++++++++++++----
+ procps-ng-4.0.6/man/w.1 |    3 +++
+ procps-ng-4.0.6/src/w.c |   27 +++++++++++++++++++++++----
  2 files changed, 26 insertions(+), 4 deletions(-)
 
---- procps-ng-4.0.5/man/w.1
-+++ procps-ng-4.0.5/man/w.1    2024-09-24 07:22:43.880495759 +0000
+--- procps-ng-4.0.6/man/w.1
++++ procps-ng-4.0.6/man/w.1    2026-01-30 11:53:44.594410770 +0000
 @@ -55,6 +55,9 @@ and a
  \fB\-s\fR, \fB\-\-short\fR
  Use the short format.  Don't print the login time, JCPU or PCPU times.
@@ -12,12 +12,12 @@
 +\fB\-n\fR, \fB\-\-no\-truncat\fR
 +Do not truncate the output format. This option might become renamed in future 
versions.
 +.TP
- \fB\-f\fR, \fB\-\-from\fR
- Toggle printing the
- .B from
---- procps-ng-4.0.5/src/w.c
-+++ procps-ng-4.0.5/src/w.c    2024-09-24 07:26:56.775930141 +0000
-@@ -218,7 +218,8 @@ static void print_from(
+ \fB\-t\fR, \fB\-\-terminal\fR
+ 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
+@@ -225,7 +225,8 @@ static void print_from(
            if (r < 0 || host == NULL)
                print_host("", 0, fromlen);
            else {
@@ -27,7 +27,7 @@
                free(host);
            }
        } else {
-@@ -543,7 +544,7 @@ static void show_uptime(
+@@ -636,7 +637,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)
  {
-@@ -554,6 +555,7 @@ static void showinfo(
+@@ -646,6 +647,7 @@ static void showinfo(
      char cmdline[MAX_CMD_WIDTH + 1];
      pid_t best_pid = -1;
      int pids_length = 0;
@@ -44,11 +44,11 @@
  
      strcpy(cmdline, "-");
  
-@@ -604,7 +606,18 @@ static void showinfo(
+@@ -671,7 +673,18 @@ static void showinfo(
      /* force NUL term for printf */
      uname[UT_NAMESIZE] = '\0';
  
--    printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5);
+-    printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty);
 +    if (longform > 1) {
 +        userlen = strlen(uname);
 +        if (u) {
@@ -64,32 +64,32 @@
      if (from)
          print_from(session, u, ip_addresses, fromlen);
  
-@@ -678,6 +691,7 @@ static void __attribute__ ((__noreturn__
+@@ -745,6 +758,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);
 +      fputs(_(" -n, --no-truncat    non truncated listing (large)\n"),out);
-       fputs(_(" -f, --from          show remote hostname field\n"),out);
-       fputs(_(" -o, --old-style     old style output\n"),out);
-       fputs(_(" -i, --ip-addr       display IP address instead of hostname 
(if possible)\n"), out);
-@@ -720,6 +734,7 @@ int main(int argc, char **argv)
+       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)
                {"no-header", no_argument, NULL, 'h'},
                {"no-current", no_argument, NULL, 'u'},
                {"short", no_argument, NULL, 's'},
 +              {"no-truncat", no_argument, NULL, 'n'},
+               {"terminal", no_argument, NULL, 't'},
                {"from", no_argument, NULL, 'f'},
                {"old-style", no_argument, NULL, 'o'},
-               {"ip-addr", no_argument, NULL, 'i'},
-@@ -742,7 +757,7 @@ int main(int argc, char **argv)
+@@ -1039,7 +1054,7 @@ int main(int argc, char **argv)
  #endif
  
        while ((ch =
--              getopt_long(argc, argv, "chusfoVip", longopts, NULL)) != -1)
-+              getopt_long(argc, argv, "chusnfoVip", longopts, NULL)) != -1)
+-              getopt_long(argc, argv, "chustfoVip", longopts, NULL)) != -1)
++              getopt_long(argc, argv, "chusntfoVip", longopts, NULL)) != -1)
                switch (ch) {
                  case 'c':
                          container = 1;
-@@ -753,6 +768,10 @@ int main(int argc, char **argv)
+@@ -1050,6 +1065,10 @@ int main(int argc, char **argv)
                case 's':
                        longform = 0;
                        break;
@@ -97,7 +97,7 @@
 +                      longform = 2;
 +                      header = 0;
 +                      break;
-               case 'f':
-                       from = !from;
-                       break;
+                 case 't':
+                         term_mode = true;
+                         break;
 

++++++ procps-ng-4.0.4-ignore-sysctl_conf.patch ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:11.496401888 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.500402052 +0100
@@ -10,7 +10,7 @@
                if (!fp) {
 +                      if (strcmp ("/usr/lib/sysctl.d/99-sysctl.conf", 
globbuf.gl_pathv[j]) == 0)
 +                              continue;
-                       xwarn(_("cannot open \"%s\""), globbuf.gl_pathv[j]);
+                       warn(_("cannot open \"%s\""), globbuf.gl_pathv[j]);
              return EXIT_FAILURE;
                }
 

++++++ procps-ng-4.0.4-pmapX-not-twice-anymore.patch ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:11.524403039 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:11.524403039 +0100
@@ -1,10 +1,10 @@
 ---
- testsuite/pmap.test/pmap.exp |   25 -------------------------
- 1 file changed, 25 deletions(-)
+ testsuite/pmap.test/pmap.exp |   27 +--------------------------
+ 1 file changed, 1 insertion(+), 26 deletions(-)
 
 --- testsuite/pmap.test/pmap.exp
-+++ testsuite/pmap.test/pmap.exp       2024-12-19 15:07:47.150871855 +0000
-@@ -74,31 +74,6 @@ if  { [ file readable "/proc/self/smaps"
++++ testsuite/pmap.test/pmap.exp       2026-01-30 13:34:50.979210872 +0000
+@@ -75,31 +75,6 @@ if  { [ file readable "/proc/self/smaps"
      }
  }
  
@@ -12,16 +12,16 @@
 -proc expect_twice_total { test } {
 -    set totkb 0
 -    expect {
--        -re "\r\n\\s+(\\d+)\\s+.*KB" {
+-        -re "\r\n\\s+(\\d+)\\s+\[0-9 \]+KB" {
 -            set totkb $expect_out(1,string)
 -            expect {
--                -re "\r\n\\s+$totkb\[0-9 \]*KB" { pass "$test" }
--                eof { fail "$test: first match" }
--                timeout { fail "$test: first match" }
+-                -re "\r\n\\s+$totkb\\s+\[0-9 \]+KB" { pass "$test" }
+-                eof { fail "$test: match second process: $totkb" }
+-                timeout { fail "$test: match second process: $totkb" }
 -            }
 -        }
--        eof { fail "$test: second match" }
--        timeout { fail "$test: second match" }
+-        eof { fail "$test: match first process" }
+-        timeout { fail "$test: match first process" }
 -    }
 -}
 -
@@ -36,4 +36,13 @@
  set test "pmap finding shm"
  make_testshm_proc
  if { $shmid == "" } {
+@@ -113,7 +88,7 @@ kill_testshm_proc
+ proc expect_any { test match_item } {
+     expect {
+         eof {
+-            fail "$test (items eof)"
++            pass $test
+         }
+         -re $match_item {
+             pass $test
 

++++++ procps-ng-4.0.5.tar.xz -> procps-ng-4.0.6.tar.xz ++++++
++++ 231494 lines of diff (skipped)

++++++ procps-v3.3.3-columns.dif ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:12.500443152 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:12.516443810 +0100
@@ -4,7 +4,7 @@
 
 --- src/ps/global.c
 +++ src/ps/global.c    2022-03-29 09:31:24.242140877 +0000
-@@ -270,8 +270,11 @@ static void set_screen_size(void){
+@@ -271,8 +271,11 @@ static void set_screen_size(void){
    screen_cols = ws.ws_col;  // hmmm, NetBSD subtracts 1
    screen_rows = ws.ws_row;
  
@@ -18,7 +18,7 @@
  
    columns = getenv("COLUMNS");
    if(columns && *columns){
-@@ -413,6 +416,7 @@ static const char *set_personality(void)
+@@ -414,6 +417,7 @@ static const char *set_personality(void)
      return NULL;
  
    case_aix:
@@ -26,7 +26,7 @@
      bsd_j_format = "FB_j";
      bsd_l_format = "FB_l";
      /* bsd_s_format not used */
-@@ -440,6 +444,7 @@ static const char *set_personality(void)
+@@ -441,6 +445,7 @@ static const char *set_personality(void)
  
    case_sunos4:
      personality = PER_NO_DEFAULT_g;
@@ -34,7 +34,7 @@
      prefer_bsd_defaults = 1;
      bsd_j_format = "FB_j";
      bsd_l_format = "FB_l";
-@@ -465,12 +470,14 @@ static const char *set_personality(void)
+@@ -466,12 +471,14 @@ static const char *set_personality(void)
    case_hp:
    case_hpux:
      personality = PER_HPUX_x;
@@ -49,7 +49,7 @@
      return NULL;
  
    case_posix:
-@@ -511,8 +518,8 @@ void reset_global(void){
+@@ -512,8 +519,8 @@ void reset_global(void){
    }
  // --- <pids> interface --------------------------------------------------
  

++++++ procps-v3.3.3-pwdx.patch ++++++
--- /var/tmp/diff_new_pack.OiRLUL/_old  2026-03-01 22:14:12.544444962 +0100
+++ /var/tmp/diff_new_pack.OiRLUL/_new  2026-03-01 22:14:12.560445619 +0100
@@ -10,6 +10,6 @@
  
 +              errno = 0;
                if (check_pid_argument(argv[i]))
-                       xerrx(EXIT_FAILURE, _("invalid process id: %s"),
+                       errx(EXIT_FAILURE, _("invalid process id: %s"),
                             argv[i]);
 

Reply via email to