lsof: upgraded package to upstream
Upgraded sys-process/lsof to version 4.94.0-r1 on amd64, arm
BUG=b:187795909
TEST=Local builds on amd64, arm, arm64
Change-Id: I0fb54f1281c75e6a8503a5f0b0dbad3a3deda4ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2972751
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Adrian Ratiu <adrian.ratiu@collabora.corp-partner.google.com>
Tested-by: Luis Lozano <llozano@chromium.org>
Auto-Submit: Adrian Ratiu <adrian.ratiu@collabora.corp-partner.google.com>
Commit-Queue: Luis Lozano <llozano@chromium.org>
diff --git a/metadata/md5-cache/sys-process/lsof-4.91 b/metadata/md5-cache/sys-process/lsof-4.91
deleted file mode 100644
index 7dedb82..0000000
--- a/metadata/md5-cache/sys-process/lsof-4.91
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare unpack
-DEPEND=rpc? ( net-libs/libtirpc ) selinux? ( sys-libs/libselinux ) rpc? ( virtual/pkgconfig )
-DESCRIPTION=Lists open files for running Unix processes
-EAPI=6
-HOMEPAGE=ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
-IUSE=examples ipv6 rpc selinux
-KEYWORDS=*
-LICENSE=lsof
-RDEPEND=rpc? ( net-libs/libtirpc ) selinux? ( sys-libs/libselinux )
-SLOT=0
-SRC_URI=ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.91.tar.bz2 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/lsof_4.91.tar.bz2 http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.91.tar.bz2
-_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch ed88001f77c6dd0d5f09e45c1a5b480e estack 686eaab303305a908fd57b2fd7617800 eutils fcb2aa98e1948b835b5ae66ca52868c5 flag-o-matic 5d5921a298e95441da2f85be419894c0 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 2477ebe553d3e4d2c606191fe6c33602 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 605c126bed8d87e4378d5ff1645330cb vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=dc4fab23793ad21831fc5eeccaa6be50
diff --git a/metadata/md5-cache/sys-process/lsof-4.94.0-r1 b/metadata/md5-cache/sys-process/lsof-4.94.0-r1
new file mode 100644
index 0000000..31e051b
--- /dev/null
+++ b/metadata/md5-cache/sys-process/lsof-4.94.0-r1
@@ -0,0 +1,15 @@
+BDEPEND=sys-apps/groff rpc? ( virtual/pkgconfig )
+DEFINED_PHASES=compile configure install postinst prepare
+DEPEND=rpc? ( net-libs/libtirpc ) selinux? ( sys-libs/libselinux )
+DESCRIPTION=Lists open files for running Unix processes
+EAPI=7
+HOMEPAGE=https://github.com/lsof-org/lsof
+IUSE=examples ipv6 rpc selinux
+KEYWORDS=*
+LICENSE=lsof
+RDEPEND=rpc? ( net-libs/libtirpc ) selinux? ( sys-libs/libselinux )
+RESTRICT=test
+SLOT=0
+SRC_URI=https://github.com/lsof-org/lsof/archive/4.94.0.tar.gz -> lsof-4.94.0.tar.gz
+_eclasses_=eutils fcb2aa98e1948b835b5ae66ca52868c5 flag-o-matic 5d5921a298e95441da2f85be419894c0 multilib 2477ebe553d3e4d2c606191fe6c33602 toolchain-funcs 605c126bed8d87e4378d5ff1645330cb
+_md5_=7c74078f4d83ab44eb68e994ca26987d
diff --git a/sys-process/lsof/Manifest b/sys-process/lsof/Manifest
index 373269f..dde8512 100644
--- a/sys-process/lsof/Manifest
+++ b/sys-process/lsof/Manifest
@@ -1 +1 @@
-DIST lsof_4.91.tar.bz2 791734 BLAKE2B cd6211caedea34fdbb89266fd78a70902117eda6d4d7fa69115426f4a6f5cb5296fa09bbd946648d8d93483881e4ea4e2190f090be155c1081850e8366cfd05a SHA512 49f811941dd6303f7cb0655fddb8b1177af5d1b18f2bd1edfab09d2c128aea73daecf09c7a5375979c66ba764c88a6e70c9086b55c3634e3be01ab1aa12e9f92
+DIST lsof-4.94.0.tar.gz 1340224 BLAKE2B b3d3c4707dac22c5431ac37c6a9f28ba5057b9a8dce65038934f1148209ef4615012ed887e263ec648679d0d95a06c78ed83a7d76cc8d97c05c013c563938793 SHA512 852b12e621e1dbf71e5f7fd848a200339ca278fbe8c39dcd33f745d1aea4e61552c0f30a3f6469ad9d4b86a9163e677f8c95298159ebd647357734225aa06c0c
diff --git a/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch b/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch
deleted file mode 100644
index fcbfeba..0000000
--- a/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a/dialects/darwin/libproc/dfile.c b/dialects/darwin/libproc/dfile.c
---- a/dialects/darwin/libproc/dfile.c 2018-02-19 15:04:26.011578124 +0800
-+++ b/dialects/darwin/libproc/dfile.c 2018-02-19 15:04:45.006502653 +0800
-@@ -43,7 +43,7 @@
- #include "lsof.h"
-
- #if defined(PROC_FP_GUARDED)
--#extern struct pff_tab Pgf_tab[];
-+extern struct pff_tab Pgf_tab[];
- #endif /* defined(PROC_FP_GUARDED) */
-
-
diff --git a/sys-process/lsof/files/lsof-4.94-arm-sigbus-fix.patch b/sys-process/lsof/files/lsof-4.94-arm-sigbus-fix.patch
new file mode 100644
index 0000000..95bad20
--- /dev/null
+++ b/sys-process/lsof/files/lsof-4.94-arm-sigbus-fix.patch
@@ -0,0 +1,63 @@
+https://bugs.gentoo.org/797358
+
+From 21cb1dad1243f4c0a427d893babab12e48b60f0e Mon Sep 17 00:00:00 2001
+From: Masatake YAMATO <yamato@redhat.com>
+Date: Sun, 20 Jun 2021 21:40:55 +0900
+Subject: [PATCH] Adjust alignment of buffer passed to stat()
+
+Close #160.
+
+The original code passes char[] buffer to stat().
+This can be cause a SIGBUS.
+
+#160 reported an actual crash on armv7a + glibc-2.33 platform.
+See also https://sourceware.org/bugzilla/show_bug.cgi?id=27993.
+
+The issue is reported by @10ne1.
+
+Signed-off-by: Masatake YAMATO <yamato@redhat.com>
+[Adrian: Backported to 4.94]
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+--- a/misc.c
++++ b/misc.c
+@@ -293,7 +293,15 @@ doinchild(fn, fp, rbuf, rbln)
+ */
+
+ int r_al, r_rbln;
+- char r_arg[MAXPATHLEN+1], r_rbuf[MAXPATHLEN+1];
++ char r_arg[MAXPATHLEN+1];
++ union {
++ char r_rbuf[MAXPATHLEN+1];
++ /*
++ * This field is only for adjusting the alignment of r_rbuf that
++ * can be used as an argument for stat().
++ */
++ struct stat _;
++ } r;
+ int (*r_fn)();
+ /*
+ * Close sufficient open file descriptors except Pipes[0] and
+@@ -358,16 +366,16 @@ doinchild(fn, fp, rbuf, rbln)
+ || read(Pipes[0], r_arg, r_al) != r_al
+ || read(Pipes[0], (char *)&r_rbln, sizeof(r_rbln))
+ != (int)sizeof(r_rbln)
+- || r_rbln < 1 || r_rbln > (int)sizeof(r_rbuf))
++ || r_rbln < 1 || r_rbln > (int)sizeof(r.r_rbuf))
+ break;
+- zeromem (r_rbuf, r_rbln);
+- rv = r_fn(r_arg, r_rbuf, r_rbln);
++ zeromem (r.r_rbuf, r_rbln);
++ rv = r_fn(r_arg, r.r_rbuf, r_rbln);
+ en = errno;
+ if (write(Pipes[3], (char *)&rv, sizeof(rv))
+ != sizeof(rv)
+ || write(Pipes[3], (char *)&en, sizeof(en))
+ != sizeof(en)
+- || write(Pipes[3], r_rbuf, r_rbln) != r_rbln)
++ || write(Pipes[3], r.r_rbuf, r_rbln) != r_rbln)
+ break;
+ }
+ (void) _exit(0);
+--
+2.32.0
+
diff --git a/sys-process/lsof/lsof-4.91.ebuild b/sys-process/lsof/lsof-4.94.0-r1.ebuild
similarity index 83%
rename from sys-process/lsof/lsof-4.91.ebuild
rename to sys-process/lsof/lsof-4.94.0-r1.ebuild
index fbbca87..348ea37 100644
--- a/sys-process/lsof/lsof-4.91.ebuild
+++ b/sys-process/lsof/lsof-4.94.0-r1.ebuild
@@ -1,16 +1,14 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit flag-o-matic toolchain-funcs
MY_P="${P/-/_}"
DESCRIPTION="Lists open files for running Unix processes"
-HOMEPAGE="ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/"
-SRC_URI="ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/${MY_P}.tar.bz2
- ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/${MY_P}.tar.bz2
- http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/${MY_P}.tar.bz2"
+HOMEPAGE="https://github.com/lsof-org/lsof"
+SRC_URI="https://github.com/lsof-org/lsof/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="lsof"
SLOT="0"
@@ -19,22 +17,20 @@
RDEPEND="rpc? ( net-libs/libtirpc )
selinux? ( sys-libs/libselinux )"
-DEPEND="${RDEPEND}
- rpc? ( virtual/pkgconfig )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-apps/groff
+ rpc? ( virtual/pkgconfig )
+"
-S="${WORKDIR}/${MY_P}/${MY_P}_src"
+# needs fixing first
+RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-4.85-cross.patch #432120
- "${FILESDIR}"/${PN}-4.90-darwin-cppfix.patch #648084
+ "${FILESDIR}"/${PN}-4.94-arm-sigbus-fix.patch
)
-src_unpack() {
- unpack ${A}
- cd ${MY_P} || die
- unpack ./${MY_P}_src.tar
-}
-
src_prepare() {
default
# fix POSIX compliance with `echo`
@@ -49,6 +45,10 @@
-e '/test -r/s:test -r \$\{LSOF_INCLUDE\}/([[:alnum:]/._]*):echo "#include <\1>" | ${LSOF_CC} ${LSOF_CFGF} -E - >/dev/null 2>\&1:g' \
-e 's:grep (.*) \$\{LSOF_INCLUDE\}/([[:alnum:]/._]*):echo "#include <\2>" | ${LSOF_CC} ${LSOF_CFGF} -E -P -dD - 2>/dev/null | grep \1:' \
Configure || die
+
+ # "create" man-page (bug #689462)
+ # inspired by shipped "makeman" ksh script
+ soelim < Lsof.8 > lsof.8 || die
}
target() {
diff --git a/sys-process/lsof/metadata.xml b/sys-process/lsof/metadata.xml
index 4f913c0..1591821 100644
--- a/sys-process/lsof/metadata.xml
+++ b/sys-process/lsof/metadata.xml
@@ -8,4 +8,7 @@
<use>
<flag name="rpc">support looking up RPC service info</flag>
</use>
+<upstream>
+ <remote-id type="cpe">cpe:/a:lsof_project:lsof</remote-id>
+</upstream>
</pkgmetadata>