diff options
author | 2023-12-05 08:50:06 +0000 | |
---|---|---|
committer | 2023-12-05 10:32:04 +0000 | |
commit | e2b221825348c4264fc6cb7420d391d1d0110a09 (patch) | |
tree | 5cf7e592262beba575716faa6266ca930d9d62cd /net-analyzer/arpwatch | |
parent | gnome-extra/zenity: add 3.99.91 (diff) | |
download | gentoo-e2b221825348c4264fc6cb7420d391d1d0110a09.tar.gz gentoo-e2b221825348c4264fc6cb7420d391d1d0110a09.tar.bz2 gentoo-e2b221825348c4264fc6cb7420d391d1d0110a09.zip |
net-analyzer/arpwatch: add 3.5
Closes: https://bugs.gentoo.org/829633
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-analyzer/arpwatch')
4 files changed, 155 insertions, 0 deletions
diff --git a/net-analyzer/arpwatch/Manifest b/net-analyzer/arpwatch/Manifest index 088fa9a89b1b..53e3f2db8fe8 100644 --- a/net-analyzer/arpwatch/Manifest +++ b/net-analyzer/arpwatch/Manifest @@ -1,2 +1,3 @@ DIST arpwatch-3.1.tar.gz 117196 BLAKE2B 35afd3dc563ebbc8136000d5c2d53da85b9615df5cbe8a3da5b77f20da7cbee706f6fd404c2bda6f3626aaa496d9ec9439596acbdfd559c01b8c0d01d6703e46 SHA512 2e6f6e388e1828e34626e36356a89f3bc95d268b9242955d6636ac05041bcf533e7625ed73b37b6ea5eab8cfed54b8c483547556c98664efff63c18639efa282 +DIST arpwatch-3.5.tar.gz 117594 BLAKE2B 73b979ec279e5bf5baaeac05949e1bddf08cd9c3c7afcd29b37991ba55ba2bb8968b57b407eb571ec52871017372f479e586ba84b0f1aee67331ce7617309fb8 SHA512 e46b350c483f0e7c873eb177be337f238b2db3d859d8b305df5a74d9d97ca449750f9ed50a99c5d4c51618e22747731d70ceb3f13aae39c39d258b960258fb88 DIST ethercodes.dat-20200628.xz 239028 BLAKE2B e702b9109ef3ccce73e2637f96126bf19e7dfa533774c0bd623042b3609f147981263b84397ec155a65ae12fa57247c32644e1e7e57c2c749ef768156d853027 SHA512 2edc05d384f387e6b43d07da99038625f9c55c8044b5a48d1bcf9f657df691bf413a97fb9ca915f04dbdafab23f919edd15d906c4ce8bff12be0b255a6717f07 diff --git a/net-analyzer/arpwatch/arpwatch-3.5.ebuild b/net-analyzer/arpwatch/arpwatch-3.5.ebuild new file mode 100644 index 000000000000..3f5e19029ce9 --- /dev/null +++ b/net-analyzer/arpwatch/arpwatch-3.5.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +ETHERCODES_DATE=20200628 +DESCRIPTION="An ethernet monitor program that keeps track of ethernet/IP address pairings" +HOMEPAGE="https://ee.lbl.gov/" +SRC_URI=" + https://ee.lbl.gov/downloads/${PN}/${P}.tar.gz + https://dev.gentoo.org/~jsmolic/distfiles/ethercodes.dat-${ETHERCODES_DATE}.xz +" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~riscv ~sparc ~x86" +IUSE="selinux" + +DEPEND=" + acct-group/arpwatch + net-libs/libpcap + sys-libs/ncurses:= +" +RDEPEND=" + ${DEPEND} + acct-user/arpwatch + virtual/mta + selinux? ( sec-policy/selinux-arpwatch ) +" + +PATCHES=( + # sent upstream on 2023-12-05 + "${FILESDIR}"/0001-Fix-configure-check-for-time.h.patch + "${FILESDIR}"/0002-Avoid-using-undocumented-internals-for-DNS.patch +) + +src_prepare() { + default + + # Temporary for 0001-Fix-configure-check-for-time.h.patch + eautoreconf +} + +src_install() { + dosbin arp2ethers arpfetch arpsnmp arpwatch bihourly.sh massagevendor.py update-ethercodes.sh + doman arpsnmp.8 arpwatch.8 + + insinto /usr/share/arpwatch + newins "${WORKDIR}"/ethercodes.dat-${ETHERCODES_DATE} ethercodes.dat + + insinto /usr/share/arpwatch/awk + doins d.awk duplicates.awk e.awk euppertolower.awk p.awk + + diropts --group=arpwatch --mode=770 + keepdir /var/lib/arpwatch + dodoc README CHANGES + + newconfd "${FILESDIR}"/arpwatch.confd-r2 arpwatch + newinitd "${FILESDIR}"/arpwatch.initd-r2 arpwatch + + systemd_dounit "${FILESDIR}/arpwatch.service" + systemd_install_serviced "${FILESDIR}/arpwatch.conf" +} + +pkg_postinst() { + # Previous revisions installed /var/lib/arpwatch with the wrong + # ownership. Instead of the intended arpwatch:root, it was left as + # root:root. If we find any such mis-owned directories, we fix them, + # and then set the permission bits how we want them in *this* + # revision. + # + # The "--from" flag ensures that we only fix directories that need + # fixing, and the "&& chmod" ensures that we only adjust the + # permissions if the owner also needed fixing. + chown \ + --from=root:root \ + --no-dereference \ + :arpwatch \ + "${ROOT}"/var/lib/arpwatch && \ + chmod 770 "${ROOT}"/var/lib/arpwatch +} diff --git a/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch b/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch new file mode 100644 index 000000000000..4c6b1466a452 --- /dev/null +++ b/net-analyzer/arpwatch/files/0001-Fix-configure-check-for-time.h.patch @@ -0,0 +1,36 @@ +sent upstream on 2023-12-05 + +From ea63ce2240a9be492086a56921c644533c740924 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 5 Dec 2023 08:39:39 +0000 +Subject: [PATCH 1/2] Fix configure check for time.h + +Otherwise, we get an implicit function declaration warning/error (with Clang 16, +GCC 14) for localtime. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/configure.in ++++ b/configure.in +@@ -21,7 +21,7 @@ fi + AC_LBL_C_INIT(V_CCOPT, V_INCLS) + AC_PROG_INSTALL + +-AC_CHECK_HEADERS(fcntl.h memory.h) ++AC_CHECK_HEADERS(fcntl.h memory.h time.h) + + dnl + dnl Install rc.d script on FreeBSD +--- a/report.c ++++ b/report.c +@@ -59,7 +59,7 @@ struct rtentry; + #include <stdlib.h> + #include <string.h> + #include <syslog.h> +-#ifdef TIME_WITH_SYS_TIME ++#ifdef HAVE_TIME_H + #include <time.h> + #endif + #include <unistd.h> +-- +2.43.0 + diff --git a/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch b/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch new file mode 100644 index 000000000000..127c46c67abf --- /dev/null +++ b/net-analyzer/arpwatch/files/0002-Avoid-using-undocumented-internals-for-DNS.patch @@ -0,0 +1,35 @@ +sent upstream on 2023-12-05 + +From 957425ec7ca2714a4c31431f4746da7644a7f4e9 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 5 Dec 2023 08:40:31 +0000 +Subject: [PATCH 2/2] Avoid using undocumented internals for DNS + +_getshort is a reserved internal function and is deprecated per +glibc's resolv.h at least. + +Use ns_get32 instead as recommended by the deprecation warning. + +This also fixes an implicit function declaration warning/error with +Clang 16 / GCC 14. + +Bug: https://bugs.gentoo.org/829633 +Signed-off-by: Sam James <sam@gentoo.org> +--- a/dns.c ++++ b/dns.c +@@ -115,10 +115,10 @@ gethinfo(char *hostname, char *cpu, int cpulen, char *os, int oslen) + (u_char *)cp, (char *)bp, buflen)) < 0) + break; + cp += n; +- type = _getshort(cp); ++ type = ns_get32(cp); + cp += sizeof(u_short); /* class */ + cp += sizeof(u_short) + sizeof(u_int32_t); +- n = _getshort(cp); ++ n = ns_get32(cp); + cp += sizeof(u_short); + if (type == T_HINFO) { + /* Unpack */ +-- +2.43.0 + |