mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-process/procps: add 4.0.6
Rebased the sysctl '-' ignore errors patch from ulm's upstream PR, include another patch from ulm for bug #969469, and wire up verify-sig. Closes: https://bugs.gentoo.org/969469 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -1 +1,3 @@
|
||||
DIST procps-ng-4.0.5.tar.xz 1517672 BLAKE2B 4b273ac7737202147fbf392995da1c5ff385df2b53ad84180b6412dc45c2a671e81d7659c0a5824c0d8c19fa37cbf2e58b0545841c74399b3717a9f27fd26c23 SHA512 c27730743210cf850c4af98e1fb81bc8ee8d550b07b9eedb34a5b9d661263d0f1bc92c4e73802a0ed8d4405854aef4bc542bff283c28e8fbb6dabb967f9e4359
|
||||
DIST procps-ng-4.0.6.tar.xz 1580516 BLAKE2B 20acd79cf60e2967f82724ef432a239c29fd12fc6d24dac5d606eac6a167a7ad46001c08796fa2a910afc709d1e7c3ee1b9260d9753339f423b21fb457264c6b SHA512 c499aa14b6c94eda3a455bfe0d2d3c74c79dd718bffbd20207bd0831cb87725b83a76e4ee537a49ddf112bd1248a156d35da00035cbcd4c22037a20dcb4bdc9c
|
||||
DIST procps-ng-4.0.6.tar.xz.asc 833 BLAKE2B baaf361cf5e173fafa090930c2cd06769b9cecb95c5b0c41e38d1d5d4ac342b098e3906b836c610f177c8a582c4fe1bc76b8fa8afb111c85c394137d7fad19b7 SHA512 a5cee151b5a1591efad4f91ca75e43e0b7fc9d2d403db1d71d7e0937b8916c1fcffaa22369ca5289e2e5989cca35c3a6073efcfc969026a59738e793bdf28331
|
||||
|
||||
50
sys-process/procps/files/procps-4.0.6-pid-off-by-one.patch
Normal file
50
sys-process/procps/files/procps-4.0.6-pid-off-by-one.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
https://bugs.gentoo.org/969469
|
||||
https://gitlab.com/procps-ng/procps/-/issues/412
|
||||
https://gitlab.com/procps-ng/procps/-/merge_requests/284
|
||||
|
||||
From 5574f049830ec8f76b5042855b65b418a0b3e8f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
|
||||
Date: Fri, 30 Jan 2026 13:05:18 +0100
|
||||
Subject: [PATCH] library: Fix off-by-one error in procps_pid_length
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Section "pid_max" in Linux admin-guide/sysctl/kernel.rst says:
|
||||
|
||||
| PID allocation wrap value. When the kernel's next PID value
|
||||
| reaches this value, it wraps back to a minimum PID value.
|
||||
| PIDs of value "pid_max" or larger are not allocated.
|
||||
|
||||
In particular, when pid_max == 10**N exactly, then the largest
|
||||
possible PID is 10**N - 1, i.e. the length is N.
|
||||
|
||||
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
||||
---
|
||||
library/sysinfo.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/library/sysinfo.c b/library/sysinfo.c
|
||||
index 35a99220..aad90f56 100644
|
||||
--- a/library/sysinfo.c
|
||||
+++ b/library/sysinfo.c
|
||||
@@ -139,9 +139,14 @@ PROCPS_EXPORT unsigned int procps_pid_length(void)
|
||||
pid_length = DEFAULT_PID_LENGTH;
|
||||
if ((fp = fopen(PROCFS_PID_MAX, "r")) != NULL) {
|
||||
if (fgets(pidbuf, sizeof(pidbuf), fp) != NULL) {
|
||||
- pid_length = strlen(pidbuf);
|
||||
- if (pidbuf[pid_length-1] == '\n')
|
||||
- --pid_length;
|
||||
+ errno = 0;
|
||||
+ long pid_max = strtol(pidbuf, NULL, 10);
|
||||
+ if (errno == 0 && pid_max > 0) {
|
||||
+ pid_max--;
|
||||
+ pid_length = 1;
|
||||
+ while ((pid_max /= 10) > 0)
|
||||
+ pid_length++;
|
||||
+ }
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1,41 @@
|
||||
https://bugs.gentoo.org/969014
|
||||
https://gitlab.com/procps-ng/procps/-/issues/410
|
||||
https://gitlab.com/procps-ng/procps/-/merge_requests/282
|
||||
|
||||
From 98f60043abb4d45661b3adee261e4a14cf94c025 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
|
||||
Date: Sun, 25 Jan 2026 13:35:34 +0100
|
||||
Subject: [PATCH] sysctl: Respect ignore_failure also for close_stream
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When the kernel rejects an unknown value for given a key, then output
|
||||
will be pending and close_stream will fail (typically with ENOENT).
|
||||
|
||||
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
||||
---
|
||||
src/sysctl.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/sysctl.c b/src/sysctl.c
|
||||
index d04d5e36..b702fd9f 100644
|
||||
--- a/src/sysctl.c
|
||||
+++ b/src/sysctl.c
|
||||
@@ -623,9 +623,12 @@ static int WriteSetting(
|
||||
if (0 < fprintf(fp, "%s\n", value))
|
||||
rc = EXIT_SUCCESS;
|
||||
if (close_stream(fp) != 0) {
|
||||
- warn(_("setting key \"%s\""), dotted_key);
|
||||
+ warn(_("setting key \"%s\"%s"),
|
||||
+ dotted_key, (ignore_failure?_(", ignoring"):""));
|
||||
free(dotted_key);
|
||||
- return EXIT_FAILURE;
|
||||
+ if (!ignore_failure)
|
||||
+ rc = EXIT_FAILURE;
|
||||
+ return rc;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
127
sys-process/procps/procps-4.0.6.ebuild
Normal file
127
sys-process/procps/procps-4.0.6.ebuild
Normal file
@@ -0,0 +1,127 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/craigsmall.asc
|
||||
inherit autotools flag-o-matic multilib-minimal verify-sig
|
||||
|
||||
DESCRIPTION="Standard informational utilities and process-handling tools"
|
||||
HOMEPAGE="https://gitlab.com/procps-ng/procps"
|
||||
# Per e.g. https://gitlab.com/procps-ng/procps/-/releases/v4.0.5, the dist tarballs
|
||||
# are still hosted on SF.
|
||||
SRC_URI="
|
||||
https://downloads.sourceforge.net/${PN}-ng/${PN}-ng-${PV}.tar.xz
|
||||
verify-sig? ( https://downloads.sourceforge.net/${PN}-ng/${PN}-ng-${PV}.tar.xz.asc )
|
||||
"
|
||||
S="${WORKDIR}"/${PN}-ng-${PV}
|
||||
|
||||
# See bug #913210
|
||||
LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+"
|
||||
SLOT="0/1-ng"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="elogind +kill modern-top +ncurses nls selinux static-libs skill systemd test unicode"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
elogind? ( sys-auth/elogind )
|
||||
elibc_musl? ( sys-libs/error-standalone )
|
||||
ncurses? ( >=sys-libs/ncurses-5.7-r7:=[unicode(+)?] )
|
||||
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
|
||||
systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
!<app-i18n/man-pages-l10n-4.2.0-r1
|
||||
!<app-i18n/man-pages-zh_CN-1.6.4.2
|
||||
kill? (
|
||||
!sys-apps/coreutils[kill]
|
||||
!sys-apps/util-linux[kill]
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
elogind? ( virtual/pkgconfig )
|
||||
elibc_musl? ( virtual/pkgconfig )
|
||||
ncurses? ( virtual/pkgconfig )
|
||||
systemd? ( virtual/pkgconfig )
|
||||
test? ( dev-util/dejagnu )
|
||||
verify-sig? ( sec-keys/openpgp-keys-craigsmall )
|
||||
"
|
||||
|
||||
# bug #898830
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( makedev )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.0.4-xfail-pmap-test.patch
|
||||
"${FILESDIR}"/${PN}-4.0.5-sysctl-manpage.patch # bug #565304
|
||||
"${FILESDIR}"/${PN}-4.0.6-sysctl-ignore_failure.patch
|
||||
"${FILESDIR}"/${PN}-4.0.6-pid-off-by-one.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Only needed for fix-tests-multilib.patch and pgrep-old-linux-headers.patch
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# http://www.freelists.org/post/procps/PATCH-enable-transparent-large-file-support
|
||||
# bug #471102
|
||||
append-lfs-flags
|
||||
|
||||
local myeconfargs=(
|
||||
# No elogind multilib support
|
||||
$(multilib_native_use_with elogind)
|
||||
$(multilib_native_use_enable kill)
|
||||
$(multilib_native_use_enable modern-top)
|
||||
$(multilib_native_enable pidof)
|
||||
$(multilib_native_enable pidwait)
|
||||
$(multilib_native_use_with ncurses)
|
||||
# bug #794997
|
||||
$(multilib_native_use_enable !elibc_musl w)
|
||||
$(use_enable nls)
|
||||
$(use_enable selinux libselinux)
|
||||
$(use_enable static-libs static)
|
||||
$(use_with systemd)
|
||||
$(use_enable skill)
|
||||
)
|
||||
|
||||
if use ncurses; then
|
||||
# Only pass whis when we are building the 'watch' command
|
||||
myeconfargs+=( $(multilib_native_use_enable unicode watch8bit) )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local ps="${BUILD_DIR}/src/ps/pscommand"
|
||||
if [[ $("${ps}" --no-headers -o cls -q $$) == IDL ]]; then
|
||||
# bug #708230
|
||||
ewarn "Skipping tests due to SCHED_IDLE"
|
||||
else
|
||||
# bug #461302
|
||||
emake check </dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
dodoc "${S}"/sysctl.conf
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
# We keep ps and kill in /bin per bug #565304.
|
||||
dodir /bin
|
||||
mv "${ED}"/usr/bin/ps "${ED}"/bin/ || die
|
||||
if use kill; then
|
||||
mv "${ED}"/usr/bin/kill "${ED}"/bin/ || die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
||||
Reference in New Issue
Block a user