diff options
Diffstat (limited to 'net-misc/iputils')
-rw-r--r-- | net-misc/iputils/Manifest | 2 | ||||
-rw-r--r-- | net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch | 47 | ||||
-rw-r--r-- | net-misc/iputils/files/iputils-20210722-optional-tests.patch | 202 | ||||
-rw-r--r-- | net-misc/iputils/iputils-20210722-r1.ebuild | 186 | ||||
-rw-r--r-- | net-misc/iputils/metadata.xml | 32 |
5 files changed, 15 insertions, 454 deletions
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest index 543a2bb15979..289a9105a6d7 100644 --- a/net-misc/iputils/Manifest +++ b/net-misc/iputils/Manifest @@ -1,4 +1,2 @@ -DIST iputils-20210722.tar.gz 530745 BLAKE2B 4d6a2afaea1027e7992d374bbaa300f952f56225c998ecc6c3d332fef046dd8032e5afaff1cdc916d048f9d84cc8a85736a26a3176e66e111e02c9dbfcb0f195 SHA512 8f85bf468f8ef1e2832e9bbf9009552df4a6d723dd130fa0d5b2aa3bae617c972f936143c2370c3b4ce2ba2499828c91a299ee42cf81fa81aabe10552db2b328 DIST iputils-20211215.tar.gz 524567 BLAKE2B b88ff84be1d4d6a741f8f3514739ceff45ea40c475b5d4c2df8571fe84d4f1af9bc3fdce29e9ff393417671c75204261c8d64dde00473caa314b0aeb1fbf74ce SHA512 191062e51f7c8e8b38e3e4a96845adb77cd69f487d548c7cc578fad544443b4bc0dbe965d8f8e6fbda0a2f5b2fe2829789c05f873190c53d773245959298f6e9 -DIST iputils-manpages-20210722.tar.xz 19208 BLAKE2B 7d6b126debeee2a4e5437b7d26a9fee5c759ae72fa9b7acb1a04bb673f14af742f5580aad6ae1c34048933d95d09c4adcf024fabdc20851297131877cbfa10d0 SHA512 c1521e76f5b8cb99d7226ca1bd916b1861b6c0f9655ad0e396dd8d997be6cdc37ee0e81ac325ea4ebb3b349b394e7f1c45081ddc25b778fd294928a7b2dc0415 DIST iputils-manpages-20211215.tar.xz 17148 BLAKE2B 63a956805b01f57b070b6b4ceb32f6ddf4313c74203cde821fc2f6f16ab8de14861da31163adf496db555f1961592d4fbc2ba7a977ccb18773af3bdb8d3795c0 SHA512 eb8c8508221b06fc13bf196b01b11f3ec87cd77e25d89c088776e39d249e10a3915ebb39942805adee179b352543063ce3dac158d68783c68c23de550ec14eee diff --git a/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch b/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch deleted file mode 100644 index 61f9f5c03fd6..000000000000 --- a/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch +++ /dev/null @@ -1,47 +0,0 @@ -https://github.com/iputils/iputils/commit/79d713eab6181e219bf932b404706f6f59ff2539.patch -https://bugs.gentoo.org/818022 - -From: Byron Stanoszek <gandalf@winds.org> -Date: Thu, 16 Sep 2021 23:38:54 +0200 -Subject: [PATCH] ping: Remove 'unsupported IPv6' warning on disabled IPv6 - -Regression was introduced in d141cb6 as introduced condition - -if ((errno == EAFNOSUPPORT && socktype == AF_INET6) || options & F_VERBOSE || requisite) - -was wrong, it should have been: - -if ((errno == EAFNOSUPPORT && family == AF_INET6 && requisite) || options & F_VERBOSE) - -but bug was hidden as `family == AF_INET6' was always false until -otherwise correct fix 904cdb6 ("ping: AF_INET6 is address family not -socket type [lgtm scan]") propagated the error. - -Tested on kernel booted with ipv6.disable=1 (disabling via sysctl, i.e. -sysctl -w net.ipv6.conf.all.disable_ipv6=1; sysctl -w net.ipv6.conf.default.disable_ipv6=1 -does not trigger the issue as it exit with "socket: Address family not -supported by protocol" - errno EADDRNOTAVAIL). - -Fixes: d141cb6 ("ping: work with older kernels that don't support ping sockets") -Closes: https://github.com/iputils/iputils/issues/293 -Closes: https://github.com/iputils/iputils/pull/370 - -Reported-by: lekto <lekto@o2.pl> -Reviewed-by: Andrew Clayton <andrew@digital-domain.net> -Reviewed-by: Petr Vorel <pvorel@suse.cz> -Signed-off-by: Byron Stanoszek <gandalf@winds.org> -[ pvorel: create commit from Byron's patch on the issue, do analysis and wrote commit message ] -Signed-off-by: Petr Vorel <pvorel@suse.cz> ---- a/ping/ping.c -+++ b/ping/ping.c -@@ -150,8 +150,8 @@ static void create_socket(struct ping_rts *rts, socket_st *sock, int family, - /* Report error related to disabled IPv6 only when IPv6 also failed or in - * verbose mode. Report other errors always. - */ -- if ((errno == EAFNOSUPPORT && family == AF_INET6) || -- rts->opt_verbose || requisite) -+ if ((errno == EAFNOSUPPORT && family == AF_INET6 && requisite) || -+ rts->opt_verbose) - error(0, errno, "socket"); - if (requisite) - exit(2); diff --git a/net-misc/iputils/files/iputils-20210722-optional-tests.patch b/net-misc/iputils/files/iputils-20210722-optional-tests.patch deleted file mode 100644 index d6c4e98c0800..000000000000 --- a/net-misc/iputils/files/iputils-20210722-optional-tests.patch +++ /dev/null @@ -1,202 +0,0 @@ -https://github.com/iputils/iputils/commit/3163c49f9f4ad473a00d8a345ee334a028376011.patch -https://bugs.gentoo.org/807973 - -From: Heiko Becker <heirecka@exherbo.org> -Date: Fri, 23 Jul 2021 16:32:46 +0200 -Subject: [PATCH] meson: Make tests optional - -Now can be disabled with -DSKIP_TESTS=true. - -It allows to avoid meson error during build when ip isn't installed. - -Closes: #359 - -Reviewed-by: Petr Vorel <petr.vorel@gmail.com> -Signed-off-by: Heiko Becker <heirecka@exherbo.org> -[ pvorel: Rename variable TEST => SKIP_TESTS, default false, adjust -the description ] -Signed-off-by: Petr Vorel <petr.vorel@gmail.com> ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -72,3 +72,6 @@ option('INSTALL_SYSTEMD_UNITS', type: 'boolean', value: false, - - option('USE_GETTEXT', type: 'boolean', value: true, - description: 'Enable I18N') -+ -+option('SKIP_TESTS', type: 'boolean', value: false, -+ description: 'Skip tests during build') ---- a/ping/meson.build -+++ b/ping/meson.build -@@ -27,86 +27,6 @@ if (setcap_ping) - ) - endif - --##### TESTS ##### -- --# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_" -- --# GitHub CI does not have working IPv6 --# https://github.com/actions/virtual-environments/issues/668 --ipv6_dst = [] --ipv6_switch = [] --r = run_command('ip', '-6', 'a') --if r.stdout().strip().contains('::1') -- message('IPv6 enabled') -- ipv6_dst = [ '::1' ] -- ipv6_switch = [ '-6' ] --else -- message('WARNING: IPv6 disabled') -+if not get_option('SKIP_TESTS') -+ subdir('test') - endif -- --run_as_root = false --r = run_command('id', '-u') --if r.stdout().strip().to_int() == 0 -- message('running as root') -- run_as_root = true --else -- message('running as normal user') --endif -- --foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst -- foreach switch : [ '', '-4' ] + ipv6_switch -- args = [ '-c1', dst ] -- should_fail = false -- -- if switch != '' -- args = [switch] + args -- if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1') -- should_fail = true -- endif -- endif -- -- name = 'ping ' + ' '.join(args) -- test(name, ping, args : args, should_fail : should_fail) -- endforeach --endforeach -- --ping_tests_opt = [ -- [ '-c1' ], -- [ '-c5', '-i0.1' ], -- [ '-c1', '-I', 'lo' ], -- [ '-c1', '-w1' ], -- [ '-c1', '-W1' ], -- [ '-c1', '-W1.1' ], --] --foreach dst : [ '127.0.0.1' ] + ipv6_dst -- foreach args : ping_tests_opt -- args += [ dst ] -- name = 'ping ' + ' '.join(args) -- test(name, ping, args : args) -- endforeach --endforeach -- --ping_tests_opt_fail = [ -- [ '-c1.1' ], -- [ '-I', 'nonexisting' ], -- [ '-w0.1' ], -- [ '-w0,1' ], --] --foreach dst : [ '127.0.0.1' ] + ipv6_dst -- foreach args : ping_tests_opt_fail -- args += [ dst ] -- name = 'ping ' + ' '.join(args) -- test(name, ping, args : args, should_fail : true) -- endforeach --endforeach -- --ping_tests_user_fail = [ -- [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root --] --foreach dst : [ '127.0.0.1' ] + ipv6_dst -- foreach args : ping_tests_user_fail -- args += [ dst ] -- name = 'ping ' + ' '.join(args) -- test(name, ping, args : args, should_fail : not run_as_root) -- endforeach --endforeach ---- /dev/null -+++ b/ping/test/meson.build -@@ -0,0 +1,81 @@ -+# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_" -+ -+# GitHub CI does not have working IPv6 -+# https://github.com/actions/virtual-environments/issues/668 -+ipv6_dst = [] -+ipv6_switch = [] -+r = run_command('ip', '-6', 'a') -+if r.stdout().strip().contains('::1') -+ message('IPv6 enabled') -+ ipv6_dst = [ '::1' ] -+ ipv6_switch = [ '-6' ] -+else -+ message('WARNING: IPv6 disabled') -+endif -+ -+run_as_root = false -+r = run_command('id', '-u') -+if r.stdout().strip().to_int() == 0 -+ message('running as root') -+ run_as_root = true -+else -+ message('running as normal user') -+endif -+ -+foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst -+ foreach switch : [ '', '-4' ] + ipv6_switch -+ args = [ '-c1', dst ] -+ should_fail = false -+ -+ if switch != '' -+ args = [switch] + args -+ if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1') -+ should_fail = true -+ endif -+ endif -+ -+ name = 'ping ' + ' '.join(args) -+ test(name, ping, args : args, should_fail : should_fail) -+ endforeach -+endforeach -+ -+ping_tests_opt = [ -+ [ '-c1' ], -+ [ '-c5', '-i0.1' ], -+ [ '-c1', '-I', 'lo' ], -+ [ '-c1', '-w1' ], -+ [ '-c1', '-W1' ], -+ [ '-c1', '-W1.1' ], -+] -+foreach dst : [ '127.0.0.1' ] + ipv6_dst -+ foreach args : ping_tests_opt -+ args += [ dst ] -+ name = 'ping ' + ' '.join(args) -+ test(name, ping, args : args) -+ endforeach -+endforeach -+ -+ping_tests_opt_fail = [ -+ [ '-c1.1' ], -+ [ '-I', 'nonexisting' ], -+ [ '-w0.1' ], -+ [ '-w0,1' ], -+] -+foreach dst : [ '127.0.0.1' ] + ipv6_dst -+ foreach args : ping_tests_opt_fail -+ args += [ dst ] -+ name = 'ping ' + ' '.join(args) -+ test(name, ping, args : args, should_fail : true) -+ endforeach -+endforeach -+ -+ping_tests_user_fail = [ -+ [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root -+] -+foreach dst : [ '127.0.0.1' ] + ipv6_dst -+ foreach args : ping_tests_user_fail -+ args += [ dst ] -+ name = 'ping ' + ' '.join(args) -+ test(name, ping, args : args, should_fail : not run_as_root) -+ endforeach -+endforeach diff --git a/net-misc/iputils/iputils-20210722-r1.ebuild b/net-misc/iputils/iputils-20210722-r1.ebuild deleted file mode 100644 index a97324cae332..000000000000 --- a/net-misc/iputils/iputils-20210722-r1.ebuild +++ /dev/null @@ -1,186 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# For released versions, we precompile the man/html pages and store -# them in a tarball on our mirrors. This avoids ugly issues while -# building stages, and reduces dependencies. -# To regenerate man/html pages emerge iputils-99999999[doc] with -# EGIT_COMMIT set to release tag, all USE flags enabled and -# tar ${S}/doc folder. - -EAPI="7" - -PLOCALES="de fr ja pt_BR tr uk zh_CN" - -inherit fcaps flag-o-matic meson plocale systemd toolchain-funcs - -if [[ ${PV} == "99999999" ]] ; then - EGIT_REPO_URI="https://github.com/iputils/iputils.git" - inherit git-r3 -else - SRC_URI="https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -fi - -DESCRIPTION="Network monitoring tools including ping and ping6" -HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils" - -LICENSE="BSD GPL-2+ rdisc" -SLOT="0" -IUSE="+arping caps clockdiff doc idn nls rarpd rdisc static test tftpd tracepath traceroute6" -RESTRICT="!test? ( test )" - -BDEPEND=" - virtual/pkgconfig - test? ( sys-apps/iproute2 ) - nls? ( sys-devel/gettext ) -" - -LIB_DEPEND=" - caps? ( sys-libs/libcap[static-libs(+)] ) - idn? ( net-dns/libidn2:=[static-libs(+)] ) - nls? ( virtual/libintl[static-libs(+)] ) -" - -RDEPEND=" - traceroute6? ( !net-analyzer/traceroute ) - !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) -" - -DEPEND=" - ${RDEPEND} - virtual/os-headers - static? ( ${LIB_DEPEND} ) -" - -if [[ ${PV} == "99999999" ]] ; then - BDEPEND+=" - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-ns-stylesheets - app-text/docbook-xsl-stylesheets - dev-libs/libxslt:0 - " -fi - -PATCHES=( - # Upstream; drop on bump - "${FILESDIR}"/${P}-optional-tests.patch - # Upstream; drop on bump - "${FILESDIR}"/${P}-fix-no-ipv6-ping.patch -) - -src_prepare() { - default - - plocale_get_locales > po/LINGUAS || die -} - -src_configure() { - use static && append-ldflags -static - - local emesonargs=( - -DUSE_CAP="$(usex caps true false)" - -DUSE_IDN="$(usex idn true false)" - -DBUILD_ARPING="$(usex arping true false)" - -DBUILD_CLOCKDIFF="$(usex clockdiff true false)" - -DBUILD_PING="true" - -DBUILD_RARPD="$(usex rarpd true false)" - -DBUILD_RDISC="$(usex rdisc true false)" - -DENABLE_RDISC_SERVER="$(usex rdisc true false)" - -DBUILD_TFTPD="$(usex tftpd true false)" - -DBUILD_TRACEPATH="$(usex tracepath true false)" - -DBUILD_TRACEROUTE6="$(usex traceroute6 true false)" - -DBUILD_NINFOD="false" - -DNINFOD_MESSAGES="false" - -DNO_SETCAP_OR_SUID="true" - -Dsystemdunitdir="$(systemd_get_systemunitdir)" - -DUSE_GETTEXT="$(usex nls true false)" - $(meson_use !test SKIP_TESTS) - ) - - if [[ "${PV}" == 99999999 ]] ; then - emesonargs+=( - -DBUILD_HTML_MANS="$(usex doc true false)" - -DBUILD_MANS="true" - ) - else - emesonargs+=( - -DBUILD_HTML_MANS="false" - -DBUILD_MANS="false" - ) - fi - - meson_src_configure -} - -src_compile() { - tc-export CC - meson_src_compile -} - -src_test() { - if [[ ${EUID} != 0 ]]; then - einfo "Tests require root privileges; Skipping ..." - return - fi - - meson_src_test -} - -src_install() { - meson_src_install - - dodir /bin - local my_bin - for my_bin in $(usex arping arping '') ping ; do - mv "${ED}"/usr/bin/${my_bin} "${ED}"/bin/ || die - done - dosym ping /bin/ping4 - dosym ping /bin/ping6 - - if use tracepath ; then - dosym tracepath /usr/bin/tracepath4 - dosym tracepath /usr/bin/tracepath6 - dosym tracepath.8 /usr/share/man/man8/tracepath6.8 - fi - - if [[ "${PV}" != 99999999 ]] ; then - local -a man_pages - local -a html_man_pages - - while IFS= read -r -u 3 -d $'\0' my_bin - do - my_bin=$(basename "${my_bin}") - [[ -z "${my_bin}" ]] && continue - - if [[ -f "${S}/doc/${my_bin}.8" ]] ; then - man_pages+=( ${my_bin}.8 ) - fi - - if [[ -f "${S}/doc/${my_bin}.html" ]] ; then - html_man_pages+=( ${my_bin}.html ) - fi - done 3< <(find "${ED}"/{bin,usr/bin,usr/sbin} -type f -perm -a+x -print0 2>/dev/null) - - pushd doc &>/dev/null || die - doman "${man_pages[@]}" - if use doc ; then - docinto html - dodoc "${html_man_pages[@]}" - fi - popd &>/dev/null || die - else - if use doc ; then - mv "${ED}"/usr/share/${PN} "${ED}"/usr/share/doc/${PF}/html || die - fi - fi -} - -pkg_postinst() { - fcaps cap_net_raw \ - bin/ping \ - $(usex arping 'bin/arping' '') \ - $(usex clockdiff 'usr/bin/clockdiff' '') -} diff --git a/net-misc/iputils/metadata.xml b/net-misc/iputils/metadata.xml index cd78568cc221..ae5bf52a8768 100644 --- a/net-misc/iputils/metadata.xml +++ b/net-misc/iputils/metadata.xml @@ -1,21 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>base-system@gentoo.org</email> - <name>Gentoo Base System</name> - </maintainer> - <use> - <flag name="arping">Build and install arping -- tool for sending ARP requests to peers (see also <pkg>net-analyzer/arping</pkg>)</flag> - <flag name="clockdiff">Build and install clockdiff -- tool for comparing clocks via ICMP packets</flag> - <flag name="rarpd">Build and install rarpd -- server for handling RARP (reverse ARP) requests; generally only used by old systems</flag> - <flag name="rdisc">Build and install rdisc -- server for the client side of the ICMP router discover protocol</flag> - <flag name="tftpd">Build and install tftpd -- server for the Trivial File Transfer Protocol (see also <pkg>net-ftp/tftp-hpa</pkg>)</flag> - <flag name="tracepath">Build and install tracepath -- tool for tracing network paths for discovering MTU values</flag> - <flag name="traceroute6">Build and install deprecated traceroute6 tool. It's recommended to use <pkg>net-analyzer/traceroute</pkg> instead.</flag> - </use> - <upstream> - <remote-id type="cpe">cpe:/a:skbuff:iputils</remote-id> - <remote-id type="github">iputils/iputils</remote-id> - </upstream> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <use> + <flag name="arping">Build and install arping -- tool for sending ARP requests to peers (see also <pkg>net-analyzer/arping</pkg>)</flag> + <flag name="clockdiff">Build and install clockdiff -- tool for comparing clocks via ICMP packets</flag> + <flag name="rarpd">Build and install rarpd -- server for handling RARP (reverse ARP) requests; generally only used by old systems</flag> + <flag name="rdisc">Build and install rdisc -- server for the client side of the ICMP router discover protocol</flag> + <flag name="tracepath">Build and install tracepath -- tool for tracing network paths for discovering MTU values</flag> + </use> + <upstream> + <remote-id type="cpe">cpe:/a:skbuff:iputils</remote-id> + <remote-id type="github">iputils/iputils</remote-id> + </upstream> </pkgmetadata> |