commit:     3c64f10f130eca58f5171e9d8b915272638af1ba
Author:     Gabriel Linder <linder.gabriel <AT> gmail <DOT> com>
AuthorDate: Sat May 11 23:50:57 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun May 12 04:39:08 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c64f10f

app-portage/genlop: Correctly filter sandboxes.

Embed the patch provided by Joe Breuer to fix `genlop -c`.

The underlying cause seems to be that genlop looks for running emerges
by filtering over sandbox processes. A change to portage (or something)
introduced the pid-ns-init process to the call tree, which is also
selected by genlop looking for sandbox processes. This is what causes
each emerge to show up twice - once matched on the pid-ns-init process,
once on the sandbox process itself.

See https://bugs.gentoo.org/677890#c7 for more details.

Closes: https://github.com/gentoo/gentoo/pull/11975
Bug: https://bugs.gentoo.org/677890
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Gabriel Linder <linder.gabriel <AT> gmail.com>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 .../genlop/files/genlop-0.30.10-sandbox.patch      | 29 +++++++++++++++++++
 app-portage/genlop/genlop-0.30.10-r2.ebuild        | 33 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff --git a/app-portage/genlop/files/genlop-0.30.10-sandbox.patch 
b/app-portage/genlop/files/genlop-0.30.10-sandbox.patch
new file mode 100644
index 00000000000..1b4efdb9768
--- /dev/null
+++ b/app-portage/genlop/files/genlop-0.30.10-sandbox.patch
@@ -0,0 +1,29 @@
+From af0fccf158a0a5d0c300be2eae167eace93cc1d3 Mon Sep 17 00:00:00 2001
+From: Joe Breuer <[email protected]>
+Date: Sat, 11 May 2019 21:08:21 -0700
+Subject: [PATCH] genlop -c: filter pid-ns-init duplicates (bug 677890)
+
+The latest stable version of portage introduces a pid-ns-init
+process which must be filtered in order to avoid duplicates.
+
+Bug: https://bugs.gentoo.org/677890
+Signed-off-by: Zac Medico <[email protected]>
+---
+ genlop | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/genlop b/genlop
+index b28c9d6..c154aa4 100755
+--- a/genlop
++++ b/genlop
+@@ -706,7 +706,7 @@ sub current()
+       # not check for sanity and have users check their FEATURES instead.
+       my @targets      = ();
+       my @sandbox_pids = ();
+-      my @sandbox_procs = qx{ps ax -o pid,args | tail -n +2 | sed -e's/^ *//' 
| grep ' sandbox ' | grep -v ' grep '};
++      my @sandbox_procs = qx{ps ax -o pid,args | tail -n +2 | sed -e's/^ *//' 
| grep ' sandbox ' | grep -v -e ' grep ' -e 'pid-ns-init '};
+       my ($e_curmerge, $e_lastmerge);
+       foreach (@sandbox_procs)
+       {
+--
+2.21.0

diff --git a/app-portage/genlop/genlop-0.30.10-r2.ebuild 
b/app-portage/genlop/genlop-0.30.10-r2.ebuild
new file mode 100644
index 00000000000..36cc50c5a1c
--- /dev/null
+++ b/app-portage/genlop/genlop-0.30.10-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit base bash-completion-r1
+
+DESCRIPTION="A nice emerge.log parser"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Perl";
+SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-lang/perl
+        dev-perl/Date-Manip
+        dev-perl/libwww-perl"
+RDEPEND="${DEPEND}"
+
+# Populate the patches array for any patches for -rX releases
+PATCHES=(
+       "${FILESDIR}"/${P}-sync.patch
+       "${FILESDIR}"/${P}-sandbox.patch
+)
+
+src_install() {
+       dobin genlop
+       dodoc README Changelog
+       doman genlop.1
+       newbashcomp genlop.bash-completion genlop
+}

Reply via email to