Updated to latest version 4.0.0. Tested with Gandi protocol.

I've attached to prevent my MUA breaking the diff.

It looks like Pascal's 3.11.2 patch[0] from 2024-03-01 (attached for
reference; see questions below) never got any feedback and the 3.10.0
patch[1] (not attached) was never committed (only one OK from sdk@?)

The 3.11.2 patch still applies and builds for me, but I didn't run-test
it as I need 4.0.0 for some auth changes in the Gandi protocol. I did
notice that it restores the use of daemon class in PLIST's @newuser,
which ajacoutot@'s commit in r1.29 explicitly removed.

The daemon class was also restored in the PLIST in my 4.0.0 patch
when I ran `make plist`. The order of some of the samples also
differs from Pascal's 3.11.2 patch, which looks to result in slightly
different file permissions for installed examples.

Should I manually re-order the PLIST and remove the daemon class?

Morgan

[0] <https://marc.info/?l=openbsd-ports&m=170928539629489&w=2>
[1] <https://marc.info/?t=166630358300001&r=1&w=2>
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ddclient/Makefile,v
diff -u -p -u -r1.29 Makefile
--- Makefile	8 Nov 2022 11:14:54 -0000	1.29
+++ Makefile	6 Jan 2026 22:17:42 -0000
@@ -2,8 +2,7 @@ COMMENT=	update client for dynamic DNS s
 
 GH_ACCOUNT=	ddclient
 GH_PROJECT=	ddclient
-GH_TAGNAME=	v3.9.1
-REVISION=	0
+GH_TAGNAME=	v4.0.0
 
 CATEGORIES=	net
 
@@ -12,30 +11,24 @@ HOMEPAGE=	https://ddclient.net/
 # GPLv2+
 PERMIT_PACKAGE=	Yes
 
-RUN_DEPENDS=	devel/p5-Data-Validate-IP \
+CONFIGURE_STYLE=gnu autoreconf
+AUTOMAKE_VERSION=	1.12
+AUTOCONF_VERSION=	2.63
+
+MAKE_ENV=	runstatedir=/var/run/ddclient
+FAKE_FLAGS=	sysconfdir=${PREFIX}/share/examples
+
+BUILD_DEPENDS=	net/curl
+RUN_DEPENDS=	net/curl \
 		net/p5-IO-Socket-INET6 \
 		security/p5-IO-Socket-SSL
 
-NO_BUILD=	Yes
-NO_TEST=	Yes
 PKG_ARCH=	*
 
-SAMPLES=	sample-etc_cron.d_ddclient sample-etc_ddclient.conf \
-		sample-etc_dhclient-exit-hooks sample-etc_dhcpc_dhcpcd-eth0.exe \
-		sample-etc_ppp_ip-up.local sample-ddclient-wrapper.sh
+SYSCONFDIR=	${BASESYSCONFDIR}/ddclient
 
 post-extract:
