Thursday, October 20, 2022

[update] net/ddclient 3.10.0

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

No comments:

Post a Comment