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.new b/network/ddclient/rc.ddclient similarity index 100% rename from network/ddclient/rc.ddclient.new rename to network/ddclient/rc.ddclient 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.