summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron W. Swenson <titanofold@gentoo.org>2011-08-23 20:52:03 +0000
committerAaron W. Swenson <titanofold@gentoo.org>2011-08-23 20:52:03 +0000
commit35bf3f5ad5d4e14fb21f00cc0d7a12f661dd66cf (patch)
tree9a76072ef8fde2cd0d1e73a9848d247e3360aca8 /net-dns
parentDisplay a message about the name change of the executable. (diff)
downloadgentoo-2-35bf3f5ad5d4e14fb21f00cc0d7a12f661dd66cf.tar.gz
gentoo-2-35bf3f5ad5d4e14fb21f00cc0d7a12f661dd66cf.tar.bz2
gentoo-2-35bf3f5ad5d4e14fb21f00cc0d7a12f661dd66cf.zip
Fixes bug 380351
(Portage version: 2.1.10.3/cvs/Linux i686)
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/ddclient/ChangeLog8
-rw-r--r--net-dns/ddclient/ddclient-3.8.1-r2.ebuild70
-rw-r--r--net-dns/ddclient/files/ddclient.initd-r244
3 files changed, 121 insertions, 1 deletions
diff --git a/net-dns/ddclient/ChangeLog b/net-dns/ddclient/ChangeLog
index 0a3218fffc40..8a96069dd8d4 100644
--- a/net-dns/ddclient/ChangeLog
+++ b/net-dns/ddclient/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-dns/ddclient
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/ChangeLog,v 1.42 2011/08/13 00:47:23 titanofold Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/ChangeLog,v 1.43 2011/08/23 20:52:03 titanofold Exp $
+
+*ddclient-3.8.1-r2 (23 Aug 2011)
+
+ 23 Aug 2011; Aaron W. Swenson <titanofold@gentoo.org>
+ +ddclient-3.8.1-r2.ebuild, +files/ddclient.initd-r2:
+ Fixes bug 380351
*ddclient-3.8.1-r1 (13 Aug 2011)
diff --git a/net-dns/ddclient/ddclient-3.8.1-r2.ebuild b/net-dns/ddclient/ddclient-3.8.1-r2.ebuild
new file mode 100644
index 000000000000..e445424a449f
--- /dev/null
+++ b/net-dns/ddclient/ddclient-3.8.1-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/ddclient-3.8.1-r2.ebuild,v 1.1 2011/08/23 20:52:03 titanofold Exp $
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Perl updater client for dynamic DNS services"
+HOMEPAGE="http://ddclient.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="hardened ssl"
+
+RDEPEND=">=dev-lang/perl-5.1
+ hardened? ( sys-apps/iproute2 )
+ ssl? ( dev-perl/IO-Socket-SSL )
+"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ # Remove pid line, because it is specified in /etc/conf.d/ddclient
+ einfo "Applying PID setup"
+ if ! sed '/^pid/d' -i "sample-etc_${PN}.conf"; then
+ eerror "Failed to remove pid from /etc/${PN}/${PN}.conf"
+ eerror "Please set the PID in /etc/conf.d/${PN}, not /etc/${PN}/${PN}.conf"
+ fi
+
+ use hardened && epatch "${FILESDIR}/iproute2.patch"
+
+ if ! use ssl; then
+ einfo "Disabling SSL per your USE flags"
+ sed '/^ssl/,/ssl-library$/d' -i "sample-etc_${PN}.conf" || \
+ eerror "Failed to remove ssl from /etc/$PN/$PN.conf"
+ fi
+}
+
+src_install() {
+ dosbin ${PN}
+ dodoc Change* COPYRIGHT README* RELEASENOTE sample*
+
+ newinitd "${FILESDIR}"/${PN}.initd-r2 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+
+ keepdir /var/{cache,run}/${PN}
+ fowners -R ${PN}:${PN} /var/{cache,run}/${PN}
+
+ insinto /etc/${PN}
+ insopts -m 0600 -o ${PN} -g ${PN}
+ newins sample-etc_${PN}.conf ${PN}.conf
+ newins sample-etc_${PN}.conf ${PN}.conf.sample
+ fowners -R ${PN}:${PN} /etc/${PN}
+}
+
+pkg_postinst() {
+ use ssl && return
+ ewarn
+ ewarn "$PN will not have support for ssl, which means your dynamic DNS account"
+ ewarn "information -- including your password -- will be sent over the Internet in the"
+ ewarn "clear. To secure your information, add 'ssl' to your USEflags,"
+ ewarn "emerge -N ddclient, and add 'ssl=yes' to /etc/$PN/$PN.conf"
+ ewarn
+}
diff --git a/net-dns/ddclient/files/ddclient.initd-r2 b/net-dns/ddclient/files/ddclient.initd-r2
new file mode 100644
index 000000000000..af7bd98d2b43
--- /dev/null
+++ b/net-dns/ddclient/files/ddclient.initd-r2
@@ -0,0 +1,44 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/files/ddclient.initd-r2,v 1.1 2011/08/23 20:52:03 titanofold Exp $
+
+# Default location if not specified in /etc/conf.d/ddclient
+PIDFILE=${PIDFILE:-/var/run/ddclient/ddclient.pid}
+
+depend() {
+ before cron
+ need net
+ use dns logger squid
+}
+
+checkconfig() {
+ local conf="/etc/ddclient/ddclient.conf"
+
+ if [ -e "${conf}" ] ; then
+ if [ -n "$(find /etc/ddclient -maxdepth 1 -name ddclient.conf -perm +0044)" ] ; then
+ eerror "${conf} must not be world or group readable. Try:"
+ eerror " chmod 600 ${conf}"
+ eerror " chown ddclient:ddclient ${conf}"
+ return 1
+ fi
+ else
+ eerror "${conf} is needed to run ddclient"
+ eerror "There is a sample file in /etc/ddclient/"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --user ddclient --exec /usr/sbin/ddclient \
+ --name ddclient --pidfile "${PIDFILE}" -- -pid="${PIDFILE}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --signal USR1 --pidfile "${PIDFILE}"
+ eend $?
+}