git: e2251a248941 - main - net/pimd: update to 3.1.0

From: Olivier Cochard <olivier_at_FreeBSD.org>
Date: Fri, 18 Sep 2026 19:15:40 UTC
The branch main has been updated by olivier:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e2251a2489410a0908d3b6ca127031819e4ec6bc

commit e2251a2489410a0908d3b6ca127031819e4ec6bc
Author:     Olivier Cochard <olivier@FreeBSD.org>
AuthorDate: 2026-09-18 17:05:40 +0000
Commit:     Olivier Cochard <olivier@FreeBSD.org>
CommitDate: 2026-09-18 19:12:51 +0000

    net/pimd: update to 3.1.0
    
    troglobit/pimd, the upstream this port tracked, has not seen a commit since
    August 2022 and its last release, 2.3.2, is from 2016. The port was pinned
    to an unreleased master snapshot (2.3.2b, commit 17ae62f) because there was
    nothing newer to move to.
    
    This new fork continues the tree and releases from it. 3.1.0 brings
    Anycast-RP (RFC 4610), accept-nbr-from and register-accept-from, and rescans
    interfaces at runtime so a link that comes up after the daemon started becomes
    a vif without a restart.
---
 net/pimd/Makefile                 | 19 +++++--------
 net/pimd/distinfo                 |  8 +++---
 net/pimd/files/patch-configure.ac |  9 -------
 net/pimd/files/patch-src_main.c   | 56 ---------------------------------------
 4 files changed, 9 insertions(+), 83 deletions(-)

diff --git a/net/pimd/Makefile b/net/pimd/Makefile
index 265943fce2de..9fc484dc2430 100644
--- a/net/pimd/Makefile
+++ b/net/pimd/Makefile
@@ -1,11 +1,10 @@
 PORTNAME=	pimd
-PORTVERSION=	2.3.2b
-PORTREVISION=	1
+DISTVERSION=	3.1.0
 CATEGORIES=	net
 
 MAINTAINER=	olivier@FreeBSD.org
-COMMENT=	Lightweight stand-alone PIM-SM v2 multicast routing daemon
-WWW=		http://troglobit.com/pimd.html
+COMMENT=	Lightweight stand-alone PIM-SM/SSM multicast routing daemon
+WWW=		https://github.com/ocochard/pimd
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
@@ -13,17 +12,13 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 USES=		autoreconf:build
 
 USE_GITHUB=	yes
-GH_ACCOUNT=	troglobit
-GH_PROJECT=	libite:libite
-GH_TAGNAME=	17ae62f\
-		v1.4.4:libite
-GH_SUBDIR=	libite:libite
+GH_ACCOUNT=	ocochard
 
 USE_RC_SUBR=	${PORTNAME}
 
 GNU_CONFIGURE=	yes
-
-MAKE_ARGS=	prefix="${PREFIX}" sysconfdir="${PREFIX}/etc/"
+CONFIGURE_ARGS=	--sysconfdir=${PREFIX}/etc \
+		--localstatedir=/var
 
 pre-configure:
 	cd ${WRKSRC} && ./autogen.sh
@@ -33,8 +28,6 @@ do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/src/pimctl ${STAGEDIR}${PREFIX}/sbin/
 	${INSTALL_DATA} ${WRKSRC}/pimd.conf \
 		${STAGEDIR}${PREFIX}/etc/pimd.conf.sample
-	${INSTALL_SCRIPT} ${FILESDIR}/pimd.in \
-		${STAGEDIR}${PREFIX}/etc/rc.d/pimd
 	${INSTALL_MAN} ${WRKSRC}/man/pimd.8 ${STAGEDIR}${PREFIX}/share/man/man8/
 	${INSTALL_MAN} ${WRKSRC}/man/pimctl.8 ${STAGEDIR}${PREFIX}/share/man/man8/
 	${INSTALL_MAN} ${WRKSRC}/man/pimd.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5/
