commit:     e2b221825348c4264fc6cb7420d391d1d0110a09
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  5 08:50:06 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec  5 10:32:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2b22182

net-analyzer/arpwatch: add 3.5

Closes: https://bugs.gentoo.org/829633
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-analyzer/arpwatch/Manifest                     |  1 +
 net-analyzer/arpwatch/arpwatch-3.5.ebuild          | 83 ++++++++++++++++++++++
 .../0001-Fix-configure-check-for-time.h.patch      | 36 ++++++++++
 ...void-using-undocumented-internals-for-DNS.patch | 35 +++++++++
 4 files changed, 155 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+--- 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 <[email protected]>
+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 <[email protected]>
+--- 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
+

Reply via email to