From 40108876ec16de8155b975aeeab1b7d6caed5f98 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Mon, 17 Dec 2007 23:43:37 +0000 Subject: [PATCH] added latest version of ddclient, including my patch for everydns.net-support --- net-dns/ddclient/Manifest | 44 +++++++++ net-dns/ddclient/ddclient-3.7.3-r1.ebuild | 78 +++++++++++++++ .../files/ddclient-daemon0inconfig.diff | 15 +++ .../ddclient/files/ddclient-everydns.patch | 96 +++++++++++++++++++ net-dns/ddclient/files/ddclient-gentoo.diff | 11 +++ net-dns/ddclient/files/ddclient-mss1.diff | 11 +++ .../files/ddclient-reasonable-security.patch | 21 ++++ net-dns/ddclient/files/ddclient.confd | 2 + net-dns/ddclient/files/ddclient.init | 30 ++++++ net-dns/ddclient/files/ddclient.initd | 52 ++++++++++ net-dns/ddclient/files/ddclient.rc6 | 30 ++++++ .../ddclient/files/digest-ddclient-3.7.3-r1 | 3 + 12 files changed, 393 insertions(+) create mode 100644 net-dns/ddclient/Manifest create mode 100644 net-dns/ddclient/ddclient-3.7.3-r1.ebuild create mode 100644 net-dns/ddclient/files/ddclient-daemon0inconfig.diff create mode 100644 net-dns/ddclient/files/ddclient-everydns.patch create mode 100644 net-dns/ddclient/files/ddclient-gentoo.diff create mode 100644 net-dns/ddclient/files/ddclient-mss1.diff create mode 100644 net-dns/ddclient/files/ddclient-reasonable-security.patch create mode 100644 net-dns/ddclient/files/ddclient.confd create mode 100644 net-dns/ddclient/files/ddclient.init create mode 100644 net-dns/ddclient/files/ddclient.initd create mode 100755 net-dns/ddclient/files/ddclient.rc6 create mode 100644 net-dns/ddclient/files/digest-ddclient-3.7.3-r1 diff --git a/net-dns/ddclient/Manifest b/net-dns/ddclient/Manifest new file mode 100644 index 0000000..06c26ad --- /dev/null +++ b/net-dns/ddclient/Manifest @@ -0,0 +1,44 @@ +AUX ddclient-daemon0inconfig.diff 581 RMD160 727f1fdf3c85abac760be6e24563f7717eccfc58 SHA1 af6e1951a5be2566606c474fde1cde0b76e090d0 SHA256 73a69e09f79d7980f042c95bdd01832fa7749555ed237de824f19c45bb99793a +MD5 8547bd5960dc49726d62e1699742e474 files/ddclient-daemon0inconfig.diff 581 +RMD160 727f1fdf3c85abac760be6e24563f7717eccfc58 files/ddclient-daemon0inconfig.diff 581 +SHA256 73a69e09f79d7980f042c95bdd01832fa7749555ed237de824f19c45bb99793a files/ddclient-daemon0inconfig.diff 581 +AUX ddclient-everydns.patch 3454 RMD160 e9ea63e8a055e7c6070c3b0b0b4dbc8627a162fd SHA1 b9ca9ba95f2412e81c8c24b0105278750dbb46b2 SHA256 72efe00568fe3691824e0335509a9302e739558c1955bcca1c1b9e6296b824e9 +MD5 07c235b68dec6ab6fcd44d0bcc4389aa files/ddclient-everydns.patch 3454 +RMD160 e9ea63e8a055e7c6070c3b0b0b4dbc8627a162fd files/ddclient-everydns.patch 3454 +SHA256 72efe00568fe3691824e0335509a9302e739558c1955bcca1c1b9e6296b824e9 files/ddclient-everydns.patch 3454 +AUX ddclient-gentoo.diff 422 RMD160 1611b60836c0d688fdacbcbf727f6b59e66ab7fd SHA1 aa49e555729addc6aa9a56df96df627ba8c489c9 SHA256 12230aedb86d138f5d75b42ba9980350ea50a95642bef34e8bc8ec5fdd690f58 +MD5 b05219cfd27200ba052fcada5fde3430 files/ddclient-gentoo.diff 422 +RMD160 1611b60836c0d688fdacbcbf727f6b59e66ab7fd files/ddclient-gentoo.diff 422 +SHA256 12230aedb86d138f5d75b42ba9980350ea50a95642bef34e8bc8ec5fdd690f58 files/ddclient-gentoo.diff 422 +AUX ddclient-mss1.diff 415 RMD160 a92c7c7cd9dfa2b8c2cdb095d18f46e85041d181 SHA1 34f35e5db3ea54675ced5a4072920127d95d7ec1 SHA256 380e8dc24ee89360b249a9f8f05cd022d763d6bc8fdea736a571377788dd6e39 +MD5 71bb38899e4dd28eb29fdab1f29c8d26 files/ddclient-mss1.diff 415 +RMD160 a92c7c7cd9dfa2b8c2cdb095d18f46e85041d181 files/ddclient-mss1.diff 415 +SHA256 380e8dc24ee89360b249a9f8f05cd022d763d6bc8fdea736a571377788dd6e39 files/ddclient-mss1.diff 415 +AUX ddclient-reasonable-security.patch 858 RMD160 0be9d1a9412225361f6352322ee5af6279730393 SHA1 171f220000c5ada3208f9f5765ef3347c7cbde7d SHA256 4ae67c01b41e0ae2f52b60e43072a872373201cc81f92108cd674b89eabda044 +MD5 115dd5b54b4b9d303fca3bc1c57166ef files/ddclient-reasonable-security.patch 858 +RMD160 0be9d1a9412225361f6352322ee5af6279730393 files/ddclient-reasonable-security.patch 858 +SHA256 4ae67c01b41e0ae2f52b60e43072a872373201cc81f92108cd674b89eabda044 files/ddclient-reasonable-security.patch 858 +AUX ddclient.confd 97 RMD160 dab278d7ed0ab8fe9f01c072be549d532f20b5d4 SHA1 90ede573df78aa242b9fec7f6d9f05f0c937fb2b SHA256 7a05a1c016dcffa2033da00e8a58072d0df33c31bc8b96170929032567cb44ab +MD5 4588890d33cb09e7a77aa1de987603b3 files/ddclient.confd 97 +RMD160 dab278d7ed0ab8fe9f01c072be549d532f20b5d4 files/ddclient.confd 97 +SHA256 7a05a1c016dcffa2033da00e8a58072d0df33c31bc8b96170929032567cb44ab files/ddclient.confd 97 +AUX ddclient.init 732 RMD160 53c6674ff80bf0d222178bde2a2d28a3cd9ee635 SHA1 3b65b01e7a7e1d85843f75c701fbb43d5d124ccd SHA256 2e7aecd2ffe978006632d78bb3a7c5eede2490f6af769399c2bb35c531e11146 +MD5 edb34c213f0018c0a0a8e6e09f83e45e files/ddclient.init 732 +RMD160 53c6674ff80bf0d222178bde2a2d28a3cd9ee635 files/ddclient.init 732 +SHA256 2e7aecd2ffe978006632d78bb3a7c5eede2490f6af769399c2bb35c531e11146 files/ddclient.init 732 +AUX ddclient.initd 1227 RMD160 033f85c34d5126ce259687c565e16e78f01c4a6e SHA1 cc5e7fff44cba718090178db4cea756727007796 SHA256 9b2767317351437dcf71c59ef4ab15af0e4953465b17774980449885059aa925 +MD5 466822e6e98da73817c645272da9986e files/ddclient.initd 1227 +RMD160 033f85c34d5126ce259687c565e16e78f01c4a6e files/ddclient.initd 1227 +SHA256 9b2767317351437dcf71c59ef4ab15af0e4953465b17774980449885059aa925 files/ddclient.initd 1227 +AUX ddclient.rc6 718 RMD160 8faeb700539275e8ede58c857981b858e36c32fe SHA1 514ff1f62675f75203751770d808750a645c2df4 SHA256 8e94f53e278146665cf4f24427c84799767affef3742540a943b7379678171ad +MD5 938d0005b167a69deca19f3b6de7738f files/ddclient.rc6 718 +RMD160 8faeb700539275e8ede58c857981b858e36c32fe files/ddclient.rc6 718 +SHA256 8e94f53e278146665cf4f24427c84799767affef3742540a943b7379678171ad files/ddclient.rc6 718 +DIST ddclient-3.7.3.tar.gz 42034 RMD160 df40a809132102b9326fa7e9d735723e1de8ed37 SHA1 aa4368a58e5b344bffd6561fc7fed304c007fe84 SHA256 f1f57fdca170d9349cb99a3b8b33672d983e0e41c43c2bbb940927380ee12962 +EBUILD ddclient-3.7.3-r1.ebuild 2410 RMD160 fb93c0d02b31024477a92bde52446237d580feda SHA1 434a77b141cd950cddf35b013e6fa79f574b1eba SHA256 843ddef8a25b1259e65818df166e86d58a9f984cbb4408872d158f77dce2bbf1 +MD5 b21f12c9ac47740faeea0703235304ed ddclient-3.7.3-r1.ebuild 2410 +RMD160 fb93c0d02b31024477a92bde52446237d580feda ddclient-3.7.3-r1.ebuild 2410 +SHA256 843ddef8a25b1259e65818df166e86d58a9f984cbb4408872d158f77dce2bbf1 ddclient-3.7.3-r1.ebuild 2410 +MD5 1b4f422c68a82d37cae0bd29b9b9b993 files/digest-ddclient-3.7.3-r1 241 +RMD160 b56a10473b3c84b5fd9937aeef576520d7581f09 files/digest-ddclient-3.7.3-r1 241 +SHA256 456facaf438e3d532f5bcc7c9501ae66e5c6384d05cce25fd3c41f24d9ffbe89 files/digest-ddclient-3.7.3-r1 241 diff --git a/net-dns/ddclient/ddclient-3.7.3-r1.ebuild b/net-dns/ddclient/ddclient-3.7.3-r1.ebuild new file mode 100644 index 0000000..42c373a --- /dev/null +++ b/net-dns/ddclient/ddclient-3.7.3-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/ddclient-3.7.3-r1.ebuild,v 1.7 2007/12/08 11:52:07 armin76 Exp $ + +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="ssl" + +RDEPEND=">=dev-lang/perl-5.1 + ssl? ( dev-perl/IO-Socket-SSL )" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${PN}-reasonable-security.patch" + epatch "${FILESDIR}/${PN}-everydns.patch" + + einfo "Applying version string fix" + if ! sed -i "s/3\.7\.1/$PV/" "$PN"; then + eerror "Failed to update ddclient's internal version string" + eerror 'ddclient 3.7.2 will erroneously report a version of 3.7.1' + fi + + # Remove pid line, because it is specified in /etc/conf.d/ddclient + einfo "Applying PID setup" + if ! sed -i "/^pid=*/d" "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 + + if ! use ssl; then + einfo "Disabling ssl per your useflags" + sed -i "/^ssl=*/d" "sample-etc_${PN}.conf" || + eerror "Failed to remove ssl from /etc/$PN/$PN.conf" + fi +} + +src_install() { + dosbin ${PN} || die "dosbin failed" + dodoc README* Change* COPYRIGHT sample* + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + keepdir /var/{cache,run}/${PN} + + # Filename of sample conf - use live filename if available + local sample=${PN}.conf + [[ -e "${ROOT}/etc/${PN}/${sample}" ]] && sample="${sample}.sample" + insinto /etc/${PN} + insopts -m 0640 -o root -g ${PN} + newins sample-etc_${PN}.conf "${sample}" || die "newins conf failed" +} + +pkg_postinst() { + # ensure the directories are owned by the user:group for this pkg + chown ${PN}:${PN} /var/{cache,run}/${PN} + + 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-daemon0inconfig.diff b/net-dns/ddclient/files/ddclient-daemon0inconfig.diff new file mode 100644 index 0000000..732a6e9 --- /dev/null +++ b/net-dns/ddclient/files/ddclient-daemon0inconfig.diff @@ -0,0 +1,15 @@ +--- ddclient.orig 2005-01-16 15:18:36.485003496 -0500 ++++ ddclient 2005-01-16 15:19:15.628052848 -0500 +@@ -924,6 +924,12 @@ + my $def = $variables{'merged'}{$k}; + my $ovalue = define($globals{$k}, $def->{'default'}); + my $value = check_value($ovalue, $def); ++ ++ # we should really be allowed to set daemon to 0 in the config file ++ if ($k eq 'daemon' && $ovalue == 0) { ++ $value = $ovalue; ++ } ++ + if ($def->{'required'} && !defined $value) { + $value = default($k); + warning("'%s=%s' is an invalid %s. (using default of %s)", $k, $ovalue, $def->{'type'}, $value); diff --git a/net-dns/ddclient/files/ddclient-everydns.patch b/net-dns/ddclient/files/ddclient-everydns.patch new file mode 100644 index 0000000..3d15175 --- /dev/null +++ b/net-dns/ddclient/files/ddclient-everydns.patch @@ -0,0 +1,96 @@ +Index: ddclient +=================================================================== +--- ddclient (Revision 52) ++++ ddclient (Arbeitskopie) +@@ -464,6 +464,16 @@ + $variables{'service-common-defaults'}, + ), + }, ++ 'everydns' => { ++ 'updateable' => undef, ++ 'update' => \&nic_everydns_update, ++ 'examples' => \&nic_everydns_examples, ++ 'variables' => merge( ++ { 'server' => setv(T_FQDNP, 1, 0, 1, 'dyn.everydns.net', undef) }, ++ { 'min-interval' => setv(T_DELAY, 0, 0, 1, 0, interval('15m')) }, ++ $variables{'service-common-defaults'}, ++ ), ++ }, + ); + $variables{'merged'} = merge($variables{'global-defaults'}, + $variables{'service-common-defaults'}, +@@ -3122,8 +3132,74 @@ + } + } + } ++###################################################################### ++## nic_everydns_examples ++###################################################################### ++sub nic_everydns_examples { ++ return </dev/null + eend $? +} + +stop() { + ebegin "Stopping DDClient" + start-stop-daemon --stop --quiet --name ddclient + eend $? +} diff --git a/net-dns/ddclient/files/ddclient.initd b/net-dns/ddclient/files/ddclient.initd new file mode 100644 index 0000000..db58c23 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.initd @@ -0,0 +1,52 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/files/ddclient.initd,v 1.2 2007/08/08 03:17:32 uberlord 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 +} + +checkconfig() { + local conf="/etc/ddclient/ddclient.conf" + + if [ -e "${conf}" ] ; then + if [ -n "$(find /etc/ddclient -maxdepth 1 -name ddclient.conf -perm +0004)" ] ; then + eerror "${conf} must not be world-readable. Run e.g.:" + eerror " chmod 640 ${conf}" + eerror " chown root:ddclient ${conf}" + return 1 + fi + else + eerror "/etc/ddclient/ddclient.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 \ + --chuid 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 $? +} diff --git a/net-dns/ddclient/files/ddclient.rc6 b/net-dns/ddclient/files/ddclient.rc6 new file mode 100755 index 0000000..5796287 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.rc6 @@ -0,0 +1,30 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/ddclient/files/ddclient.rc6,v 1.4 2004/07/14 23:21:59 agriffis Exp $ + +depend() { + need net +} + +checkconfig() { + if [ ! -e /etc/ddclient/ddclient.conf ] ; then + eerror "You need a /etc/ddclient/ddclient.conf file to run ddclient" + eerror "There is a sample file in /etc/ddclient/" + return 1 + fi + +} + +start() { + checkconfig || return 1 + ebegin "Starting DDClient" + start-stop-daemon --start --quiet --exec /usr/sbin/ddclient + eend $? +} + +stop() { + ebegin "Stopping DDClient" + start-stop-daemon --stop --quiet --pidfile /var/run/ddclient.pid + eend $? +} diff --git a/net-dns/ddclient/files/digest-ddclient-3.7.3-r1 b/net-dns/ddclient/files/digest-ddclient-3.7.3-r1 new file mode 100644 index 0000000..6cd8d0a --- /dev/null +++ b/net-dns/ddclient/files/digest-ddclient-3.7.3-r1 @@ -0,0 +1,3 @@ +MD5 5459ae165e74437587b6e84225a7fbf0 ddclient-3.7.3.tar.gz 42034 +RMD160 df40a809132102b9326fa7e9d735723e1de8ed37 ddclient-3.7.3.tar.gz 42034 +SHA256 f1f57fdca170d9349cb99a3b8b33672d983e0e41c43c2bbb940927380ee12962 ddclient-3.7.3.tar.gz 42034