aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2016-06-28 13:38:33 -0400
committerAnthony G. Basile <blueness@gentoo.org>2016-06-28 13:38:33 -0400
commita0406c827869abb62b3180bf422be4d827b2e15e (patch)
tree3ad7e7a9db2a0d205a55550b3122b9762164d5d7 /sys-process
parentnet-libs/libmnl: run elibtoolize #580792 (diff)
downloadppc64le-a0406c827869abb62b3180bf422be4d827b2e15e.tar.gz
ppc64le-a0406c827869abb62b3180bf422be4d827b2e15e.tar.bz2
ppc64le-a0406c827869abb62b3180bf422be4d827b2e15e.zip
sys-process/procps: copy from tree
Diffstat (limited to 'sys-process')
-rw-r--r--sys-process/procps/Manifest4
-rw-r--r--sys-process/procps/files/procps-3.3.10-pmap-unreadable.patch60
-rw-r--r--sys-process/procps/files/procps-3.3.10-tests-no-tty.patch122
-rw-r--r--sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch32
-rw-r--r--sys-process/procps/files/procps-3.3.8-kill-neg-pid.patch46
-rw-r--r--sys-process/procps/files/procps-3.3.9-sysctl-load-config-files.patch14
-rw-r--r--sys-process/procps/metadata.xml16
-rw-r--r--sys-process/procps/procps-3.3.10-r1.ebuild67
-rw-r--r--sys-process/procps/procps-3.3.11-r3.ebuild76
-rw-r--r--sys-process/procps/procps-3.3.9-r2.ebuild61
10 files changed, 498 insertions, 0 deletions
diff --git a/sys-process/procps/Manifest b/sys-process/procps/Manifest
new file mode 100644
index 0000000..5f7395a
--- /dev/null
+++ b/sys-process/procps/Manifest
@@ -0,0 +1,4 @@
+DIST procps-3.3.11-remove_Unix98_output_limits.patch 7582 SHA256 0801b971c630d2d68fe87da0b84842169df38cd88d3854da73b0e9bb45572d29 SHA512 8502264cba62475e3fc218dfde6c8ac375ccbf309843cec3000796e7455f41f287692aafd423f301b6c1a7e5f04c708fe30c2dd305ec3345b7a77b3443e35e55 WHIRLPOOL cbdba6dc94a4bec63f9fae8edc396aa5e59551a1606ed7dee56a65fad2e3d75ea5f391105806262f00103386c47434ec656b55bcefdd565313139355fa31ac61
+DIST procps-ng-3.3.10.tar.xz 657232 SHA256 1759229cd0d97da3d200d5599c4ea82726d61fae9c4b7d3edd52c544962791b7 SHA512 cbfa49e79a88a8e7066a9c316ef089f15fa825c5bfbc22ab8a83f53c6f367a7c586cef9c403e360d373d824c471533a15ddb11cd30c561650e6879fe687e7e4f WHIRLPOOL 723dd1c00578a7fa7e3ff47bed60283c30850cc8ae8069c704ba648792809a67c5944dbfd9b7b0159e0be83215b61e6b71b2d76e65b3619aed54223900ffed9b
+DIST procps-ng-3.3.11.tar.xz 815920 SHA256 e9493169a2d2adc0bc045538707310c8e877b385e4e296143b62607d2bb044ed SHA512 8ab4770adeba4c7e3cf75bc189278cf7a162ece0f23b862e7f726faccee11bd4524aec622b895f3b4e0b272a739a327a01e91f48834feea513544f0515b250df WHIRLPOOL 1da50ec4e8be9d76086a1112b00eea0daa39a7e579e846b92c12fea23a8303a7287e2d32d41feae93aad7b138768852b004544731fff882236ee3bd9511154ff
+DIST procps-ng-3.3.9.tar.xz 560812 SHA256 00f0cb0fadf968ddf605b0ef119846af07386629244d4f3da711a2cecf4e8663 SHA512 62c7270aa48b4346a3198f306d1cb8474f64650bfb67e8cc6c4d41923e50c31c95b3a0367a464823fb50a6137ec0c6352006292ac85b50caf730ec8ec35eb553 WHIRLPOOL dac97433a87badd40b46e3155bf0e30652ed2961a41bc8fca074357431301d250632215512ad752634c9c4f3273a1c75caba1ecf4f5a3c510bee155660dde166
diff --git a/sys-process/procps/files/procps-3.3.10-pmap-unreadable.patch b/sys-process/procps/files/procps-3.3.10-pmap-unreadable.patch
new file mode 100644
index 0000000..6976748
--- /dev/null
+++ b/sys-process/procps/files/procps-3.3.10-pmap-unreadable.patch
@@ -0,0 +1,60 @@
+https://bugs.gentoo.org/404389
+
+From 92071e963e6ff50f0e221dde286f3229267b2ff9 Mon Sep 17 00:00:00 2001
+From: Craig Small <csmall@enc.com.au>
+Date: Sat, 24 Jan 2015 18:53:29 +1100
+Subject: [PATCH] pmap: print process even if smaps unreadable
+
+pmap would previously print the process name if
+/proc/PID/smaps could be opened, even if subsequent
+reads failed. This actually occurs with other users
+PIDs.
+
+Kernel 3.18rc1 introduced a change where the file could
+not been opened, meaning pmap -X 1 previously showed
+the process name and nothing else but NOW shows nothing
+make check failed because of this.
+
+This change prints the process name even before trying to open
+the file, returning it to previous behaviour.
+Thanks to Vincent Bernat for some analysis.
+
+References:
+ https://bugs.debian.org/775624
+ https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=29a40ace841cba9b661711f042d1821cdc4ad47c
+
+Signed-off-by: Craig Small <csmall@enc.com.au>
+---
+ NEWS | 1 +
+ pmap.c | 8 ++++----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/pmap.c b/pmap.c
+index c83617c..17e0e30 100644
+--- a/pmap.c
++++ b/pmap.c
+@@ -533,6 +533,10 @@ static int one_proc(proc_t * p)
+ */
+ int maxcmd = 0xfffff;
+
++ escape_command(cmdbuf, p, sizeof cmdbuf, &maxcmd,
++ ESC_ARGS | ESC_BRACKETS);
++ printf("%u: %s\n", p->tgid, cmdbuf);
++
+ if (x_option || X_option || c_option) {
+ sprintf(buf, "/proc/%u/smaps", p->tgid);
+ if ((fp = fopen(buf, "r")) == NULL)
+@@ -543,10 +547,6 @@ static int one_proc(proc_t * p)
+ return 1;
+ }
+
+- escape_command(cmdbuf, p, sizeof cmdbuf, &maxcmd,
+- ESC_ARGS | ESC_BRACKETS);
+- printf("%u: %s\n", p->tgid, cmdbuf);
+-
+ if (X_option || c_option) {
+ print_extended_maps(fp);
+ return 0;
+--
+2.4.0
+
diff --git a/sys-process/procps/files/procps-3.3.10-tests-no-tty.patch b/sys-process/procps/files/procps-3.3.10-tests-no-tty.patch
new file mode 100644
index 0000000..7a774e5
--- /dev/null
+++ b/sys-process/procps/files/procps-3.3.10-tests-no-tty.patch
@@ -0,0 +1,122 @@
+https://bugs.gentoo.org/461302
+
+From 4050148a4533e8a79cef0d7dcd0c058d78c48a31 Mon Sep 17 00:00:00 2001
+From: Craig Small <csmall@enc.com.au>
+Date: Sat, 9 May 2015 17:48:12 +1000
+Subject: [PATCH] Fix some sched and tty tests
+
+The ps sched test has been disabled. There are too many
+odd build farms this fails in strange ways.
+
+Other odd build farms have no tty and so some tests check
+for no tty and skip if not found.
+---
+ testsuite/config/unix.exp | 9 +++++++++
+ testsuite/pgrep.test/pgrep.exp | 11 +++++++----
+ testsuite/pkill.test/pkill.exp | 3 +--
+ testsuite/ps.test/ps_output.exp | 2 --
+ testsuite/ps.test/ps_sched_batch.exp | 16 +++++++++-------
+ 5 files changed, 26 insertions(+), 15 deletions(-)
+
+diff --git a/testsuite/config/unix.exp b/testsuite/config/unix.exp
+index 522efb1..1318e9a 100644
+--- a/testsuite/config/unix.exp
++++ b/testsuite/config/unix.exp
+@@ -146,3 +146,12 @@ proc kill_testproc { } {
+ kill_process $testproc2_pid
+ file delete $testproc_path
+ }
++
++proc get_tty {} {
++ if { [catch { set raw_tty [ exec tty ] } msg]} {
++ warning "No TTY found"
++ return ""
++ }
++ regexp "/dev/(.+)" $raw_tty > tty
++ return $tty
++}
+diff --git a/testsuite/pgrep.test/pgrep.exp b/testsuite/pgrep.test/pgrep.exp
+index 152b6ec..1c6cec6 100644
+--- a/testsuite/pgrep.test/pgrep.exp
++++ b/testsuite/pgrep.test/pgrep.exp
+@@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
+ set gid [ exec id -g ]
+ set not_gid [ expr { $gid + 1 } ]
+ set ps "${topdir}ps/pscommand"
+-set raw_tty [ exec tty ]
+-regexp "/dev/(.+)" $raw_tty > tty
++set tty [ get_tty ]
+
+ set test "pgprep with no arguments"
+ spawn $pgrep
+@@ -80,8 +79,12 @@ spawn $pgrep -s 1 $testproc_comm
+ expect_blank "$test"
+
+ set test "pgrep matches on tty"
+-spawn $pgrep -t $tty $testproc_comm
+-expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
++if { $tty == "" } {
++ untested "$test"
++} else {
++ spawn $pgrep -t $tty $testproc_comm
++ expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
++}
+
+ set test "pgrep doesn't match with bogus tty"
+ spawn $pgrep -t glass $testproc_comm
+diff --git a/testsuite/pkill.test/pkill.exp b/testsuite/pkill.test/pkill.exp
+index 5eece7d..c583cbe 100644
+--- a/testsuite/pkill.test/pkill.exp
++++ b/testsuite/pkill.test/pkill.exp
+@@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
+ set gid [ exec id -g ]
+ set not_gid [ expr { $gid + 1 } ]
+ set ps "${topdir}ps/pscommand"
+-set raw_tty [ exec tty ]
+-regexp "/dev/(.+)" $raw_tty > tty
++set tty [ get_tty ]
+
+ set test "pkill with no arguments"
+ spawn $pkill
+diff --git a/testsuite/ps.test/ps_output.exp b/testsuite/ps.test/ps_output.exp
+index 3a6f3d8..1b2c097 100644
+--- a/testsuite/ps.test/ps_output.exp
++++ b/testsuite/ps.test/ps_output.exp
+@@ -9,8 +9,6 @@ set uid [ exec id -u ]
+ set not_uid [ expr { $uid + 1 } ]
+ set gid [ exec id -g ]
+ set not_gid [ expr { $gid + 1 } ]
+-set raw_tty [ exec tty ]
+-regexp "/dev/(.+)" $raw_tty > tty
+
+ # All the fields
+ # Cannot do args,cmd,comm
+diff --git a/testsuite/ps.test/ps_sched_batch.exp b/testsuite/ps.test/ps_sched_batch.exp
+index e0c31ff..c58b9a2 100644
+--- a/testsuite/ps.test/ps_sched_batch.exp
++++ b/testsuite/ps.test/ps_sched_batch.exp
+@@ -1,12 +1,14 @@
+ #
+ # check the ps SCHED_BATCH scheduler policy output
+ #
+-set ps "${topdir}ps/pscommand"
+-set schedbatch "${topdir}testsuite/test-schedbatch"
+-
+-spawn $schedbatch 18
+-
++# This is too flaky on certain build systems to be
++# reliable - CS
++#set ps "${topdir}ps/pscommand"
++#set schedbatch "${topdir}testsuite/test-schedbatch"
++#
++#spawn $schedbatch 18
++#
+ set test "ps SCHED_BATCH scheduler"
+-spawn $ps --no-header -o comm,cls,nice -a
+-expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
++#spawn $ps --no-header -o comm,cls,nice -a
++#expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
+ untested "$test"
+--
+2.4.0
+
diff --git a/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch b/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch
new file mode 100644
index 0000000..3523aad
--- /dev/null
+++ b/sys-process/procps/files/procps-3.3.11-sysctl-manpage.patch
@@ -0,0 +1,32 @@
+--- procps-ng-3.3.11-orig/sysctl.8
++++ procps-ng-3.3.11/sysctl.8
+@@ -123,21 +123,21 @@
+ \fB\-V\fR, \fB\-\-version\fR
+ Display version information and exit.
+ .SH EXAMPLES
+-/sbin/sysctl \-a
++/usr/sbin/sysctl \-a
+ .br
+-/sbin/sysctl \-n kernel.hostname
++/usr/sbin/sysctl \-n kernel.hostname
+ .br
+-/sbin/sysctl \-w kernel.domainname="example.com"
++/usr/sbin/sysctl \-w kernel.domainname="example.com"
+ .br
+-/sbin/sysctl \-p/etc/sysctl.conf
++/usr/sbin/sysctl \-p/etc/sysctl.conf
+ .br
+-/sbin/sysctl \-a \-\-pattern forward
++/usr/sbin/sysctl \-a \-\-pattern forward
+ .br
+-/sbin/sysctl \-a \-\-pattern forward$
++/usr/sbin/sysctl \-a \-\-pattern forward$
+ .br
+-/sbin/sysctl \-a \-\-pattern 'net.ipv4.conf.(eth|wlan)0.arp'
++/usr/sbin/sysctl \-a \-\-pattern 'net.ipv4.conf.(eth|wlan)0.arp'
+ .br
+-/sbin/sysctl \-\-system \-\-pattern '^net.ipv6'
++/usr/sbin/sysctl \-\-system \-\-pattern '^net.ipv6'
+ .SH DEPRECATED PARAMETERS
+ The
+ .B base_reachable_time
diff --git a/sys-process/procps/files/procps-3.3.8-kill-neg-pid.patch b/sys-process/procps/files/procps-3.3.8-kill-neg-pid.patch
new file mode 100644
index 0000000..0039748
--- /dev/null
+++ b/sys-process/procps/files/procps-3.3.8-kill-neg-pid.patch
@@ -0,0 +1,46 @@
+From 396cbc4cf36166217d877e2ff7e0a290758b0bc2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 27 Jun 2013 18:37:17 -0400
+Subject: [PATCH] kill: fix -PID handling
+
+Commit 19b6f48990b02aeca211b480625b95b2033c1017 tried to fix -PID
+handling, but the new logic ends up skipping over the arg. This is
+because getopt increments optind after it processed the -PID (even
+though it was an unknown option). We need to decrement it by one
+so the loop at the end of the code will process it for us.
+
+I also fixed some whitespace errors in that same commit.
+
+URL: http://code.google.com/p/chromium/issues/detail?id=255209
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ skill.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/skill.c b/skill.c
+index fb57305..074c5d7 100644
+--- a/skill.c
++++ b/skill.c
+@@ -390,7 +390,7 @@ static void __attribute__ ((__noreturn__))
+ else
+ sigopt++;
+
+- opterr=0; /* suppress errors on -123 */
++ opterr = 0; /* suppress errors on -123 */
+ while (loop == 1 && (i = getopt_long(argc, argv, "l::Ls:hV", longopts, NULL)) != -1)
+ switch (i) {
+ case 'l':
+@@ -423,7 +423,9 @@ static void __attribute__ ((__noreturn__))
+ xwarnx(_("invalid argument %c"), optopt);
+ kill_usage(stderr);
+ }
+- loop=0;
++ /* We need to back off by one since getopt() ate the -PID */
++ --optind;
++ loop = 0;
+ break;
+ default:
+ kill_usage(stderr);
+--
+1.8.2.1
+
diff --git a/sys-process/procps/files/procps-3.3.9-sysctl-load-config-files.patch b/sys-process/procps/files/procps-3.3.9-sysctl-load-config-files.patch
new file mode 100644
index 0000000..c6b0a4a
--- /dev/null
+++ b/sys-process/procps/files/procps-3.3.9-sysctl-load-config-files.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/520314
+http://gitorious.org/procps/procps/commit/7f6efed9bb85d1e212e06985ea3e06720f6ca949
+
+--- sysctl.c
++++ sysctl.c
+@@ -640,7 +640,7 @@
+ }
+
+
+- if (stat(DEFAULT_PRELOAD, &ts) < 0 && S_ISREG(ts.st_mode)) {
++ if (stat(DEFAULT_PRELOAD, &ts) == 0 && S_ISREG(ts.st_mode)) {
+ if (!Quiet)
+ printf(_("* Applying %s ...\n"), DEFAULT_PRELOAD);
+ rc |= Preload(DEFAULT_PRELOAD);
diff --git a/sys-process/procps/metadata.xml b/sys-process/procps/metadata.xml
new file mode 100644
index 0000000..a21aac9
--- /dev/null
+++ b/sys-process/procps/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+<use>
+ <flag name="kill">Build the kill program</flag>
+ <flag name="modern-top">Enables new startup defaults of top. Keeps old defaults if disabled</flag>
+ <flag name="ncurses">Build programs that use ncurses: top, slabtop, watch</flag>
+</use>
+<upstream>
+ <remote-id type="sourceforge">procps</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/sys-process/procps/procps-3.3.10-r1.ebuild b/sys-process/procps/procps-3.3.10-r1.ebuild
new file mode 100644
index 0000000..f254f34
--- /dev/null
+++ b/sys-process/procps/procps-3.3.10-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="standard informational utilities and process-handling tools"
+# http://packages.debian.org/sid/procps
+HOMEPAGE="http://procps.sourceforge.net/ https://gitlab.com/procps-ng/procps"
+# SRC_URI="mirror://debian/pool/main/p/${PN}/${PN}_${PV}.orig.tar.xz"
+#FEDORA_HASH="0980646fa25e0be58f7afb6b98f79d74"
+#SRC_URI="http://pkgs.fedoraproject.org/repo/pkgs/${PN}-ng/${PN}-ng-${PV}.tar.xz/${FEDORA_HASH}/${PN}-ng-${PV}.tar.xz"
+SRC_URI="https://dev.gentoo.org/~polynomial-c/${PN}-ng-${PV}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+ncurses modern-top nls selinux static-libs systemd test unicode"
+
+RDEPEND="!<sys-apps/sysvinit-2.88-r6
+ ncurses? ( >=sys-libs/ncurses-5.7-r7:=[unicode?] )
+ selinux? ( sys-libs/libselinux )
+ systemd? ( >=sys-apps/systemd-209 )"
+DEPEND="${RDEPEND}
+ ncurses? ( virtual/pkgconfig )
+ systemd? ( virtual/pkgconfig )
+ test? ( dev-util/dejagnu )"
+
+S=${WORKDIR}/${PN}-ng-${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.3.8-kill-neg-pid.patch # http://crbug.com/255209
+ epatch "${FILESDIR}"/${P}-pmap-unreadable.patch #404389
+ epatch "${FILESDIR}"/${P}-tests-no-tty.patch #461302
+ sed -i -e 's:systemd-login:systemd:' configure || die #501306
+}
+
+src_configure() {
+ econf \
+ --exec-prefix="${EPREFIX}" \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ $(use_enable modern-top) \
+ $(use_with ncurses) \
+ $(use_enable nls) \
+ $(use_enable selinux libselinux) \
+ $(use_enable static-libs static) \
+ $(use_with systemd) \
+ $(use_enable unicode watch8bit)
+}
+
+src_test() {
+ emake check </dev/null #461302
+}
+
+src_install() {
+ default
+ #dodoc sysctl.conf
+
+ mv "${ED}"/usr/bin/pidof "${ED}"/bin/ || die
+
+ # The configure script is completely whacked in the head
+ mv "${ED}"/lib* "${ED}"/usr/ || die
+ gen_usr_ldscript -a procps
+ prune_libtool_files
+}
diff --git a/sys-process/procps/procps-3.3.11-r3.ebuild b/sys-process/procps/procps-3.3.11-r3.ebuild
new file mode 100644
index 0000000..9b3187a
--- /dev/null
+++ b/sys-process/procps/procps-3.3.11-r3.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="standard informational utilities and process-handling tools"
+HOMEPAGE="http://procps-ng.sourceforge.net/ https://gitlab.com/procps-ng/procps"
+SRC_URI="mirror://sourceforge/${PN}-ng/${PN}-ng-${PV}.tar.xz
+ https://gitlab.com/procps-ng/procps/commit/b2f49b105d23c833d733bf7dfb99cb98e4cae383.patch -> ${PN}-3.3.11-remove_Unix98_output_limits.patch"
+
+LICENSE="GPL-2"
+SLOT="0/5" # libprocps.so
+KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+kill +ncurses modern-top nls selinux static-libs systemd test unicode"
+
+RDEPEND="ncurses? ( >=sys-libs/ncurses-5.7-r7:=[unicode?] )
+ selinux? ( sys-libs/libselinux )
+ systemd? ( >=sys-apps/systemd-209 )"
+DEPEND="${RDEPEND}
+ ncurses? ( virtual/pkgconfig )
+ systemd? ( virtual/pkgconfig )
+ test? ( dev-util/dejagnu )"
+RDEPEND+="
+ kill? (
+ !sys-apps/coreutils[kill]
+ !sys-apps/util-linux[kill]
+ )
+ !<sys-apps/sysvinit-2.88-r6"
+
+S="${WORKDIR}/${PN}-ng-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.3.8-kill-neg-pid.patch # http://crbug.com/255209
+ "${DISTDIR}"/${P}-remove_Unix98_output_limits.patch # 555200
+ "${FILESDIR}"/${P}-sysctl-manpage.patch # 565304
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+}
+
+src_configure() {
+ # http://www.freelists.org/post/procps/PATCH-enable-transparent-large-file-support
+ append-lfs-flags #471102
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ $(use_enable kill) \
+ $(use_enable modern-top) \
+ $(use_with ncurses) \
+ $(use_enable nls) \
+ $(use_enable selinux libselinux) \
+ $(use_enable static-libs static) \
+ $(use_with systemd) \
+ $(use_enable unicode watch8bit)
+}
+
+src_test() {
+ emake check </dev/null #461302
+}
+
+src_install() {
+ default
+ #dodoc sysctl.conf
+
+ dodir /bin
+ mv "${ED}"/usr/bin/ps "${ED}"/bin/ || die
+ if use kill; then
+ mv "${ED}"/usr/bin/kill "${ED}"/bin/ || die
+ fi
+
+ gen_usr_ldscript -a procps
+ prune_libtool_files
+}
diff --git a/sys-process/procps/procps-3.3.9-r2.ebuild b/sys-process/procps/procps-3.3.9-r2.ebuild
new file mode 100644
index 0000000..4e8e0e6
--- /dev/null
+++ b/sys-process/procps/procps-3.3.9-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="standard informational utilities and process-handling tools"
+# http://packages.debian.org/sid/procps
+HOMEPAGE="http://procps.sourceforge.net/ https://gitlab.com/procps-ng/procps"
+# SRC_URI="mirror://debian/pool/main/p/${PN}/${PN}_${PV}.orig.tar.xz"
+FEDORA_HASH="0980646fa25e0be58f7afb6b98f79d74"
+SRC_URI="http://pkgs.fedoraproject.org/repo/pkgs/${PN}-ng/${PN}-ng-${PV}.tar.xz/${FEDORA_HASH}/${PN}-ng-${PV}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="+ncurses nls selinux static-libs systemd test unicode"
+
+RDEPEND="!<sys-apps/sysvinit-2.88-r6
+ ncurses? ( >=sys-libs/ncurses-5.7-r7[unicode?] )
+ selinux? ( sys-libs/libselinux )
+ systemd? ( >=sys-apps/systemd-209 )"
+DEPEND="${RDEPEND}
+ ncurses? ( virtual/pkgconfig )
+ systemd? ( virtual/pkgconfig )
+ test? ( dev-util/dejagnu )"
+
+S=${WORKDIR}/${PN}-ng-${PV}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-3.3.8-kill-neg-pid.patch \
+ "${FILESDIR}"/${P}-sysctl-load-config-files.patch
+ sed -i -e 's:systemd-login:systemd:' configure || die #501306
+}
+
+src_configure() {
+ econf \
+ --exec-prefix="${EPREFIX}" \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ $(use_with ncurses) \
+ $(use_enable nls) \
+ $(use_enable selinux libselinux) \
+ $(use_enable static-libs static) \
+ $(use_with systemd) \
+ $(use_enable unicode watch8bit)
+}
+
+src_install() {
+ default
+# dodoc sysctl.conf
+
+ mv "${ED}"/usr/bin/pidof "${ED}"/bin/ || die
+
+ # The configure script is completely whacked in the head
+ mv "${ED}"/lib* "${ED}"/usr/ || die
+ gen_usr_ldscript -a procps
+ prune_libtool_files
+}