Update to ddclient 3.10.0. * switched to auto(re)conf * killed the samples (they are mostly useless) * is there any reason we're placing the config file in a separate directory? I kept the /etc/ddclient/ddclient.conf dance for now, but maybe we can just go with /etc/ddclient.conf? * there is now the option to use curl. I think it's reasonable to not add a dependency. However, the path needs to be hardcoded. * there are now tests. One of them fails for a stupid reason.
Works for my use case (afraid.freedns.org). Please test with your configuration. Index: Makefile =================================================================== RCS file: /home/cvs/ports/net/ddclient/Makefile,v retrieving revision 1.28 diff -u -p -r1.28 Makefile --- Makefile 11 Mar 2022 19:45:52 -0000 1.28 +++ Makefile 20 Oct 2022 22:04:21 -0000 @@ -2,7 +2,7 @@ COMMENT= update client for dynamic DNS s GH_ACCOUNT= ddclient GH_PROJECT= ddclient -GH_TAGNAME= v3.9.1 +GH_TAGNAME= v3.10.0 CATEGORIES= net @@ -11,30 +11,26 @@ HOMEPAGE= https://ddclient.net/ # GPLv2+ PERMIT_PACKAGE= Yes -RUN_DEPENDS= devel/p5-Data-Validate-IP \ - net/p5-IO-Socket-INET6 \ +CONFIGURE_STYLE=gnu autoreconf +AUTOMAKE_VERSION= 1.11 +AUTOCONF_VERSION= 2.63 + +# hardcode path, but do not add a dependency +CONFIGURE_ENV= CURL=${LOCALBASE}/bin/curl + +MAKE_ENV= runstatedir=/var/run/ddclient +FAKE_FLAGS= sysconfdir=${PREFIX}/share/examples/ddclient + +RUN_DEPENDS= net/p5-IO-Socket-INET6 \ security/p5-IO-Socket-SSL +TEST_DEPENDS= devel/p5-Test-Warnings -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/cvs/ports/net/ddclient/distinfo,v retrieving revision 1.12 diff -u -p -r1.12 distinfo --- distinfo 17 Jan 2021 15:46:53 -0000 1.12 +++ distinfo 20 Oct 2022 19:36:46 -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.10.0.tar.gz) = NLbZqUYpCvCSfidGCpZa0BinxSViUGOw84DL3f/AHBs= +SIZE (ddclient-3.10.0.tar.gz) = 275494 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: /home/cvs/ports/net/ddclient/pkg/PLIST,v retrieving revision 1.14 diff -u -p -r1.14 PLIST --- pkg/PLIST 11 Mar 2022 19:45:52 -0000 1.14 +++ pkg/PLIST 20 Oct 2022 20:58:14 -0000 @@ -1,24 +1,15 @@ @newgroup _ddclient:750 @newuser _ddclient:750:_ddclient:daemon: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 +@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/cvs/ports/net/ddclient/pkg/ddclient.rc,v retrieving revision 1.7 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:05:04 -0000 @@ -1,6 +1,6 @@ #!/bin/ksh -daemon="${TRUEPREFIX}/sbin/ddclient" +daemon="${TRUEPREFIX}/bin/ddclient" daemon_user="_ddclient" . /etc/rc.d/rc.subr