summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
authorGreg Frost <gregfrost1@bigpond.com>2009-10-19 12:41:34 (GMT)
committerGreg Frost <gregfrost1@bigpond.com>2009-10-19 12:41:34 (GMT)
commit601cb5987fe81d489ba4c1bafd96be123f3e7053 (patch)
tree1270812576f2a2ef319dfe20743f0919759be81a /abs
parente7669898217ae0c57b2798568964e1bb0a71813c (diff)
downloadlinhes_pkgbuild-601cb5987fe81d489ba4c1bafd96be123f3e7053.zip
linhes_pkgbuild-601cb5987fe81d489ba4c1bafd96be123f3e7053.tar.gz
linhes_pkgbuild-601cb5987fe81d489ba4c1bafd96be123f3e7053.tar.bz2
ddclient LinHES-config runit-scripts: add dyndns support
Diffstat (limited to 'abs')
-rw-r--r--abs/core-testing/LinHES-config/PKGBUILD3
-rwxr-xr-xabs/core-testing/LinHES-config/mv_ddns.py25
-rwxr-xr-xabs/core-testing/LinHES-config/systemconfig.py3
-rwxr-xr-xabs/core-testing/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/ddclient/run8
-rw-r--r--abs/extra-testing/ddclient/ChangeLog22
-rw-r--r--abs/extra-testing/ddclient/PKGBUILD30
-rw-r--r--abs/extra-testing/ddclient/ddclient-foreground.patch47
-rw-r--r--abs/extra-testing/ddclient/ddclient.conf.d2
-rw-r--r--abs/extra-testing/ddclient/ddclient.conf.dynamic.dyndns.sample162
-rw-r--r--abs/extra-testing/ddclient/ddclient.install41
-rw-r--r--abs/extra-testing/ddclient/ddclient.rc37
12 files changed, 261 insertions, 121 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index 1e61fdf..cb8f8f3 100644
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
pkgver=2.1
-pkgrel=1
+pkgrel=2
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev )
pkgdesc="Install and configure your system"
depends=(bc libstatgrab mysql-python expect curl dnsutils parted
@@ -33,6 +33,7 @@ source=(mv_install.py
README
mv_advanced.py
mv_common.py
+ mv_ddns.py
mv_ir.py
mv_misc.py
mv_network.py
diff --git a/abs/core-testing/LinHES-config/mv_ddns.py b/abs/core-testing/LinHES-config/mv_ddns.py
new file mode 100755
index 0000000..8c05fbe
--- /dev/null
+++ b/abs/core-testing/LinHES-config/mv_ddns.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+import logging, mv_common
+import os, re
+
+config_file = "mv_config"
+
+def setup_ddns(systemconfig):
+ logging.info("____Start of setup_ddns____")
+
+ if systemconfig["DDnsEnable"] == "1":
+ logging.debug(" Enabling DDNS")
+ mv_common.cp_and_log("/etc/ddclient/ddclient.conf.dynamic.dyndns.sample",
+ "/etc/ddclient/ddclient.conf")
+ cmd = ''' sed -i -e "s/your-dynamic-dyndns-login/%s/g" /etc/ddclient/ddclient.conf''' %(systemconfig["DDnslogin"])
+ mv_common.runcmd(cmd)
+ cmd = ''' sed -i -e "s/your-dynamic-dyndns-password/%s/g" /etc/ddclient/ddclient.conf''' %(systemconfig["DDnspassword"])
+ mv_common.runcmd(cmd)
+ cmd = ''' sed -i -e "s/your-dynamic-dyndns-host/%s/g" /etc/ddclient/ddclient.conf''' %(systemconfig["DDnshostname"])
+ mv_common.runcmd(cmd)
+ mv_common.add_service("ddclient")
+ else:
+ logging.debug(" Disabling DDNS")
+ mv_common.remove_service("ddclient")
+
+ logging.info("__End of ddns\n")
diff --git a/abs/core-testing/LinHES-config/systemconfig.py b/abs/core-testing/LinHES-config/systemconfig.py
index c559e09..28e2e7a 100755
--- a/abs/core-testing/LinHES-config/systemconfig.py
+++ b/abs/core-testing/LinHES-config/systemconfig.py
@@ -147,7 +147,8 @@ def main(argv):
mv_webuser.setup_web_auth(systemconfig["UseMythWEB_auth"])
if cmdmodule["ddns"]:
- print " LOOK FOR DDNS"
+ import mv_ddns
+ mv_ddns.setup_ddns(systemconfig)
if cmdmodule["screensaver"]:
import mv_screensaver
diff --git a/abs/core-testing/runit-scripts/PKGBUILD b/abs/core-testing/runit-scripts/PKGBUILD
index 14297fd..3407502 100755
--- a/abs/core-testing/runit-scripts/PKGBUILD
+++ b/abs/core-testing/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=1.8.0
-pkgrel=96
+pkgrel=97
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core-testing/runit-scripts/runitscripts/services/ddclient/run b/abs/core-testing/runit-scripts/runitscripts/services/ddclient/run
new file mode 100755
index 0000000..c5488f6
--- /dev/null
+++ b/abs/core-testing/runit-scripts/runitscripts/services/ddclient/run
@@ -0,0 +1,8 @@
+#!/bin/sh
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting ddclient"
+
+
+exec /usr/sbin/ddclient -foreground &> /var/log/ddclient.log
diff --git a/abs/extra-testing/ddclient/ChangeLog b/abs/extra-testing/ddclient/ChangeLog
deleted file mode 100644
index 4520b69..0000000
--- a/abs/extra-testing/ddclient/ChangeLog
+++ /dev/null
@@ -1,22 +0,0 @@
-2008-08-07 Abhishek Dasgupta <abhidg@gmail.com>
-
- * ddclient 3.7.3-2
- * added /etc/conf.d/ddclient for modifying
- daemon poll frequency. This overrides the
- setting specified in /etc/ddclient/ddclient.conf
- when ddclient is called as an rc script.
-
-2007-08-08 Alessio 'mOLOk' Bolognino <themolok@gmail.com>
-
- * ddclient-3.7.3-1
- * version bump
- * GPL -> GPL2
- * shortened pkgdesc
-
-2007-07-02 tardo <tardo@nagi-fanboi.net>
-
- * Built for x86_64
-
-2007-06-29 Georg Grabler (STiAT) <ggrabler@gmail.com>
-
- * Version Bump to 3.7.2
diff --git a/abs/extra-testing/ddclient/PKGBUILD b/abs/extra-testing/ddclient/PKGBUILD
index 121d2c5..f283cb9 100644
--- a/abs/extra-testing/ddclient/PKGBUILD
+++ b/abs/extra-testing/ddclient/PKGBUILD
@@ -3,33 +3,31 @@
# Contributor: David Rosenstrauch <darose@darose.net>
pkgname=ddclient
-pkgver=3.7.3
-pkgrel=2
+pkgver=3.8.0
+pkgrel=1
pkgdesc="Update dynamic DNS entries for accounts on many dynamic DNS services."
arch=('i686' 'x86_64')
url="http://ddclient.sourceforge.net/"
license=('GPL2')
depends=('perl' 'perl-io-socket-ssl')
-backup=('etc/ddclient/ddclient.conf' 'etc/conf.d/ddclient')
-install=ddclient.install
-source=(http://downloads.sourceforge.net/sourceforge/ddclient/ddclient-$pkgver.tar.bz2 ddclient.rc ddclient.conf.d)
+backup=('etc/ddclient.conf')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ ddclient.conf.dynamic.dyndns.sample
+ ddclient-foreground.patch)
build() {
- cd ${srcdir}/ddclient-${pkgver}
+ cd ${srcdir}/$pkgname-${pkgver}
+ patch < ${srcdir}/ddclient-foreground.patch
# core files
install -D -m755 ddclient ${pkgdir}/usr/sbin/ddclient
- install -D -m755 ${srcdir}/ddclient.rc ${pkgdir}/etc/rc.d/ddclient
- install -D -m600 sample-etc_ddclient.conf ${pkgdir}/etc/ddclient/ddclient.conf
- install -D -m644 ${srcdir}/ddclient.conf.d ${pkgdir}/etc/conf.d/ddclient
+ install -D -m600 sample-etc_ddclient.conf ${pkgdir}/etc/ddclient/ddclient.conf.sample
+ install -D -m600 ${srcdir}/ddclient.conf.dynamic.dyndns.sample ${pkgdir}/etc/ddclient/
install -d ${pkgdir}/var/cache/ddclient
# additional instructions, sample configs
- install -D -m644 README ${pkgdir}/etc/ddclient/samples/README
- install -D -m644 sample-etc_cron.d_ddclient ${pkgdir}/etc/ddclient/samples/sample-etc_cron.d_ddclient
- install -D -m644 sample-etc_dhcpc_dhcpcd-eth0.exe ${pkgdir}/etc/ddclient/samples/sample-etc_dhcpc_dhcpcd-eth0.exe
- install -D -m644 sample-etc_ppp_ip-up.local ${pkgdir}/etc/ddclient/samples/sample-etc_ppp_ip-up.local
+ install -D -m644 README ${pkgdir}/etc/ddclient/README
}
-md5sums=('f6a55bc68cf73ffe7e80d2fa5cd44f85'
- '7035bf8132f3517a59167f61ee5e8b90'
- 'b8f39c82827776da948b76ef83544d33')
+md5sums=('6cac7a5eb1da781bfd4d98cef0b21f8e'
+ '4194825b9b4a7fcc1c57c2f5a4f6162b'
+ 'd8ffc95f98f9afcb4a06a1e192220e35')
diff --git a/abs/extra-testing/ddclient/ddclient-foreground.patch b/abs/extra-testing/ddclient/ddclient-foreground.patch
new file mode 100644
index 0000000..a814ede
--- /dev/null
+++ b/abs/extra-testing/ddclient/ddclient-foreground.patch
@@ -0,0 +1,47 @@
+--- ../ddclient-orig/ddclient 2009-10-19 22:45:15.000000000 +1030
++++ ddclient 2009-10-19 22:50:11.000000000 +1030
+@@ -307,6 +307,7 @@
+ 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),
+@@ -535,6 +536,7 @@
+ "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,7 +625,10 @@
+ $SIG{'HUP'} = sub { $caught_hup = 1; };
+ $SIG{'TERM'} = sub { $caught_term = 1; };
+ $SIG{'KILL'} = sub { $caught_kill = 1; };
+-if (opt('daemon') && !opt('force')) {
++# 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,12 +638,15 @@
+ exit 0;
+ }
+ $SIG{'CHLD'} = 'DEFAULT';
+- $opt{'syslog'} = 1;
+ open(STDOUT, ">/dev/null");
+ open(STDERR, ">/dev/null");
+ open(STDIN, "</dev/null");
++}
+
++# write out the pid file if we're daemon'ized
++if(opt('daemon')) {
+ write_pid();
++ $opt{'syslog'} = 1;
+ }
+
+ umask 077;
diff --git a/abs/extra-testing/ddclient/ddclient.conf.d b/abs/extra-testing/ddclient/ddclient.conf.d
deleted file mode 100644
index 8b754a3..0000000
--- a/abs/extra-testing/ddclient/ddclient.conf.d
+++ /dev/null
@@ -1,2 +0,0 @@
-# Parameters passed to ddclient
-EXTRA_ARGS="-daemon 300"
diff --git a/abs/extra-testing/ddclient/ddclient.conf.dynamic.dyndns.sample b/abs/extra-testing/ddclient/ddclient.conf.dynamic.dyndns.sample
new file mode 100644
index 0000000..a492c8b
--- /dev/null
+++ b/abs/extra-testing/ddclient/ddclient.conf.dynamic.dyndns.sample
@@ -0,0 +1,162 @@
+######################################################################
+##
+## $Id: sample-etc_ddclient.conf 102 2008-11-01 11:23:03Z wimpunk $
+##
+## Define default global variables with lines like:
+## var=value [, var=value]*
+## These values will be used for each following host unless overridden
+## with a local variable definition.
+##
+## Define local variables for one or more hosts with:
+## var=value [, var=value]* host.and.domain[,host2.and.domain...]
+##
+## Lines can be continued on the following line by ending the line
+## with a \
+##
+##
+## Warning: not all supported routers or dynamic DNS services
+## are mentioned here.
+##
+######################################################################
+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.
+ssl=yes # use ssl-support. Works with
+ # ssl-library
+# postscript=script # run script after updating. The
+ # new IP is added as argument.
+#
+#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
+#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
+#use=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW
+#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW
+#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW
+#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW
+#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro
+#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router
+#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL Router
+#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect Remote 812
+#use=e-tech, fw=192.168.1.1:80 # via E-tech Router
+#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL Router
+#
+#fw-login=admin, fw-password=XXXXXX # FW login and password
+#
+## To obtain an IP address from FW status page (using fw-login, fw-password)
+#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
+#
+## To obtain an IP address from Web status page (using the proxy if defined)
+#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
+#
+#use=ip, ip=127.0.0.1 # via static IP's
+#use=if, if=eth0 # via interfaces
+use=web # via web
+#
+#protocol=dyndns2 # default protocol
+#proxy=fasthttp.sympatico.ca:80 # default proxy
+#server=members.dyndns.org # default server
+#server=members.dyndns.org:8245 # default server (bypassing proxies)
+
+login=your-dynamic-dyndns-login # default login
+password=your-dynamic-dyndns-password # default password
+#mx=mx.for.your.host # default MX
+#backupmx=yes|no # host is primary MX?
+#wildcard=yes|no # add wildcard CNAME?
+
+##
+## dyndns.org dynamic addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+server=members.dyndns.org, \
+protocol=dyndns2 \
+your-dynamic-dyndns-host
+
+##
+## dyndns.org static addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+# static=yes, \
+# server=members.dyndns.org, \
+# protocol=dyndns2 \
+# your-static-host.dyndns.org
+
+##
+##
+## dyndns.org custom addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+# custom=yes, \
+# server=members.dyndns.org, \
+# protocol=dyndns2 \
+# your-domain.top-level,your-other-domain.top-level
+
+##
+## ZoneEdit (zoneedit.com)
+##
+# server=dynamic.zoneedit.com, \
+# protocol=zoneedit1, \
+# login=your-zoneedit-login, \
+# password=your-zoneedit-password \
+# your.any.domain,your-2nd.any.dom
+
+##
+## EasyDNS (easydns.com)
+##
+# server=members.easydns.com, \
+# protocol=easydns, \
+# login=your-easydns-login, \
+# password=your-easydns-password \
+# your.any.domain,your-2nd.any.domain
+
+##
+## Hammernode (hn.org) dynamic addresses
+##
+# server=dup.hn.org, \
+# protocol=hammernode1, \
+# login=your-hn-login, \
+# password=your-hn-password \
+# your-hn-host.hn.org,your-2nd-hn-host.hn.org
+
+##
+## dslreports.com dynamic-host monitoring
+##
+# server=members.dslreports.com \
+# protocol=dslreports1, \
+# login=dslreports-login, \
+# password=dslreports-password \
+# dslreports-unique-id
+
+##
+## OrgDNS.org account-configuration
+##
+# use=web, web=members.orgdns.org/nic/ip
+# server=www.orgdns.org \
+# protocol=dyndns2 \
+# login=yourLoginName \
+# password=yourPassword \
+# yourSubdomain.orgdns.org
+
+##
+## dnspark.com
+## (supports variables: mx, mxpri)
+##
+# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:'
+# protocol=dnspark, \
+# server=www.dnspark.com, \
+# your-host.dnspark.com
+
+##
+## NameCheap (namecheap.com)
+##
+# protocol=namecheap, \
+# server=dynamicdns.park-your-domain.com, \
+# login=my-namecheap.com-login, \
+# password=my-namecheap.com-password \
+# myhost.namecheap.com
diff --git a/abs/extra-testing/ddclient/ddclient.install b/abs/extra-testing/ddclient/ddclient.install
deleted file mode 100644
index d6edc0e..0000000
--- a/abs/extra-testing/ddclient/ddclient.install
+++ /dev/null
@@ -1,41 +0,0 @@
-# arg 1: the new package version
-post_install() {
-cat << EOM
-
-If you want to use ddclient with dhcpcd, cron or pppd,
-see /etc/ddclient/samples for further instructions.
-
-If you have ddclient in the DAEMONS array of /etc/rc.conf:
-- Change /etc/conf.d/ddclient according to your needs.
-- This setting OVERRIDES any setting in
- /etc/ddclient/ddclient.conf
-
-EOM
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
-
-if [ -f /etc/ddclient/ddclient.cache ]; then
- echo -n "Moving ddclient.cache from /etc/ddclient/ to /var/cache/ddclient/."
- mv /etc/ddclient/ddclient.cache /var/cache/ddclient/
- echo " (done)"
-fi
-
-if [ "$(vercmp $2 3.7.3-2)" -lt 0 ]; then
-cat << EOM
-
-If you have ddclient in the DAEMONS array of /etc/rc.conf:
-- Change /etc/conf.d/ddclient according to your needs.
-- This setting OVERRIDES any setting in
- /etc/ddclient/ddclient.conf
-
-EOM
-fi
-
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/extra-testing/ddclient/ddclient.rc b/abs/extra-testing/ddclient/ddclient.rc
deleted file mode 100644
index a9093f7..0000000
--- a/abs/extra-testing/ddclient/ddclient.rc
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-[ -f /etc/conf.d/ddclient ] && . /etc/conf.d/ddclient
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/ddclient`
-case "$1" in
- start)
- stat_busy "Starting ddclient"
- [ -z "$PID" ] && /usr/sbin/ddclient ${EXTRA_ARGS}
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon ddclient
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping ddclient"
- [ -n "$PID" ] && kill -15 $PID >/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon ddclient
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac