diff --git a/dns/ddclient/Makefile b/dns/ddclient/Makefile index 6e088dad7e358..02280eb8e41dd 100644 --- a/dns/ddclient/Makefile +++ b/dns/ddclient/Makefile @@ -1,6 +1,6 @@ PORTNAME= ddclient DISTVERSIONPREFIX= v -DISTVERSION= 3.9.1 +DISTVERSION= 3.11.2 CATEGORIES= dns MAINTAINER= mjl@luckie.org.nz @@ -10,40 +10,33 @@ WWW= https://github.com/ddclient/ddclient LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS= p5-Data-Validate-IP>0:net-mgmt/p5-Data-Validate-IP +BUILD_DEPENDS= curl:ftp/curl +RUN_DEPENDS= p5-Data-Validate-IP>0:net-mgmt/p5-Data-Validate-IP \ + curl:ftp/curl -USES= perl5 tar:bzip2 +USES= autoreconf gmake perl5 tar:bzip2 +GNU_CONFIGURE= yes USE_GITHUB= yes USE_PERL5= run USE_RC_SUBR= ${PORTNAME} NO_ARCH= yes -NO_BUILD= yes SUB_FILES= pkg-message ddclient_force -PLIST_FILES= "@sample(,,600) etc/ddclient.conf.sample" \ - etc/periodic/daily/ddclient_force \ - sbin/ddclient -PORTDOCS= COPYRIGHT ChangeLog README.cisco README.ssl README.md \ +PORTDOCS= COPYRIGHT ChangeLog README.cisco README.md \ sample-etc_cron.d_ddclient sample-etc_dhclient-exit-hooks \ sample-etc_dhcpc_dhcpcd-eth0.exe sample-etc_ppp_ip-up.local -OPTIONS_DEFINE= SSL DOCS -OPTIONS_DEFAULT=SSL - -SSL_RUN_DEPENDS=ca_root_nss>0:security/ca_root_nss \ - p5-IO-Socket-SSL>0:security/p5-IO-Socket-SSL +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 - @${REINPLACE_CMD} -e '/^\#\!\/usr\/local\/local/d' \ - ${WRKSRC}/ddclient + s|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/ddclient.in do-install: - (cd ${WRKSRC} && ${INSTALL_DATA} sample-etc_ddclient.conf \ + (cd ${WRKSRC} && ${INSTALL_DATA} ddclient.conf \ ${STAGEDIR}${PREFIX}/etc/ddclient.conf.sample) (cd ${WRKSRC} && ${INSTALL_SCRIPT} ddclient \ ${STAGEDIR}${PREFIX}/sbin) diff --git a/dns/ddclient/distinfo b/dns/ddclient/distinfo index 49940f28bde98..e0c0c48332898 100644 --- a/dns/ddclient/distinfo +++ b/dns/ddclient/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1603527045 -SHA256 (ddclient-ddclient-v3.9.1_GH0.tar.gz) = e4969e15cc491fc52bdcd649d4c2b0e4b1bf0c9f9dba23471c634871acc52470 -SIZE (ddclient-ddclient-v3.9.1_GH0.tar.gz) = 63469 +TIMESTAMP = 1700741617 +SHA256 (ddclient-ddclient-v3.11.2_GH0.tar.gz) = 243cd832abd3cdd2b49903e1b5ed7f450e2d9c4c0eaf8ce4fe692c244d3afd77 +SIZE (ddclient-ddclient-v3.11.2_GH0.tar.gz) = 278314 diff --git a/dns/ddclient/files/patch-ddclient b/dns/ddclient/files/patch-ddclient deleted file mode 100644 index 45d08058741a4..0000000000000 --- a/dns/ddclient/files/patch-ddclient +++ /dev/null @@ -1,85 +0,0 @@ ---- ddclient.orig 2018-05-23 10:25:05 UTC -+++ ddclient -@@ -25,6 +25,7 @@ use Getopt::Long; - use Sys::Hostname; - use IO::Socket; - use Data::Validate::IP; -+use POSIX 'setsid'; - - my $version = "3.8.3"; - my $programd = $0; -@@ -33,9 +34,9 @@ my $program = $programd; - $program =~ s/d$//; - my $now = time; - my $hostname = hostname(); --my $etc = ($program =~ /test/i) ? './' : '/etc/ddclient/'; --my $cachedir = ($program =~ /test/i) ? './' : '/var/cache/ddclient/'; --my $savedir = ($program =~ /test/i) ? 'URL/' : '/tmp/'; -+my $etc = ($program =~ /test/i) ? './' : '%%ETCDIR%%/'; -+my $cachedir = ($program =~ /test/i) ? './' : '/var/tmp/'; -+my $savedir = ($program =~ /test/i) ? 'URL/' : '/var/tmp/'; - my $msgs = ''; - my $last_msgs = ''; - -@@ -43,7 +44,7 @@ use vars qw($file $lineno); - local $file = ''; - local $lineno = ''; - --$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/sbin:/bin:"; - - sub T_ANY {'any'}; - sub T_STRING {'string'}; -@@ -792,6 +793,9 @@ if (opt('foreground') || opt('force')) { - ; - } elsif (opt('daemon')) { - $SIG{'CHLD'} = 'IGNORE'; -+ chdir '/'; -+ open(STDIN, "/dev/null"); - my $pid = fork; - if ($pid < 0) { - print STDERR "${program}: can not fork ($!)\n"; -@@ -799,10 +803,9 @@ if (opt('foreground') || opt('force')) { - } elsif ($pid) { - exit 0; - } -+ setsid; - $SIG{'CHLD'} = 'DEFAULT'; -- open(STDOUT, ">/dev/null"); -- open(STDERR, ">/dev/null"); -- open(STDIN, "new( - PeerAddr => $peer, - PeerPort => $port, -+ SSL_ca_file => '%%LOCALBASE%%/share/certs/ca-root-nss.crt', - Proto => 'tcp', - MultiHomed => 1, - Timeout => opt('timeout'), diff --git a/dns/ddclient/files/patch-ddclient.in b/dns/ddclient/files/patch-ddclient.in new file mode 100644 index 0000000000000..0dc1a45418c6f --- /dev/null +++ b/dns/ddclient/files/patch-ddclient.in @@ -0,0 +1,77 @@ +--- ddclient.in.orig 2023-10-25 19:22:47 UTC ++++ ddclient.in +@@ -20,6 +20,7 @@ use File::Path qw(make_path); + 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 { + return $subst; + } + +-my $etc = subst_var('@sysconfdir@', '/etc/ddclient'); +-my $cachedir = subst_var('@localstatedir@', '/var') . '/cache/ddclient'; +-my $savedir = '/tmp'; ++my $etc = subst_var('@sysconfdir@', '/usr/local/etc'); ++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 = ''; + +-$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:"; + + our %globals; + my ($result, %config, %cache); +@@ -1131,6 +1132,9 @@ sub main { + ; + } elsif (opt('daemon')) { + $SIG{'CHLD'} = 'IGNORE'; ++ chdir '/'; ++ open(STDIN, "/dev/null"); + my $pid = fork; + if ($pid < 0) { + print STDERR "${program}: can not fork ($!)\n"; +@@ -1138,10 +1142,9 @@ sub main { + } elsif ($pid) { + exit 0; + } ++ setsid; + $SIG{'CHLD'} = 'DEFAULT'; +- open(STDOUT, ">/dev/null"); +- open(STDERR, ">/dev/null"); +- open(STDIN, "