summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-05-28 04:31:38 +0100
committerSam James <sam@gentoo.org>2022-05-28 04:32:06 +0100
commita0f6c8a85d86246d1f459d01bf1aa20803774bb3 (patch)
treead0ba039d90ffd8b5f932eb1a7f2d42318f64ad1 /sys-apps
parentsys-apps/iproute2: sync live (diff)
downloadgentoo-a0f6c8a85d86246d1f459d01bf1aa20803774bb3.tar.gz
gentoo-a0f6c8a85d86246d1f459d01bf1aa20803774bb3.tar.bz2
gentoo-a0f6c8a85d86246d1f459d01bf1aa20803774bb3.zip
sys-apps/iproute2: fix automagic deps; fix merged /usr install
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/iproute2/iproute2-5.18.0-r1.ebuild (renamed from sys-apps/iproute2/iproute2-5.18.0.ebuild)52
-rw-r--r--sys-apps/iproute2/iproute2-9999.ebuild52
-rw-r--r--sys-apps/iproute2/metadata.xml1
3 files changed, 89 insertions, 16 deletions
diff --git a/sys-apps/iproute2/iproute2-5.18.0.ebuild b/sys-apps/iproute2/iproute2-5.18.0-r1.ebuild
index b2d044b4661d..c0e45a9ec79e 100644
--- a/sys-apps/iproute2/iproute2-5.18.0.ebuild
+++ b/sys-apps/iproute2/iproute2-5.18.0-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
LICENSE="GPL-2"
SLOT="0"
-IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nis selinux"
+IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr"
# We could make libmnl optional, but it's tiny, so eh
RDEPEND="
@@ -31,7 +31,7 @@ RDEPEND="
elf? ( virtual/libelf:= )
iptables? ( >=net-firewall/iptables-1.4.20:= )
libbsd? ( dev-libs/libbsd )
- nis? ( net-libs/libnsl:= )
+ nfs? ( net-libs/libtirpc:= )
selinux? ( sys-libs/libselinux )
"
# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876)
@@ -107,8 +107,42 @@ src_configure() {
# Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242)
edo ./configure --libbpf_force $(usex bpf on off)
- # ...now switch on/off requested features via USE flags
+ # Remove the definitions made by configure and allow them to be overridden
+ # by USE flags below.
+ # We have to do the cheesy only-sed-if-disabled because otherwise
+ # the *_FLAGS etc stuff found by configure will be used but result
+ # in a broken build.
+ if ! use berkdb ; then
+ sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die
+ fi
+
+ if ! use caps ; then
+ sed -i -e '/HAVE_CAP/d' config.mk || die
+ fi
+
+ if use minimal ; then
+ sed -i -e '/HAVE_MNL/d' config.mk || die
+ fi
+
+ if ! use elf ; then
+ sed -i -e '/HAVE_ELF/d' config.mk || die
+ fi
+
+ if ! use nfs ; then
+ sed -i -e '/HAVE_RPC/d' config.mk || die
+ fi
+
+ if ! use selinux ; then
+ sed -i -e '/HAVE_SELINUX/d' config.mk || die
+ fi
+
+ if ! use libbsd ; then
+ sed -i -e '/HAVE_LIBBSD/d' config.mk || die
+ fi
+
+ # ...Now switch on/off requested features via USE flags
# this is only useful if the test did not set other things, per bug #643722
+ # Keep in sync with ifs above, or refactor to be unified.
cat <<-EOF >> config.mk
TC_CONFIG_ATM := $(usex atm y n)
TC_CONFIG_XT := $(usex iptables y n)
@@ -119,7 +153,7 @@ src_configure() {
HAVE_CAP := $(usex caps y n)
HAVE_MNL := $(usex minimal n y)
HAVE_ELF := $(usex elf y n)
- HAVE_RPC := $(usex nis y n)
+ HAVE_RPC := $(usex nfs y n)
HAVE_SELINUX := $(usex selinux y n)
IP_CONFIG_SETNS := ${setns}
# Use correct iptables dir, bug #144265, bug #293709
@@ -158,10 +192,12 @@ src_install() {
insinto /usr/include
doins include/libnetlink.h
- # Can remove compatibility symlink in a year: 2023-05-28.
- # bug #547264
- mv "${ED}"/sbin/ss "${ED}"/bin/ss || die
- dosym8 -r /bin/ss /sbin/ss
+ if use split-usr ; then
+ # Can remove compatibility symlink in a year: 2023-05-28.
+ # bug #547264
+ mv "${ED}"/sbin/ss "${ED}"/bin/ss || die
+ dosym8 -r /bin/ss /sbin/ss
+ fi
if use berkdb ; then
keepdir /var/lib/arpd
diff --git a/sys-apps/iproute2/iproute2-9999.ebuild b/sys-apps/iproute2/iproute2-9999.ebuild
index b2d044b4661d..c0e45a9ec79e 100644
--- a/sys-apps/iproute2/iproute2-9999.ebuild
+++ b/sys-apps/iproute2/iproute2-9999.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
LICENSE="GPL-2"
SLOT="0"
-IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nis selinux"
+IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr"
# We could make libmnl optional, but it's tiny, so eh
RDEPEND="
@@ -31,7 +31,7 @@ RDEPEND="
elf? ( virtual/libelf:= )
iptables? ( >=net-firewall/iptables-1.4.20:= )
libbsd? ( dev-libs/libbsd )
- nis? ( net-libs/libnsl:= )
+ nfs? ( net-libs/libtirpc:= )
selinux? ( sys-libs/libselinux )
"
# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876)
@@ -107,8 +107,42 @@ src_configure() {
# Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242)
edo ./configure --libbpf_force $(usex bpf on off)
- # ...now switch on/off requested features via USE flags
+ # Remove the definitions made by configure and allow them to be overridden
+ # by USE flags below.
+ # We have to do the cheesy only-sed-if-disabled because otherwise
+ # the *_FLAGS etc stuff found by configure will be used but result
+ # in a broken build.
+ if ! use berkdb ; then
+ sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die
+ fi
+
+ if ! use caps ; then
+ sed -i -e '/HAVE_CAP/d' config.mk || die
+ fi
+
+ if use minimal ; then
+ sed -i -e '/HAVE_MNL/d' config.mk || die
+ fi
+
+ if ! use elf ; then
+ sed -i -e '/HAVE_ELF/d' config.mk || die
+ fi
+
+ if ! use nfs ; then
+ sed -i -e '/HAVE_RPC/d' config.mk || die
+ fi
+
+ if ! use selinux ; then
+ sed -i -e '/HAVE_SELINUX/d' config.mk || die
+ fi
+
+ if ! use libbsd ; then
+ sed -i -e '/HAVE_LIBBSD/d' config.mk || die
+ fi
+
+ # ...Now switch on/off requested features via USE flags
# this is only useful if the test did not set other things, per bug #643722
+ # Keep in sync with ifs above, or refactor to be unified.
cat <<-EOF >> config.mk
TC_CONFIG_ATM := $(usex atm y n)
TC_CONFIG_XT := $(usex iptables y n)
@@ -119,7 +153,7 @@ src_configure() {
HAVE_CAP := $(usex caps y n)
HAVE_MNL := $(usex minimal n y)
HAVE_ELF := $(usex elf y n)
- HAVE_RPC := $(usex nis y n)
+ HAVE_RPC := $(usex nfs y n)
HAVE_SELINUX := $(usex selinux y n)
IP_CONFIG_SETNS := ${setns}
# Use correct iptables dir, bug #144265, bug #293709
@@ -158,10 +192,12 @@ src_install() {
insinto /usr/include
doins include/libnetlink.h
- # Can remove compatibility symlink in a year: 2023-05-28.
- # bug #547264
- mv "${ED}"/sbin/ss "${ED}"/bin/ss || die
- dosym8 -r /bin/ss /sbin/ss
+ if use split-usr ; then
+ # Can remove compatibility symlink in a year: 2023-05-28.
+ # bug #547264
+ mv "${ED}"/sbin/ss "${ED}"/bin/ss || die
+ dosym8 -r /bin/ss /sbin/ss
+ fi
if use berkdb ; then
keepdir /var/lib/arpd
diff --git a/sys-apps/iproute2/metadata.xml b/sys-apps/iproute2/metadata.xml
index ab92eca64ca4..10e4c7acb786 100644
--- a/sys-apps/iproute2/metadata.xml
+++ b/sys-apps/iproute2/metadata.xml
@@ -12,6 +12,7 @@
<flag name="iptables">include support for iptables filtering</flag>
<flag name="libbsd">Use <pkg>dev-libs/libbsd</pkg> instead of internal funcs</flag>
<flag name="minimal">only install ip and tc programs, without eBPF support</flag>
+ <flag name="nfs">Support RPC lookups via <pkg>net-libs/libtirpc</pkg> in ss</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:iproute2_project:iproute2</remote-id>