From f817af8fa591ddb17425660fe57f02775fe68b00 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Aug 2022 20:24:31 +0100 Subject: gentoo auto-resync : 13:08:2022 - 20:24:31 --- sys-apps/Manifest.gz | Bin 48196 -> 48187 bytes sys-apps/inxi/Manifest | 2 +- sys-apps/inxi/inxi-3.3.20.1.ebuild | 2 +- sys-apps/iproute2/Manifest | 3 +- .../files/iproute2-5.19.0-setns-check.patch | 22 +++ sys-apps/iproute2/iproute2-5.19.0-r1.ebuild | 212 -------------------- sys-apps/iproute2/iproute2-5.19.0-r2.ebuild | 213 +++++++++++++++++++++ 7 files changed, 239 insertions(+), 215 deletions(-) create mode 100644 sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch delete mode 100644 sys-apps/iproute2/iproute2-5.19.0-r1.ebuild create mode 100644 sys-apps/iproute2/iproute2-5.19.0-r2.ebuild (limited to 'sys-apps') diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz index ff660d4e1420..b8c6dc48df77 100644 Binary files a/sys-apps/Manifest.gz and b/sys-apps/Manifest.gz differ diff --git a/sys-apps/inxi/Manifest b/sys-apps/inxi/Manifest index bbe689d39556..b9a5fcc53e69 100644 --- a/sys-apps/inxi/Manifest +++ b/sys-apps/inxi/Manifest @@ -9,5 +9,5 @@ EBUILD inxi-3.3.08.1.ebuild 822 BLAKE2B e0809bcec63b7f57cd126baacc4f463d946d9bb9 EBUILD inxi-3.3.12.1.ebuild 822 BLAKE2B e0809bcec63b7f57cd126baacc4f463d946d9bb9f7ef235f0e7d21f197fa6b7248da90714a5a8f654a01a1f07a7fe99805587876b35f62f1b7a53b8fcd6f22d4 SHA512 fec2182a7fc229765f9b6861fedaab05b64f97ee6fa0d6bd324c369c53d5d7d567e002b4bb02599430d8c9e155c8776ff54239d0e9fe484ae1ea1ae35fa113d3 EBUILD inxi-3.3.13.1.ebuild 834 BLAKE2B e917d5256700f690ce449ebd1a6b4f0f517b5e446040086968aed594d8af91f5714304122ab484fbb78671ca93d51c8cf9cc8f2ae541d39cc1cf7bd3679d0537 SHA512 fb82b7d86ccf3ed2840ade49f6ebd0bf252ffdc0a9d4c8e0db29b64b80d926a479bdbb654cdef75de32d7fa05a9ed5e40f5af3bfb85de4eb4a3b85541fb49188 EBUILD inxi-3.3.17.1.ebuild 829 BLAKE2B 652f6af5d2bfeb79540b6f51d4fee6f89fc27759aeb97125e0287993678d7fb4311e8d988fe256c58a283ff557bfee6b9c11ceebc1c663000f1ffc424d089521 SHA512 5145df03c22767bad6489d3a598e25674a09cd75027675f38d0a9071ca06c0924f7b2cbed4edc8bdb50028113b6113df32c159d03df71c2baceee7d3878603c0 -EBUILD inxi-3.3.20.1.ebuild 834 BLAKE2B e917d5256700f690ce449ebd1a6b4f0f517b5e446040086968aed594d8af91f5714304122ab484fbb78671ca93d51c8cf9cc8f2ae541d39cc1cf7bd3679d0537 SHA512 fb82b7d86ccf3ed2840ade49f6ebd0bf252ffdc0a9d4c8e0db29b64b80d926a479bdbb654cdef75de32d7fa05a9ed5e40f5af3bfb85de4eb4a3b85541fb49188 +EBUILD inxi-3.3.20.1.ebuild 841 BLAKE2B 4235bcf3084fe514d11e5e95441ac483471fa47890d69ca3d67b7879a0b9ac9ff17d1e8364e25fddca560224a9ca9a38adf60b6f4a9b1fdc291a3b10b0353b9c SHA512 898166bb6010339c9c768588b305a3d5c3ea3f4922fcbe84b47974563bfbaa22b33c2a60dd012a9ae1d7d3dc52a08bdfecc17b422112197269ede8238754aeef MISC metadata.xml 613 BLAKE2B f444aa0759120064814cacf0fcba57059d87b1c014d78eea52304fb3afb9da9b905e30c1cf1399bfbc0d66442e3d892eb2657543014b905f2bf9a943dc8480d9 SHA512 cbe6e76cb003bb77134398aa1db5a24c47de826eb1f17b07e2cee647b9d58948596c2f4588c7c834332c096ce8b782799f07ed4f47a7b252e85e402324ba76bb diff --git a/sys-apps/inxi/inxi-3.3.20.1.ebuild b/sys-apps/inxi/inxi-3.3.20.1.ebuild index 49cc31d24326..8ceaca03391e 100644 --- a/sys-apps/inxi/inxi-3.3.20.1.ebuild +++ b/sys-apps/inxi/inxi-3.3.20.1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="bluetooth hddtemp opengl" RDEPEND="dev-lang/perl diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index 2f12bfa9b636..4845304aa4a6 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -2,6 +2,7 @@ AUX iproute2-3.1.0-mtu.patch 1649 BLAKE2B cbecd9770391ca7c7f25b860a95bb5b2783073 AUX iproute2-4.20.0-no-ipv6.patch 1334 BLAKE2B 612fa64a897fe8c601aca529a09508cc865f2f0fb7cb865ba28f3369748086622b6910f25052047c972f495b5e20014cdf6e9f73b230124f372cfe6301bc0bf2 SHA512 f4b42667d4433225b2e4272b6e629fc43b73ede02ac0e706d2e46d81ffcecd19ca45b8b9789904b4bd6d10d34c82239f9b3c33cfcf3f9e5b309d828a3494c864 AUX iproute2-5.12.0-configure-nomagic.patch 6967 BLAKE2B 8707ace3766d2bb797901886032bbbfc78b3116b548d317038144307a52ba86a01dc49460fa8b4524f03de3abc5b56f4901a9cb24f1f6cacfbd7a5b92cea7145 SHA512 a6184d1fc150717ab40a278c2a6ce439ea04e9967d55f1d10fecc8162452a1a38a6e11c2f736c5aebfe0ffe726bfa80e154169004ccc571b89dcef9c0dbe1242 AUX iproute2-5.19.0-musl.patch 1418 BLAKE2B 280fdf5b38652320bde967ff22dbd7a27a5829190396c74ba688ed75643162b7c97e62606c747520c8bd57d6a2437a0c35ff267ffe8a70621e773b7bb5d8df99 SHA512 c94f2ad23054fcb98dda7bab770812570c82ace0e961892383f12a0cc7647e85bd452a29119b70e3829ae659c6e492f82782b9194cfb5b924503b778e5ca3e78 +AUX iproute2-5.19.0-setns-check.patch 667 BLAKE2B 876c9425dcd6dad9b1da4a84c4e55703333e745b8b3ef7cdabe82a70ea028eb4ba75d47fbd151c1a5ce6722f6202cc11ee0f1976dcb8d33917afcfe5ffe501bd SHA512 47cefe9bfab5441d8efc633e0409be15727ae5fec207ed5d101fa27c332bd2d3e0bdc21304b8fc49a1e2b27e122d259fcc67f6225b219978f0395de613c1d00c AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1bfb9d92379983d989d9d4a396e773f02c655ac14c57cc25c5d4e37fbdb0e0d1cb1d35fc94ee70077b81d1285ac2d58cb1b19fa69db SHA512 09a9d450179b06c434a41b7bdd8d4a47b8ca2303de3d08b2b101e8695aec28e5d1e454a8c62e1b71d66b6e776dc6975f2837acc0a0f8a2a3f1e31b1eb56b71e3 AUX iproute2-default-color-auto.patch 186 BLAKE2B 4f751e1292d7f14c8fac68c115c666f51d2494cb6d68d2da18e7fd6f694ea1d01b0731488b9482ed41cff8b985140d4bbee135861209d1a8f90ce26a7d972485 SHA512 d47ea460a1d92504184d9063c0539f69e7807204c17eefbb0342a27f30745ccb80e2f7ff61e516f3086516e66e0e68d361312bd6a0babd840927a57ef2fe9793 DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 @@ -9,6 +10,6 @@ DIST iproute2-5.18.0.tar.xz 880456 BLAKE2B 21b15d84b07199d4ddd12cbf14d94806a073f DIST iproute2-5.19.0.tar.xz 892696 BLAKE2B ee287065d7c33c0fa97f0fc130bb3a4a3ad5ac9417ad74ce8489e64ec146ff97749d79bb6563043c8835eab91a51631576441d450693cb50808ad0d37b2ea648 SHA512 eb0fffb153f7cecc89b5573b7fc211d67fb1c06789fd3b0aec75ba5032521d53c51ccc52db7367e41397993df50244af84763b0b1d5a76d9dfccf013c010131b EBUILD iproute2-5.15.0.ebuild 4994 BLAKE2B bc73ac11db47b0d52926149af6546fe81fd94354ca48aad8f452c5fedeebc1629d847ba653175bdb18172a3d74c9e8c6026ffd8f3436130985929e38f4e0dec6 SHA512 5737c4bd54bc283c1c50c9b2f5e7c87f8b40d2665e15d72a05893d890427d1c389d2f6c857bd8ca0db2d38996dadea810b5a11f061e95830347ff7f864bd7f7e EBUILD iproute2-5.18.0-r1.ebuild 5803 BLAKE2B 5be3d8f2c91cb5d1e8d6b13d9a736e75d6066922caacaae94881b37e4cb963ed14eb185a68e745e484ec29fbd66c33a0deeccee75065af8fa292bfea945406fd SHA512 e42d7f42d7cab34838b1cc3984083d143ccf2d02743ed0ad14e091ae0fd4a3c4d8c82113cd813a1e517c527dac7915c5908e2503ddf8fedb2f46eb65675bb266 -EBUILD iproute2-5.19.0-r1.ebuild 5867 BLAKE2B 99ff3bf44da18acfde4bc58cdab026e02ee8813be57b7bd5195daf4a2f2cf1488cc015641d730ab209f9c28e4411bdb2a4a79a64235daf4ab55cb89dc300bc65 SHA512 aae8e7a55b090a0e431e6e126ddb658393881976028b5166b0cae48ef0508642007b5045ce9ee5ad5c154b794c965f202e26692a8cc9b5c23696a4c73ac2aac5 +EBUILD iproute2-5.19.0-r2.ebuild 5905 BLAKE2B c2a923a7692a512cb339c418e3e5170726e674fe738371ed98e779241366907c77d37562e7415e5e47836c723c73eb5f3e6495afb3611cb842a489c2f709746c SHA512 242b99edbc82efc65dedd4931c26c40aad724bd86ceb7d20c4eda6da1af98185dfee94ecc06c67f5473480aea62634a06f704878898fdeedf8d800e9630990a5 EBUILD iproute2-9999.ebuild 5836 BLAKE2B afeb0039dcb5b37589dd0699fc61a296c923662f7645ddb68f214f8da4a0cbcec0d14fcee0475bdc66aa4daed55258d1e9b93c4a852fde90c9fed4fea7fa6678 SHA512 a6cac0966de86b61dac9d338222765378e7a91b6b8b123e1edb894b777da33b9137e0b75f53e9cfa0ee163c7c4754f07a74c7652e1f2a9425c83fe8614291484 MISC metadata.xml 898 BLAKE2B f3c281e448846b5fa0e4cabec04767fe7217bd0d77a2baba7c1524ebdc1df4cc4c7d38ff441617959281c3a08b564d3cc6b7a89f846041f2416441b82079318d SHA512 404bd3aa523554bd78da7eb90bd3c53c146f71da92116115c238e1b186e971bf6d49161c33e58d6116af1616688bc00eb7d96f0fa5afb300a703cbdf6fdfe4ed diff --git a/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch b/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch new file mode 100644 index 000000000000..ff97d12195e2 --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch @@ -0,0 +1,22 @@ +https://github.com/shemminger/iproute2/commit/d5fe96ab70928508f072a47449e9b641e46de323 + +From d5fe96ab70928508f072a47449e9b641e46de323 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 10 Aug 2022 22:34:40 -0700 +Subject: [PATCH] configure: Define _GNU_SOURCE when checking for setns + +glibc defines this function only as gnu extention + +Signed-off-by: Khem Raj +Signed-off-by: Stephen Hemminger +--- a/configure ++++ b/configure +@@ -191,6 +191,7 @@ check_ipt_lib_dir() + check_setns() + { + cat >$TMPDIR/setnstest.c < + int main(int argc, char **argv) + { + diff --git a/sys-apps/iproute2/iproute2-5.19.0-r1.ebuild b/sys-apps/iproute2/iproute2-5.19.0-r1.ebuild deleted file mode 100644 index 2ff11fd9105b..000000000000 --- a/sys-apps/iproute2/iproute2-5.19.0-r1.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" - inherit git-r3 -else - SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="kernel routing and traffic control utilities" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" - -LICENSE="GPL-2" -SLOT="0" -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=" - !net-misc/arpd - !minimal? ( net-libs/libmnl:= ) - atm? ( net-dialup/linux-atm ) - berkdb? ( sys-libs/db:= ) - bpf? ( dev-libs/libbpf:= ) - caps? ( sys-libs/libcap ) - elf? ( virtual/libelf:= ) - iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) - nfs? ( net-libs/libtirpc:= ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${P}-musl.patch - "${FILESDIR}"/${PN}-default-color-auto.patch -) - -src_prepare() { - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i configure || die - - sed -i \ - -e '/^CC :\?=/d' \ - -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ - -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ - -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ - -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ - Makefile || die - - # Build against system headers - rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc - sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die - - if use minimal ; then - sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die - fi -} - -src_configure() { - tc-export AR CC PKG_CONFIG - - # This sure is ugly. Should probably move into toolchain-funcs at some point. - local setns - pushd "${T}" >/dev/null || die - printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die - if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then - setns=y - else - setns=n - fi - - echo 'int main(){return 0;}' > test.c || die - if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then - sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die - fi - popd >/dev/null || die - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --libbpf_force $(usex bpf on off) - - # 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) - TC_CONFIG_NO_XT := $(usex iptables n y) - # We've locked in recent enough kernel headers, bug #549948 - TC_CONFIG_IPSET := y - HAVE_BERKELEY_DB := $(usex berkdb y n) - HAVE_CAP := $(usex caps y n) - HAVE_MNL := $(usex minimal n y) - HAVE_ELF := $(usex elf 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 - IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -src_install() { - if use minimal ; then - into / - dosbin tc/tc - dobin ip/ip - return 0 - fi - - emake \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}"/$(get_libdir) \ - SBINDIR="${EPREFIX}"/sbin \ - CONFDIR="${EPREFIX}"/etc/iproute2 \ - DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ - MANDIR="${EPREFIX}"/usr/share/man \ - ARPDDIR="${EPREFIX}"/var/lib/arpd \ - install - - dodir /bin - mv "${ED}"/{s,}bin/ip || die # bug #330115 - - dolib.a lib/libnetlink.a - insinto /usr/include - doins include/libnetlink.h - - 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 - dosym -r /bin/ss /sbin/ss - fi - - if use berkdb ; then - keepdir /var/lib/arpd - # bug #47482, arpd doesn't need to be in /sbin - dodir /usr/bin - mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die - elif [[ -d "${ED}"/var/lib/arpd ]]; then - rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die - fi -} diff --git a/sys-apps/iproute2/iproute2-5.19.0-r2.ebuild b/sys-apps/iproute2/iproute2-5.19.0-r2.ebuild new file mode 100644 index 000000000000..f0a6ca796fa7 --- /dev/null +++ b/sys-apps/iproute2/iproute2-5.19.0-r2.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git-r3 +else + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +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=" + !net-misc/arpd + !minimal? ( net-libs/libmnl:= ) + atm? ( net-dialup/linux-atm ) + berkdb? ( sys-libs/db:= ) + bpf? ( dev-libs/libbpf:= ) + caps? ( sys-libs/libcap ) + elf? ( virtual/libelf:= ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + libbsd? ( dev-libs/libbsd ) + nfs? ( net-libs/libtirpc:= ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876) +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-3.16 +" +BDEPEND=" + app-arch/xz-utils + >=sys-devel/bison-2.4 + sys-devel/flex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 + "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 + #"${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch + "${FILESDIR}"/${P}-musl.patch + "${FILESDIR}"/${P}-setns-check.patch + "${FILESDIR}"/${PN}-default-color-auto.patch +) + +src_prepare() { + default + + # Fix version if necessary + local versionfile="include/version.h" + if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then + einfo "Fixing version string" + sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ + -i ${versionfile} || die + fi + + # echo -n is not POSIX compliant + sed 's@echo -n@printf@' -i configure || die + + sed -i \ + -e '/^CC :\?=/d' \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ + Makefile || die + + # Build against system headers + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die + + if use minimal ; then + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die + fi +} + +src_configure() { + tc-export AR CC PKG_CONFIG + + # This sure is ugly. Should probably move into toolchain-funcs at some point. + local setns + pushd "${T}" >/dev/null || die + printf '#include \nint main(){return setns(0, 0);}\n' > test.c || die + if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then + setns=y + else + setns=n + fi + + echo 'int main(){return 0;}' > test.c || die + if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then + sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die + fi + popd >/dev/null || die + + # run "configure" script first which will create "config.mk"... + # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) + edo ./configure --libbpf_force $(usex bpf on off) + + # 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) + TC_CONFIG_NO_XT := $(usex iptables n y) + # We've locked in recent enough kernel headers, bug #549948 + TC_CONFIG_IPSET := y + HAVE_BERKELEY_DB := $(usex berkdb y n) + HAVE_CAP := $(usex caps y n) + HAVE_MNL := $(usex minimal n y) + HAVE_ELF := $(usex elf 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 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + HAVE_LIBBSD := $(usex libbsd y n) + EOF +} + +src_compile() { + emake V=1 NETNS_RUN_DIR=/run/netns +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc + dobin ip/ip + return 0 + fi + + emake \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}"/$(get_libdir) \ + SBINDIR="${EPREFIX}"/sbin \ + CONFDIR="${EPREFIX}"/etc/iproute2 \ + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ + MANDIR="${EPREFIX}"/usr/share/man \ + ARPDDIR="${EPREFIX}"/var/lib/arpd \ + install + + dodir /bin + mv "${ED}"/{s,}bin/ip || die # bug #330115 + + dolib.a lib/libnetlink.a + insinto /usr/include + doins include/libnetlink.h + + 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 + dosym -r /bin/ss /sbin/ss + fi + + if use berkdb ; then + keepdir /var/lib/arpd + # bug #47482, arpd doesn't need to be in /sbin + dodir /usr/bin + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die + elif [[ -d "${ED}"/var/lib/arpd ]]; then + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die + fi +} -- cgit v1.2.3