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