-	@sed -i -e "s,/var/cache/ddclient/,/var/db/ddclient/,g;" \
-		-e "s,/etc/ddclient/,${SYSCONFDIR}/ddclient/,g" \
-		${WRKSRC}/ddclient
-
-do-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/ddclient ${PREFIX}/sbin/
-	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/ddclient
-	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/ddclient
-	${INSTALL_DATA} ${WRKSRC}/README* ${PREFIX}/share/doc/ddclient
-.for i in ${SAMPLES}
-	${INSTALL_DATA} ${WRKSRC}/${i} ${PREFIX}/share/examples/ddclient
-.endfor
+	@sed -i -e "s,/cache/ddclient,/db/ddclient,g" \
+		${WRKSRC}/{ddclient.in,Makefile.am}
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/ddclient/distinfo,v
diff -u -p -u -r1.12 distinfo
--- distinfo	17 Jan 2021 15:46:53 -0000	1.12
+++ distinfo	6 Jan 2026 22:17:42 -0000
@@ -1,2 +1,2 @@
-SHA256 (ddclient-3.9.1.tar.gz) = 5JaeFcxJH8Ur3NZJ1MKw5LG/DJ+duiNHHGNIcazFJHA=
-SIZE (ddclient-3.9.1.tar.gz) = 63469
+SHA256 (ddclient-4.0.0.tar.gz) = SzfJmsABEQLX22Lx7Of/iZsG3z1LFy4xJwOTGjxZPJM=
+SIZE (ddclient-4.0.0.tar.gz) = 301499
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-configure_ac	6 Jan 2026 22:17:42 -0000
@@ -0,0 +1,12 @@
+Index: configure.ac
+--- configure.ac.orig
++++ configure.ac
+@@ -59,7 +59,7 @@ AS_CASE([${with_curl}],
+     AC_MSG_CHECKING([for curl])
+     CURL=${with_curl}
+     AC_MSG_RESULT([${CURL}])
+-  ]);
++  ])
+ AS_IF([test -z "${CURL}"], [AC_MSG_ERROR([curl not found])])
+ 
+ AX_WITH_PROG([PERL], perl)
Index: patches/patch-ddclient
===================================================================
RCS file: patches/patch-ddclient
diff -N patches/patch-ddclient
--- patches/patch-ddclient	11 Mar 2022 19:45:52 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-Index: ddclient
---- ddclient.orig
-+++ ddclient
-@@ -1163,16 +1163,6 @@ sub _read_config {
- 	# fatal("Cannot open file '%s'. ($!)", $file);
- 	warning("Cannot open file '%s'. ($!)", $file);
-     }
--    # Check for only owner has any access to config file
--    my ($dev, $ino, $mode, @statrest) = stat(FD);
--    if ($mode & 077) {                          
--	if (-f FD && (chmod 0600, $file)) {
--	    warning("file $file must be accessible only by its owner (fixed).");
--	} else {
--	    # fatal("file $file must be accessible only by its owner.");
--	    warning("file $file must be accessible only by its owner.");
--	}
--    }
- 
-     local $lineno       = 0;
-     my    $continuation = '';
Index: patches/patch-sample-etc_ddclient_conf
===================================================================
RCS file: patches/patch-sample-etc_ddclient_conf
diff -N patches/patch-sample-etc_ddclient_conf
--- patches/patch-sample-etc_ddclient_conf	11 Mar 2022 19:45:52 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: sample-etc_ddclient.conf
---- sample-etc_ddclient.conf.orig
-+++ sample-etc_ddclient.conf
-@@ -20,7 +20,7 @@ daemon=300				# check every 300 seconds
- syslog=yes				# log update msgs to syslog
- mail=root				# mail all msgs to root
- mail-failure=root			# mail failed update msgs to root
--pid=/var/run/ddclient.pid		# record PID in file.
-+pid=/var/run/ddclient/ddclient.pid	# record PID in file.
- ssl=yes					# use ssl-support.  Works with
- 					# ssl-library
- # postscript=script			# run script after updating.  The
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/ddclient/pkg/PLIST,v
diff -u -p -u -r1.15 PLIST
--- pkg/PLIST	8 Nov 2022 11:14:54 -0000	1.15
+++ pkg/PLIST	6 Jan 2026 22:17:42 -0000
@@ -1,24 +1,14 @@
 @newgroup _ddclient:750
-@newuser _ddclient:750:_ddclient::DynDNS Client:/nonexistent:/sbin/nologin
-sbin/ddclient
-share/doc/ddclient/
-share/doc/ddclient/README.cisco
-share/doc/ddclient/README.md
-share/doc/ddclient/README.ssl
+@newuser _ddclient:750:_ddclient:daemon:DynDNS Client:/nonexistent:/sbin/nologin
+@rcscript ${RCDIR}/ddclient
+bin/ddclient
 share/examples/ddclient/
-@sample ${SYSCONFDIR}/ddclient/
-share/examples/ddclient/sample-ddclient-wrapper.sh
-share/examples/ddclient/sample-etc_cron.d_ddclient
-share/examples/ddclient/sample-etc_ddclient.conf
-@mode 0640
+@sample ${SYSCONFDIR}/
+share/examples/ddclient/ddclient.conf
+@mode 640
 @group _ddclient
-@sample ${SYSCONFDIR}/ddclient/ddclient.conf
+@sample ${SYSCONFDIR}/ddclient.conf
 @mode
-@group
-share/examples/ddclient/sample-etc_dhclient-exit-hooks
-share/examples/ddclient/sample-etc_dhcpc_dhcpcd-eth0.exe
-share/examples/ddclient/sample-etc_ppp_ip-up.local
 @owner _ddclient
+@group
 @sample /var/db/ddclient/
