ddclient
svn path=/nixpkgs/trunk/; revision=17181
This commit is contained in:
parent
94642f08a6
commit
5d6ee123ed
80
pkgs/tools/networking/ddclient/ddclient-foreground.patch
Normal file
80
pkgs/tools/networking/ddclient/ddclient-foreground.patch
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
diff -rc ddclient-3.8.0/ddclient ddclient-3.8.0-new/ddclient
|
||||||
|
*** ddclient-3.8.0/ddclient 2009-01-27 20:14:02.000000000 +0100
|
||||||
|
--- ddclient-3.8.0-new/ddclient 2009-09-16 12:56:43.720654327 +0200
|
||||||
|
***************
|
||||||
|
*** 307,313 ****
|
||||||
|
my %variables = (
|
||||||
|
'global-defaults' => {
|
||||||
|
'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')),
|
||||||
|
! 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef),
|
||||||
|
'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef),
|
||||||
|
'pid' => setv(T_FILE, 0, 0, 1, "", undef),
|
||||||
|
'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef),
|
||||||
|
--- 307,314 ----
|
||||||
|
my %variables = (
|
||||||
|
'global-defaults' => {
|
||||||
|
'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')),
|
||||||
|
! 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef),
|
||||||
|
! 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef),
|
||||||
|
'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef),
|
||||||
|
'pid' => setv(T_FILE, 0, 0, 1, "", undef),
|
||||||
|
'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef),
|
||||||
|
***************
|
||||||
|
*** 535,540 ****
|
||||||
|
--- 536,542 ----
|
||||||
|
"usage: ${program} [options]",
|
||||||
|
"options are:",
|
||||||
|
[ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ],
|
||||||
|
+ [ "foreground", "!", "-foreground : do not fork" ],
|
||||||
|
[ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ],
|
||||||
|
[ "server", "=s", "-server host : update DNS information on 'host'" ],
|
||||||
|
[ "protocol", "=s", "-protocol type : update protocol used" ],
|
||||||
|
***************
|
||||||
|
*** 623,629 ****
|
||||||
|
$SIG{'HUP'} = sub { $caught_hup = 1; };
|
||||||
|
$SIG{'TERM'} = sub { $caught_term = 1; };
|
||||||
|
$SIG{'KILL'} = sub { $caught_kill = 1; };
|
||||||
|
! if (opt('daemon') && !opt('force')) {
|
||||||
|
$SIG{'CHLD'} = 'IGNORE';
|
||||||
|
my $pid = fork;
|
||||||
|
if ($pid < 0) {
|
||||||
|
--- 625,634 ----
|
||||||
|
$SIG{'HUP'} = sub { $caught_hup = 1; };
|
||||||
|
$SIG{'TERM'} = sub { $caught_term = 1; };
|
||||||
|
$SIG{'KILL'} = sub { $caught_kill = 1; };
|
||||||
|
! # don't fork() if foreground or force is on
|
||||||
|
! if (opt('foreground') || opt('force')) {
|
||||||
|
! ;
|
||||||
|
! } elsif (opt('daemon')) {
|
||||||
|
$SIG{'CHLD'} = 'IGNORE';
|
||||||
|
my $pid = fork;
|
||||||
|
if ($pid < 0) {
|
||||||
|
***************
|
||||||
|
*** 633,644 ****
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
$SIG{'CHLD'} = 'DEFAULT';
|
||||||
|
- $opt{'syslog'} = 1;
|
||||||
|
open(STDOUT, ">/dev/null");
|
||||||
|
open(STDERR, ">/dev/null");
|
||||||
|
open(STDIN, "</dev/null");
|
||||||
|
!
|
||||||
|
! write_pid();
|
||||||
|
}
|
||||||
|
|
||||||
|
umask 077;
|
||||||
|
--- 638,650 ----
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
$SIG{'CHLD'} = 'DEFAULT';
|
||||||
|
open(STDOUT, ">/dev/null");
|
||||||
|
open(STDERR, ">/dev/null");
|
||||||
|
open(STDIN, "</dev/null");
|
||||||
|
! }
|
||||||
|
! if(opt('daemon')) {
|
||||||
|
! write_pid();
|
||||||
|
! $opt{'syslog'} = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
umask 077;
|
||||||
|
Only in ddclient-3.8.0-new: ddclient~
|
24
pkgs/tools/networking/ddclient/default.nix
Normal file
24
pkgs/tools/networking/ddclient/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{buildPerlPackage, fetchurl, perl}:
|
||||||
|
|
||||||
|
buildPerlPackage {
|
||||||
|
name = "ddclient-3.8.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://sourceforge/ddclient/ddclient-3.8.0.tar.gz ;
|
||||||
|
sha256 = "1cqz6fwx8bcl7zdrvm6irh3bzs8858gkyficww9simyjmz7z3w48";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./ddclient-foreground.patch ];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
touch Makefile.PL
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/bin
|
||||||
|
cp ddclient $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue