summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/iputils')
-rw-r--r--net-misc/iputils/Manifest2
-rw-r--r--net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch47
-rw-r--r--net-misc/iputils/files/iputils-20210722-optional-tests.patch202
-rw-r--r--net-misc/iputils/iputils-20210722-r1.ebuild186
-rw-r--r--net-misc/iputils/metadata.xml32
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>