Date: Sun, 25 Jan 2026 20:18:23 +0000 From: Vladimir Druzenko <vvd@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: mjl <mjl@luckie.org.nz> Subject: git: 5a132e3b9a83 - main - dns/ddclient: Update 3.11.2 => 4.0.0 Message-ID: <69767a8f.2580b.15706911@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=5a132e3b9a8382c7ebdccf876c728f6f34d31e40 commit 5a132e3b9a8382c7ebdccf876c728f6f34d31e40 Author: mjl <mjl@luckie.org.nz> AuthorDate: 2026-01-25 20:11:25 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2026-01-25 20:11:25 +0000 dns/ddclient: Update 3.11.2 => 4.0.0 Changelog: https://github.com/ddclient/ddclient/releases/tag/v4.0.0 This release moves the default configuration file location from /usr/local/etc/ to /usr/local/etc/ddclient/. Please move your existing ddclient.conf to the new location before restarting ddclient. - Fix warnings from portclippy. - Parametrize ddclient with PORTNAME. - Simplify and optimize do-install. - Move docs installation to do-install-DOCS-on. PR: 292669 Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org> --- UPDATING | 12 ++++++++ dns/ddclient/Makefile | 31 ++++++++++---------- dns/ddclient/distinfo | 6 ++-- dns/ddclient/files/ddclient.in | 2 +- dns/ddclient/files/patch-configure.ac | 6 ++-- dns/ddclient/files/patch-ddclient.in | 55 +++++++++++++++++------------------ dns/ddclient/files/pkg-message.in | 2 +- dns/ddclient/pkg-plist | 2 +- 8 files changed, 62 insertions(+), 54 deletions(-) diff --git a/UPDATING b/UPDATING index 8292c0d09f3a..5436434bf7a8 100644 --- a/UPDATING +++ b/UPDATING @@ -5,6 +5,18 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20260125: + AFFECTS: users of dns/ddclient + AUTHOR: mjl@luckie.org.nz + + dns/ddclient has been updated to v4.0.0. + + This release moves the default configuration file location from + /usr/local/etc/ to /usr/local/etc/ddclient/. Please move your + existing ddclient.conf to the new location before restarting ddclient. + + See details at https://github.com/ddclient/ddclient/releases/tag/v4.0.0 + 20260115: AFFECTS: users of lang/cython* and USE_PYTHON=cython* AUTHOR: sunpoet@FreeBSD.org diff --git a/dns/ddclient/Makefile b/dns/ddclient/Makefile index 02280eb8e41d..81108d1e6127 100644 --- a/dns/ddclient/Makefile +++ b/dns/ddclient/Makefile @@ -1,6 +1,6 @@ PORTNAME= ddclient DISTVERSIONPREFIX= v -DISTVERSION= 3.11.2 +DISTVERSION= 4.0.0 CATEGORIES= dns MAINTAINER= mjl@luckie.org.nz @@ -15,13 +15,14 @@ RUN_DEPENDS= p5-Data-Validate-IP>0:net-mgmt/p5-Data-Validate-IP \ curl:ftp/curl USES= autoreconf gmake perl5 tar:bzip2 -GNU_CONFIGURE= yes USE_GITHUB= yes USE_PERL5= run USE_RC_SUBR= ${PORTNAME} +GNU_CONFIGURE= yes + NO_ARCH= yes -SUB_FILES= pkg-message ddclient_force +SUB_FILES= ${PORTNAME}_force pkg-message PORTDOCS= COPYRIGHT ChangeLog README.cisco README.md \ sample-etc_cron.d_ddclient sample-etc_dhclient-exit-hooks \ @@ -32,20 +33,18 @@ OPTIONS_DEFINE= DOCS post-patch: @${GREP} -lR '/usr' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \ 's|/usr|${PREFIX}|g' - @${REINPLACE_CMD} -e 's|%%ETCDIR%%|${PREFIX}/etc| ; \ - s|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/ddclient.in + @${REINPLACE_CMD} -e 's|%%ETCDIR%%|${ETCDIR}| ; \ + s|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/${PORTNAME}.in do-install: - (cd ${WRKSRC} && ${INSTALL_DATA} ddclient.conf \ - ${STAGEDIR}${PREFIX}/etc/ddclient.conf.sample) - (cd ${WRKSRC} && ${INSTALL_SCRIPT} ddclient \ - ${STAGEDIR}${PREFIX}/sbin) - @${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily - (cd ${WRKDIR} && ${INSTALL_SCRIPT} ddclient_force \ - ${STAGEDIR}${PREFIX}/etc/periodic/daily/ddclient_force) - @${MKDIR} ${STAGEDIR}${DOCSDIR} -.for i in ${PORTDOCS} - (cd ${WRKSRC} && ${INSTALL_DATA} ${i} ${STAGEDIR}${DOCSDIR}) -.endfor + ${MKDIR} ${STAGEDIR}${ETCDIR} \ + ${STAGEDIR}${PREFIX}/etc/periodic/daily + ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.conf ${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.sample + ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}_force ${STAGEDIR}${PREFIX}/etc/periodic/daily + +do-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .include <bsd.port.mk> diff --git a/dns/ddclient/distinfo b/dns/ddclient/distinfo index e0c0c4833289..1fff6193601b 100644 --- a/dns/ddclient/distinfo +++ b/dns/ddclient/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1700741617 -SHA256 (ddclient-ddclient-v3.11.2_GH0.tar.gz) = 243cd832abd3cdd2b49903e1b5ed7f450e2d9c4c0eaf8ce4fe692c244d3afd77 -SIZE (ddclient-ddclient-v3.11.2_GH0.tar.gz) = 278314 +TIMESTAMP = 1769214197 +SHA256 (ddclient-ddclient-v4.0.0_GH0.tar.gz) = 4b37c99ac0011102d7db62f1ece7ff899b06df3d4b172e312703931a3c593c93 +SIZE (ddclient-ddclient-v4.0.0_GH0.tar.gz) = 301499 diff --git a/dns/ddclient/files/ddclient.in b/dns/ddclient/files/ddclient.in index 611579ce68cd..0a6a4c1bb52c 100644 --- a/dns/ddclient/files/ddclient.in +++ b/dns/ddclient/files/ddclient.in @@ -18,7 +18,7 @@ name="ddclient" rcvar=ddclient_enable command="%%PREFIX%%/sbin/${name}" -required_files="%%PREFIX%%/etc/${name}.conf" +required_files="%%ETCDIR%%/${name}.conf" load_rc_config ${name} diff --git a/dns/ddclient/files/patch-configure.ac b/dns/ddclient/files/patch-configure.ac index cb7a06828d7a..05184a5c2ef6 100644 --- a/dns/ddclient/files/patch-configure.ac +++ b/dns/ddclient/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2023-11-23 12:06:21 UTC +--- configure.ac.orig 2025-01-19 19:29:22 UTC +++ configure.ac -@@ -11,7 +11,7 @@ AC_REQUIRE_AUX_FILE([tap-driver.sh]) +@@ -20,7 +20,7 @@ AC_REQUIRE_AUX_FILE([tap-driver.sh]) # tap-driver.sh, so build-aux/tap-driver.sh is checked in to keep the # above AC_REQUIRE_AUX_FILE line from causing configure to complain # about a mising file if the user has Automake 1.11.) @@ -8,4 +8,4 @@ +AM_INIT_AUTOMAKE([1.11 -Wall foreign subdir-objects parallel-tests]) AM_SILENT_RULES - AC_PROG_MKDIR_P + m4_define([CONFDIR_DEFAULT], [${sysconfdir}/AC_PACKAGE_NAME]) diff --git a/dns/ddclient/files/patch-ddclient.in b/dns/ddclient/files/patch-ddclient.in index 0dc1a45418c6..5ae91bd2bae8 100644 --- a/dns/ddclient/files/patch-ddclient.in +++ b/dns/ddclient/files/patch-ddclient.in @@ -1,36 +1,34 @@ ---- ddclient.in.orig 2023-10-25 19:22:47 UTC +--- ddclient.in.orig 2026-01-25 18:18:45 UTC +++ ddclient.in -@@ -20,6 +20,7 @@ use File::Path qw(make_path); +@@ -21,6 +21,7 @@ use Sys::Hostname; use File::Temp; use Getopt::Long; use Sys::Hostname; +use POSIX 'setsid'; - use version 0.77; our $VERSION = version->declare('3.11.1'); - my $version = $VERSION->stringify(); -@@ -39,9 +40,9 @@ sub subst_var { + # Declare the ddclient version number. + # +@@ -132,8 +133,8 @@ sub subst_var { return $subst; } --my $etc = subst_var('@sysconfdir@', '/etc/ddclient'); +-my $etc = subst_var('@confdir@', '/etc/ddclient'); -my $cachedir = subst_var('@localstatedir@', '/var') . '/cache/ddclient'; --my $savedir = '/tmp'; -+my $etc = subst_var('@sysconfdir@', '/usr/local/etc'); ++my $etc = subst_var('@confdir@', '%%ETCDIR%%'); +my $cachedir = subst_var('@localstatedir@', '/var') . '/tmp'; -+my $savedir = '/var/tmp'; - if ($program =~ /test/i) { - $etc = '.'; - $cachedir = '.'; -@@ -59,7 +60,7 @@ use vars qw($file $lineno); - local $file = ''; - local $lineno = ''; + our @curl = (subst_var('@CURL@', 'curl')); + + our $emailbody = ''; +@@ -147,7 +148,7 @@ our $_l = ddclient::Logger->new(); + # local _l = pushlogctx('additional context goes here'); + our $_l = ddclient::Logger->new(); -$ENV{'PATH'} = (exists($ENV{PATH}) ? "$ENV{PATH}:" : "") . "/sbin:/usr/sbin:/bin:/usr/bin:/etc:/usr/lib:"; -+$ENV{'PATH'} = (exists($ENV{PATH}) ? "$ENV{PATH}:" : "") . "/sbin:/usr/local/sbin:/bin:"; ++$ENV{'PATH'} = (exists($ENV{PATH}) ? "$ENV{PATH}:" : "") . "/sbin:%%LOCALBASE%%/sbin:/bin:"; our %globals; - my ($result, %config, %cache); -@@ -1131,6 +1132,9 @@ sub main { + our %config; +@@ -1469,16 +1470,18 @@ sub main { ; } elsif (opt('daemon')) { $SIG{'CHLD'} = 'IGNORE'; @@ -39,8 +37,7 @@ + open(STDOUT, ">/dev/null"); my $pid = fork; if ($pid < 0) { - print STDERR "${program}: can not fork ($!)\n"; -@@ -1138,10 +1142,9 @@ sub main { + fatal("failed to fork: %s", $!); } elsif ($pid) { exit 0; } @@ -53,25 +50,25 @@ write_pid(); } -@@ -2164,17 +2167,17 @@ sub pipecmd { +@@ -2374,17 +2377,17 @@ sub pipecmd { ## execute the command. local *FD; if (!open(FD, $cmd)) { -- printf STDERR "%s: cannot execute command %s.\n", $program, $cmd; -+ warning("$program: cannot execute command %s.\n", $cmd); +- warning('cannot execute command'); ++ warning("$program: cannot execute command %s.", $cmd); } elsif ($stdin && (!print FD "$stdin\n")) { -- printf STDERR "%s: failed writting to %s.\n", $program, $cmd; -+ warning("$program: failed writing to %s.\n", $cmd); +- warning('failed writing to stdin'); ++ warning("$program: failed writing to stdin %s.", $cmd); close(FD); } elsif (!close(FD)) { -- printf STDERR "%s: failed closing %s.(%s)\n", $program, $cmd, $@; -+ warning("$program: failed closing %s.($@)\n", $cmd); +- warning("failed closing stdin: $@"); ++ warning("$program: failed closing stdin: %s. ($@)", $cmd); } elsif (opt('exec') && $?) { -- printf STDERR "%s: failed %s. (%s)\n", $program, $cmd, $@; -+ warning("$program: failed %s. ($@)\n", $cmd); +- warning("failed: $@"); ++ warning("$program: failed: %s. ($@)", $cmd); } else { $ok = 1; diff --git a/dns/ddclient/files/pkg-message.in b/dns/ddclient/files/pkg-message.in index 226e65398842..56324bacde89 100644 --- a/dns/ddclient/files/pkg-message.in +++ b/dns/ddclient/files/pkg-message.in @@ -3,7 +3,7 @@ message: <<EOM To configure ddclient, edit the following file: - %%PREFIX%%/etc/ddclient.conf + %%ETCDIR%%/ddclient.conf If you would like to run ddclient as a daemon add the following line to /etc/rc.conf diff --git a/dns/ddclient/pkg-plist b/dns/ddclient/pkg-plist index f86be8afa6e1..a3c68f67526f 100644 --- a/dns/ddclient/pkg-plist +++ b/dns/ddclient/pkg-plist @@ -1,3 +1,3 @@ -@sample(,,600) etc/ddclient.conf.sample +@sample(,,600) etc/ddclient/ddclient.conf.sample etc/periodic/daily/ddclient_force sbin/ddclienthome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69767a8f.2580b.15706911>
