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]);
