From ec410d942c11c4cb2ef9b8a7c280f5b6736308ee Mon Sep 17 00:00:00 2001 From: Niels Horn Date: Sat, 3 Sep 2011 09:18:14 -0400 Subject: network/ddclient: Updated for version 3.8.1. Signed-off-by: dsomero --- network/ddclient/README | 18 ++++++++------- network/ddclient/ddclient.SlackBuild | 44 +++++++++++++++++++++++++----------- network/ddclient/ddclient.info | 6 ++--- network/ddclient/doinst.sh | 28 +++++++++++------------ network/ddclient/rc.ddclient | 43 +++++++++++++++++++++++++++++++++++ network/ddclient/rc.ddclient.new | 43 ----------------------------------- network/ddclient/slack-desc | 18 +++++++-------- 7 files changed, 109 insertions(+), 91 deletions(-) create mode 100644 network/ddclient/rc.ddclient delete mode 100644 network/ddclient/rc.ddclient.new (limited to 'network') diff --git a/network/ddclient/README b/network/ddclient/README index 326eb91cb8..5cd1662dd3 100644 --- a/network/ddclient/README +++ b/network/ddclient/README @@ -1,9 +1,11 @@ -DDclient is a small but full featured Perl client used to update -dynamic DNS entries for accounts on Dynamic DNS Network Services -free DNS service. It has the capability to update more than only -dyndns and it can fetch your WAN-ipaddress on a few different ways. +DDclient is a small but full featured Perl client used to update dynamic +DNS entries for accounts on Dynamic DNS Network Services free DNS service. +It has the capability to update more than only dyndns and it can fetch your +WAN-ipaddress in a few different ways. -Supported features include: operating as a daemon, manual and -automatic updates, static and dynamic updates, optimized updates for -multiple addresses, MX, wildcards, abuse avoidance, retrying failed -updates, and sending update status to syslog and through e-mail. +Supported features include: operating as a daemon, manual and automatic +updates, static and dynamic updates, optimized updates for multiple +addresses, MX, wildcards, abuse avoidance, retrying failed updates, and +sending update status to syslog and through e-mail. + +This requires perl-IO-Socket-SSL to run. diff --git a/network/ddclient/ddclient.SlackBuild b/network/ddclient/ddclient.SlackBuild index 0c9ec3fbfe..1341939ec4 100644 --- a/network/ddclient/ddclient.SlackBuild +++ b/network/ddclient/ddclient.SlackBuild @@ -1,22 +1,36 @@ #!/bin/sh # Slackware build script for ddclient -# Written by Iskar Enev + +# Copyright 2008-2010 Iskar Enev +# Copyright 2011 Niels Horn, Rio de Janeiro, RJ, Brazil +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Revision date 2011/08/14 PRGNAM=ddclient -VERSION=3.8.0 -BUILD=${BUILD:-2} +VERSION=${VERSION:-3.8.1} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$( uname -m ) ;; - esac -fi +ARCH=noarch # it's only a perl script CWD=$(pwd) TMP=${TMP:-/tmp/SBo} @@ -46,11 +60,15 @@ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh +# Install startup script mkdir -p $PKG/etc/rc.d -cat $CWD/rc.ddclient.new > $PKG/etc/rc.d/rc.ddclient.new +cat $CWD/rc.ddclient > $PKG/etc/rc.d/rc.ddclient.new +# Copy configuration and make it readable only by root (it will probably +# contain passwords). See also doinst.sh mkdir -p $PKG/etc/ddclient cat sample-etc_ddclient.conf > $PKG/etc/ddclient/ddclient.conf.new +chmod 0600 $PKG/etc/ddclient/ddclient.conf.new # Add the cache dir mkdir -p $PKG/var/cache/ddclient diff --git a/network/ddclient/ddclient.info b/network/ddclient/ddclient.info index edb96ff581..94a68aca56 100644 --- a/network/ddclient/ddclient.info +++ b/network/ddclient/ddclient.info @@ -1,8 +1,8 @@ PRGNAM="ddclient" -VERSION="3.8.0" +VERSION="3.8.1" HOMEPAGE="http://ddclient.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/ddclient/ddclient-3.8.0.tar.bz2" -MD5SUM="6cac7a5eb1da781bfd4d98cef0b21f8e" +DOWNLOAD="http://downloads.sourceforge.net/ddclient/ddclient-3.8.1.tar.bz2" +MD5SUM="7fa417bc65f8f0e6ce78418a4f631988" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Niels Horn" diff --git a/network/ddclient/doinst.sh b/network/ddclient/doinst.sh index f8d7b3ab46..4fe10ee869 100644 --- a/network/ddclient/doinst.sh +++ b/network/ddclient/doinst.sh @@ -12,24 +12,22 @@ config() { # Otherwise, we leave the .new copy for the admin to consider... } -# Keep same perms on rc.ddclient.new: -if [ -e etc/rc.d/rc.ddclient ]; then - cp -a etc/rc.d/rc.ddclient etc/rc.d/rc.ddclient.new.incoming - cat etc/rc.d/rc.ddclient.new > etc/rc.d/rc.ddclient.new.incoming - mv etc/rc.d/rc.ddclient.new.incoming etc/rc.d/rc.ddclient.new -fi -config etc/rc.d/rc.ddclient.new +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +preserve_perms etc/rc.d/rc.ddclient.new # Keep same perms on ddclient.conf.new: # Normally, we don't bother with this for config files, but this one # should usually be readable only by root, so that's how we'll install # it. However, if the admin changes it, we don't want to undo that. -if [ -e etc/ddclient/ddclient.conf ]; then - cp -a etc/ddclient/ddclient.conf etc/ddclient/ddclient.conf.new.incoming - cat etc/ddclient/ddclient.conf.new > etc/ddclient/ddclient.conf.new.incoming - mv etc/ddclient/ddclient.conf.new.incoming etc/ddclient/ddclient.conf.new - else - chmod 0600 etc/ddclient/ddclient.conf.new -fi -config etc/ddclient/ddclient.conf.new +preserve_perms etc/ddclient/ddclient.conf.new diff --git a/network/ddclient/rc.ddclient b/network/ddclient/rc.ddclient new file mode 100644 index 0000000000..cb88a8dd26 --- /dev/null +++ b/network/ddclient/rc.ddclient @@ -0,0 +1,43 @@ +#!/bin/sh +# +# ddclient This shell script takes care of starting and stopping +# ddclient. +# +# ddclient provides support for updating dynamic DNS services. + +[ -f /etc/ddclient/ddclient.conf ] || exit 1 + +case "$1" in + start) + echo -n "Starting ddclient: " + ddclient + echo + ;; + stop) + echo -n "Shutting down ddclient: " + #kill $( ps -aef | grep ddclient | grep sleeping | awk '{print$2}' ) + kill -9 $( cat /var/run/ddclient.pid ) + echo + ;; + restart) + $0 stop + $0 start + ;; + status) + pids=$( ps -aef | grep ddclient | grep sleeping | awk '{print$2}' ) + if test "$pids" + then + for p in $pids + do + echo "ddclient (pid $p) is running." + done + else + echo "ddclient is stopped." + fi + ;; + *) + echo "Usage: ddclient {start|stop|restart|status}" + exit 1 +esac + +exit 0 diff --git a/network/ddclient/rc.ddclient.new b/network/ddclient/rc.ddclient.new deleted file mode 100644 index cb88a8dd26..0000000000 --- a/network/ddclient/rc.ddclient.new +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# ddclient This shell script takes care of starting and stopping -# ddclient. -# -# ddclient provides support for updating dynamic DNS services. - -[ -f /etc/ddclient/ddclient.conf ] || exit 1 - -case "$1" in - start) - echo -n "Starting ddclient: " - ddclient - echo - ;; - stop) - echo -n "Shutting down ddclient: " - #kill $( ps -aef | grep ddclient | grep sleeping | awk '{print$2}' ) - kill -9 $( cat /var/run/ddclient.pid ) - echo - ;; - restart) - $0 stop - $0 start - ;; - status) - pids=$( ps -aef | grep ddclient | grep sleeping | awk '{print$2}' ) - if test "$pids" - then - for p in $pids - do - echo "ddclient (pid $p) is running." - done - else - echo "ddclient is stopped." - fi - ;; - *) - echo "Usage: ddclient {start|stop|restart|status}" - exit 1 -esac - -exit 0 diff --git a/network/ddclient/slack-desc b/network/ddclient/slack-desc index ae7bac692c..6cdb647fc2 100644 --- a/network/ddclient/slack-desc +++ b/network/ddclient/slack-desc @@ -5,15 +5,15 @@ # exactly 11 lines for the formatting to be correct. It's also customary to # leave one space after the ':'. - |-----handy-ruler----------------------------------------------------| + |-----handy-ruler------------------------------------------------------| ddclient: DDclient (Perl based DynDNS update client) -ddclient: -ddclient: DDclient is a small but full featured Perl client used to update -ddclient: dynamic DNS entries for accounts on Dynamic DNS Network Services -ddclient: free DNS service. It has the capability to update more than only -ddclient: dyndns and it can fetch your WAN-ipaddress on a few different ways. -ddclient: -ddclient: Supported features include: operating as a daemon, manual and +ddclient: +ddclient: DDclient is a small but full featured Perl client used to update +ddclient: dynamic DNS entries for accounts on Dynamic DNS Network Services +ddclient: free DNS service. It has the capability to update more than only +ddclient: dyndns and it can fetch your WAN-ipaddress in a few different ways. +ddclient: +ddclient: Supported features include: operating as a daemon, manual and ddclient: automatic updates, static and dynamic updates, optimized updates for -ddclient: multiple addresses, MX, wildcards, abuse avoidance, retrying failed +ddclient: multiple addresses, MX, wildcards, abuse avoidance, retrying failed ddclient: updates, and sending update status to syslog and through e-mail. -- cgit v1.2.3