-@owner
-@rcscript ${RCDIR}/ddclient
Index: pkg/ddclient.rc
===================================================================
RCS file: /cvs/ports/net/ddclient/pkg/ddclient.rc,v
diff -u -p -u -r1.7 ddclient.rc
--- pkg/ddclient.rc	11 Mar 2022 19:45:52 -0000	1.7
+++ pkg/ddclient.rc	6 Jan 2026 22:17:42 -0000
@@ -1,6 +1,6 @@
 #!/bin/ksh
 
-daemon="${TRUEPREFIX}/sbin/ddclient"
+daemon="${TRUEPREFIX}/bin/ddclient"
 daemon_user="_ddclient"
 
 . /etc/rc.d/rc.subr
Index: Makefile
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/Makefile,v
diff -u -p -r1.29 Makefile
--- Makefile	8 Nov 2022 11:14:54 -0000	1.29
+++ Makefile	7 Feb 2024 22:04:32 -0000
@@ -2,8 +2,7 @@ COMMENT=	update client for dynamic DNS s
 
 GH_ACCOUNT=	ddclient
 GH_PROJECT=	ddclient
-GH_TAGNAME=	v3.9.1
-REVISION=	0
+GH_TAGNAME=	v3.11.2
 
 CATEGORIES=	net
 
@@ -12,30 +11,24 @@ HOMEPAGE=	https://ddclient.net/
 # GPLv2+
 PERMIT_PACKAGE=	Yes
 
-RUN_DEPENDS=	devel/p5-Data-Validate-IP \
+CONFIGURE_STYLE=gnu autoreconf
+AUTOMAKE_VERSION=	1.11
+AUTOCONF_VERSION=	2.63
+
+MAKE_ENV=	runstatedir=/var/run/ddclient
+FAKE_FLAGS=	sysconfdir=${PREFIX}/share/examples/ddclient
+
+BUILD_DEPENDS=	net/curl
+RUN_DEPENDS=	net/curl \
 		net/p5-IO-Socket-INET6 \
 		security/p5-IO-Socket-SSL
 
-NO_BUILD=	Yes
-NO_TEST=	Yes
 PKG_ARCH=	*
 
-SAMPLES=	sample-etc_cron.d_ddclient sample-etc_ddclient.conf \
-		sample-etc_dhclient-exit-hooks sample-etc_dhcpc_dhcpcd-eth0.exe \
-		sample-etc_ppp_ip-up.local sample-ddclient-wrapper.sh
+SYSCONFDIR=	${BASESYSCONFDIR}/ddclient
 
 post-extract:
-	@sed -i -e "s,/var/cache/ddclient/,/var/db/ddclient/,g;" \
-		-e "s,/etc/ddclient/,${SYSCONFDIR}/ddclient/,g" \
-		${WRKSRC}/ddclient
-
-do-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/ddclient ${PREFIX}/sbin/
-	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/ddclient
-	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/ddclient
-	${INSTALL_DATA} ${WRKSRC}/README* ${PREFIX}/share/doc/ddclient
-.for i in ${SAMPLES}
-	${INSTALL_DATA} ${WRKSRC}/${i} ${PREFIX}/share/examples/ddclient
-.endfor
+	@sed -i -e "s,/cache/ddclient,/db/ddclient,g" \
+		${WRKSRC}/{ddclient.in,Makefile.am}
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/distinfo,v
diff -u -p -r1.12 distinfo
--- distinfo	17 Jan 2021 15:46:53 -0000	1.12
+++ distinfo	7 Feb 2024 21:58:20 -0000
@@ -1,2 +1,2 @@
-SHA256 (ddclient-3.9.1.tar.gz) = 5JaeFcxJH8Ur3NZJ1MKw5LG/DJ+duiNHHGNIcazFJHA=
-SIZE (ddclient-3.9.1.tar.gz) = 63469
+SHA256 (ddclient-3.11.2.tar.gz) = JDzYMqvTzdK0mQPhte1/RQ4tnEwOr4zk/mksJE06/Xc=
+SIZE (ddclient-3.11.2.tar.gz) = 278314
Index: patches/patch-ddclient
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/patches/patch-ddclient,v
diff -u -p -r1.4 patch-ddclient
--- patches/patch-ddclient	11 Mar 2022 19:45:52 -0000	1.4
+++ patches/patch-ddclient	20 Oct 2022 21:10:44 -0000
@@ -1,20 +0,0 @@
-Index: ddclient
---- ddclient.orig
-+++ ddclient
-@@ -1163,16 +1163,6 @@ sub _read_config {
- 	# fatal("Cannot open file '%s'. ($!)", $file);
- 	warning("Cannot open file '%s'. ($!)", $file);
-     }
--    # Check for only owner has any access to config file
--    my ($dev, $ino, $mode, @statrest) = stat(FD);
--    if ($mode & 077) {                          
--	if (-f FD && (chmod 0600, $file)) {
--	    warning("file $file must be accessible only by its owner (fixed).");
--	} else {
--	    # fatal("file $file must be accessible only by its owner.");
--	    warning("file $file must be accessible only by its owner.");
--	}
--    }
- 
-     local $lineno       = 0;
-     my    $continuation = '';
Index: patches/patch-sample-etc_ddclient_conf
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/patches/patch-sample-etc_ddclient_conf,v
diff -u -p -r1.3 patch-sample-etc_ddclient_conf
--- patches/patch-sample-etc_ddclient_conf	11 Mar 2022 19:45:52 -0000	1.3
+++ patches/patch-sample-etc_ddclient_conf	20 Oct 2022 21:10:44 -0000
@@ -1,12 +0,0 @@
-Index: sample-etc_ddclient.conf
---- sample-etc_ddclient.conf.orig
-+++ sample-etc_ddclient.conf
-@@ -20,7 +20,7 @@ daemon=300				# check every 300 seconds
- syslog=yes				# log update msgs to syslog
- mail=root				# mail all msgs to root
- mail-failure=root			# mail failed update msgs to root
--pid=/var/run/ddclient.pid		# record PID in file.
-+pid=/var/run/ddclient/ddclient.pid	# record PID in file.
- ssl=yes					# use ssl-support.  Works with
- 					# ssl-library
- # postscript=script			# run script after updating.  The
Index: pkg/PLIST
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/pkg/PLIST,v
diff -u -p -r1.15 PLIST
--- pkg/PLIST	8 Nov 2022 11:14:54 -0000	1.15
+++ pkg/PLIST	1 Mar 2024 09:10:14 -0000
@@ -1,24 +1,15 @@
 @newgroup _ddclient:750
-@newuser _ddclient:750:_ddclient::DynDNS Client:/nonexistent:/sbin/nologin
-sbin/ddclient
-share/doc/ddclient/
-share/doc/ddclient/README.cisco
-share/doc/ddclient/README.md
-share/doc/ddclient/README.ssl
+@newuser _ddclient:750:_ddclient:daemon:DynDNS Client:/nonexistent:/sbin/nologin
+@rcscript ${RCDIR}/ddclient
+bin/ddclient
 share/examples/ddclient/
-@sample ${SYSCONFDIR}/ddclient/
-share/examples/ddclient/sample-ddclient-wrapper.sh
-share/examples/ddclient/sample-etc_cron.d_ddclient
-share/examples/ddclient/sample-etc_ddclient.conf
-@mode 0640
-@group _ddclient
-@sample ${SYSCONFDIR}/ddclient/ddclient.conf
-@mode
-@group
-share/examples/ddclient/sample-etc_dhclient-exit-hooks
-share/examples/ddclient/sample-etc_dhcpc_dhcpcd-eth0.exe
-share/examples/ddclient/sample-etc_ppp_ip-up.local
+@sample ${SYSCONFDIR}/
 @owner _ddclient
 @sample /var/db/ddclient/
 @owner
-@rcscript ${RCDIR}/ddclient
+share/examples/ddclient/ddclient.conf
+@mode 640
+@group _ddclient
+@sample ${SYSCONFDIR}/ddclient.conf
+@group
+@mode
Index: pkg/ddclient.rc
===================================================================
RCS file: /home/anoncvs/cvs/ports/net/ddclient/pkg/ddclient.rc,v
diff -u -p -r1.7 ddclient.rc
--- pkg/ddclient.rc	11 Mar 2022 19:45:52 -0000	1.7
+++ pkg/ddclient.rc	20 Oct 2022 21:10:44 -0000
@@ -1,6 +1,6 @@
 #!/bin/ksh
 
-daemon="${TRUEPREFIX}/sbin/ddclient"
+daemon="${TRUEPREFIX}/bin/ddclient"
 daemon_user="_ddclient"
 
 . /etc/rc.d/rc.subr

Reply via email to