diff --git a/net/pimd/distinfo b/net/pimd/distinfo
index 6d6ed53b9fbe..82513d4d43cc 100644
--- a/net/pimd/distinfo
+++ b/net/pimd/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1733871538
-SHA256 (troglobit-pimd-2.3.2b-17ae62f_GH0.tar.gz) = d247e190eedae2314fe5e442fe79f0d9c4260ee62077fa38827d5e53c90eac2c
-SIZE (troglobit-pimd-2.3.2b-17ae62f_GH0.tar.gz) = 1390204
-SHA256 (troglobit-libite-v1.4.4_GH0.tar.gz) = c4327e7d3ade7efb191d02a4f9ffaf7b8e86e7e7f91a2f7e8b600e2102330607
-SIZE (troglobit-libite-v1.4.4_GH0.tar.gz) = 36086
+TIMESTAMP = 1789744769
+SHA256 (ocochard-pimd-3.1.0_GH0.tar.gz) = ad2dbfaac055b8bd05bd88efac9b75243f6856e17c94e7e218d8246499597bed
+SIZE (ocochard-pimd-3.1.0_GH0.tar.gz) = 1807243
diff --git a/net/pimd/files/patch-configure.ac b/net/pimd/files/patch-configure.ac
deleted file mode 100644
index 12d480edfa35..000000000000
--- a/net/pimd/files/patch-configure.ac
+++ /dev/null
@@ -1,9 +0,0 @@
---- configure.ac.orig	2025-06-08 03:07:24 UTC
-+++ configure.ac
-@@ -1,5 +1,5 @@ AC_PREREQ(2.61)
- AC_PREREQ(2.61)
--AC_INIT(pimd, 3.0-beta1, https://github.com/troglobit/pimd/issues, , https://troglobit.com/projects/pimd)
-+AC_INIT(pimd, 2.3.2b, https://github.com/troglobit/pimd/issues, , https://troglobit.com/projects/pimd)
- AC_CONFIG_AUX_DIR(aux)
- AM_INIT_AUTOMAKE([1.11 foreign])
- AM_SILENT_RULES([yes])
diff --git a/net/pimd/files/patch-src_main.c b/net/pimd/files/patch-src_main.c
deleted file mode 100644
index df9ab9d89d0d..000000000000
--- a/net/pimd/files/patch-src_main.c
+++ /dev/null
@@ -1,56 +0,0 @@
---- src/main.c.orig	2026-09-18 05:38:16 UTC
-+++ src/main.c
-@@ -362,9 +362,31 @@ int main(int argc, char *argv[])
-     }
- 
-     if (!foreground) {
--	if (fork())
-+	pid_t pid;
-+
-+	pid = fork();
-+	if (pid == -1)
-+	    err(1, "Failed forking to the background");
-+	if (pid)
- 	    exit(0);
- 
-+	/*
-+	 * Leave the session, the controlling terminal and the process
-+	 * group of whoever started us, before the standard descriptors
-+	 * go to /dev/null, so that a failure can still be reported.
-+	 *
-+	 * setsid() is the portable primitive for this.  The TIOCNOTTY
-+	 * ioctl that used to be preferred here cannot do it: the kernel
-+	 * refuses it to anyone but a session leader, which the child of
-+	 * a fork() never is, and pimd threw the error away.  A daemon
-+	 * started from an rc script on a console was left in the
-+	 * terminal's foreground process group, where an INTR character
-+	 * typed on that console killed it.  setpgrp(), taken on Linux,
-+	 * left the session and the terminal attached for their part.
-+	 */
-+	if (setsid() == -1)
-+	    perror("setsid");
-+
- 	close(STDIN_FILENO);
- 	close(STDOUT_FILENO);
- 	close(STDERR_FILENO);
-@@ -376,20 +398,6 @@ int main(int argc, char *argv[])
- 	    dup2(fd, STDERR_FILENO);
- 	    close(fd);
- 	}
--#if defined(SYSV) || defined(__linux__)
--	setpgrp();
--#else
--#ifdef TIOCNOTTY
--	fd = open("/dev/tty", 2);
--	if (fd >= 0) {
--	    (void)ioctl(fd, TIOCNOTTY, NULL);
--	    close(fd);
--	}
--#else
--	if (setsid() < 0)
--	    perror("setsid");
--#endif
--#endif
-     }
- 
-     /*