Download raw body.
[update] net/ddclient 4.0.0
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
[update] net/ddclient 4.0.0