commit:     a0f6c8a85d86246d1f459d01bf1aa20803774bb3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 03:31:38 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 28 03:32:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0f6c8a8

sys-apps/iproute2: fix automagic deps; fix merged /usr install

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...te2-5.18.0.ebuild => iproute2-5.18.0-r1.ebuild} | 52 ++++++++++++++++++----
 sys-apps/iproute2/iproute2-9999.ebuild             | 52 ++++++++++++++++++----
 sys-apps/iproute2/metadata.xml                     |  1 +
 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
similarity index 79%
rename from sys-apps/iproute2/iproute2-5.18.0.ebuild
rename to 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>

Reply via email to