From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- net-dns/ddclient/Manifest | 2 + net-dns/ddclient/ddclient-3.8.1-r5.ebuild | 56 +++++++++++++++++++++ net-dns/ddclient/ddclient-3.8.2.ebuild | 47 ++++++++++++++++++ net-dns/ddclient/files/cmd-over-cfg.patch | 11 ++++ .../files/ddclient-reasonable-security.patch | 21 ++++++++ net-dns/ddclient/files/ddclient.confd | 2 + net-dns/ddclient/files/ddclient.confd-r1 | 2 + net-dns/ddclient/files/ddclient.initd | 52 +++++++++++++++++++ net-dns/ddclient/files/ddclient.initd-r1 | 44 ++++++++++++++++ net-dns/ddclient/files/ddclient.initd-r2 | 44 ++++++++++++++++ net-dns/ddclient/files/ddclient.initd-r3 | 58 ++++++++++++++++++++++ net-dns/ddclient/files/ddclient.initd-r4 | 36 ++++++++++++++ net-dns/ddclient/files/ddclient.service | 12 +++++ net-dns/ddclient/files/iproute2.patch | 30 +++++++++++ net-dns/ddclient/metadata.xml | 14 ++++++ 15 files changed, 431 insertions(+) create mode 100644 net-dns/ddclient/Manifest create mode 100644 net-dns/ddclient/ddclient-3.8.1-r5.ebuild create mode 100644 net-dns/ddclient/ddclient-3.8.2.ebuild create mode 100644 net-dns/ddclient/files/cmd-over-cfg.patch 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.confd-r1 create mode 100644 net-dns/ddclient/files/ddclient.initd create mode 100644 net-dns/ddclient/files/ddclient.initd-r1 create mode 100644 net-dns/ddclient/files/ddclient.initd-r2 create mode 100644 net-dns/ddclient/files/ddclient.initd-r3 create mode 100644 net-dns/ddclient/files/ddclient.initd-r4 create mode 100644 net-dns/ddclient/files/ddclient.service create mode 100644 net-dns/ddclient/files/iproute2.patch create mode 100644 net-dns/ddclient/metadata.xml (limited to 'net-dns/ddclient') diff --git a/net-dns/ddclient/Manifest b/net-dns/ddclient/Manifest new file mode 100644 index 000000000000..b59c6787ac7b --- /dev/null +++ b/net-dns/ddclient/Manifest @@ -0,0 +1,2 @@ +DIST ddclient-3.8.1.tar.gz 48600 SHA256 f22ac7b0ec78e310d7b88a1cf636e5c00360b2ed9c087f231b3522ef3e6295f2 SHA512 d6722582dffe0c5a806176f24bd3d9117bc1210ea0137aa92138390be16e67d47b746777dc431282a664849c91626969a5e267777126bac03304c7aa34a9dad7 WHIRLPOOL 7785e6a9cacc10bfc4a21d01287602f0edf3b45e38c4f5352415160fc9857223c630b9b42f067fcabd1080be1482da549c1dccbcd8f1a5cf860c236326050f45 +DIST ddclient-3.8.2.tar.gz 46059 SHA256 3c335ed456fcd55c1ffefbaec7c75d1b13794626b1c38e6a01cc28ce3a6eac9e SHA512 8f74ce90ce4a31b8d53887b99556661343b96734ae630403434689459eaeb1354159ae26f0404b9db21a0ff4151816d1650746a13c547064748656a8c6e3f13b WHIRLPOOL f7f0c4f28f5c59ad16989813edbb7a94bc99e91a0ed7c6b93d5455abee2a7e80d96ba0d26e6016bf8a4843a44772132918ac1c8555b829f0d4ad53d30f5aa793 diff --git a/net-dns/ddclient/ddclient-3.8.1-r5.ebuild b/net-dns/ddclient/ddclient-3.8.1-r5.ebuild new file mode 100644 index 000000000000..3325070dedbe --- /dev/null +++ b/net-dns/ddclient/ddclient-3.8.1-r5.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" +inherit eutils systemd user + +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" + +RDEPEND=">=dev-lang/perl-5.1 + dev-perl/Digest-SHA1 + dev-perl/IO-Socket-SSL + hardened? ( sys-apps/iproute2 ) +" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + # Remove pid line, because it is specified in /etc/init.d/ddclient + ebegin "Removing PID setup from ${PN}.conf" + if ! sed '/^pid/d' -i "sample-etc_${PN}.conf"; then + eerror "Failed to remove pid from /etc/${PN}/${PN}.conf" + fi + eend $? + + use hardened && epatch "${FILESDIR}/iproute2.patch" + + epatch "${FILESDIR}/cmd-over-cfg.patch" +} + +src_install() { + dosbin ${PN} + dodoc Change* COPYRIGHT README* RELEASENOTE sample* + + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r1" ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + keepdir /var/cache/${PN} + fowners -R ${PN}:${PN} /var/cache/${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} +} diff --git a/net-dns/ddclient/ddclient-3.8.2.ebuild b/net-dns/ddclient/ddclient-3.8.2.ebuild new file mode 100644 index 000000000000..2e1d25f95c04 --- /dev/null +++ b/net-dns/ddclient/ddclient-3.8.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +inherit systemd user + +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" + +RDEPEND=">=dev-lang/perl-5.1 + virtual/perl-Digest-SHA + dev-perl/IO-Socket-SSL + hardened? ( sys-apps/iproute2 ) +" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + # Remove pid setting because we can't leave it user configurable and + # reliably setup the environment for the init script to stop ${PN} + ebegin "Removing PID setting from ${PN}.conf" + sed '/^pid/d' -i "sample-etc_${PN}.conf" + eend $? +} + +src_install() { + dosbin ${PN} + dodoc Change* COPYRIGHT README* RELEASENOTE sample* + + newinitd "${FILESDIR}/${PN}.initd-r4" ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service + + insopts -m 0600 -o ${PN} -g ${PN} + insinto /etc/${PN} + newins sample-etc_${PN}.conf ${PN}.conf + newins sample-etc_${PN}.conf ${PN}.conf.sample +} diff --git a/net-dns/ddclient/files/cmd-over-cfg.patch b/net-dns/ddclient/files/cmd-over-cfg.patch new file mode 100644 index 000000000000..9033873fde74 --- /dev/null +++ b/net-dns/ddclient/files/cmd-over-cfg.patch @@ -0,0 +1,11 @@ +--- ddclient.old 2011-11-13 10:14:59.957846596 -0500 ++++ ddclient 2011-11-13 10:18:33.864245944 -0500 +@@ -773,7 +773,7 @@ + foreach my $h (sort keys %config) { + next if $config{$h}{'protocol'} ne lc($s); + $examined{$h} = 1; +- my $use = $config{$h}{'use'} || opt('use'); ++ my $use = opt('use') || $config{$h}{'use'}; + local $opt{$use} = $config{$h}{$use} if $config{$h}{$use}; + # bug #13: we should only do this once + # use isn't enough, we have to save the origin to. diff --git a/net-dns/ddclient/files/ddclient-reasonable-security.patch b/net-dns/ddclient/files/ddclient-reasonable-security.patch new file mode 100644 index 000000000000..9dc7930b98a2 --- /dev/null +++ b/net-dns/ddclient/files/ddclient-reasonable-security.patch @@ -0,0 +1,21 @@ +--- ddclient 2006-04-11 10:14:16.000000000 +0100 ++++ ddclient 2006-04-11 20:31:14.000000000 +0100 +@@ -776,15 +776,10 @@ + # fatal("Cannot open file '%s'. ($!)", $file); + warning("Cannot open file '%s'. ($!)", $file); + } +- # Check for only owner has any access to config file ++ # Guard against world-readability of config file + my ($dev, $ino, $mode, @statrest) = stat(FD); +- if ($mode & 077) { +- if (-f FD && (chmod 0600, $file)) { +- warning("file $file must be accessible only by its owner (fixed)."); +- } else { +- # fatal("file $file must be accessible only by its owner."); +- warning("file $file must be accessible only by its owner."); +- } ++ if ($mode & 007) { ++ fatal("Must not be world-accessible\nchange its permissions using e.g.\nchmod 640", $file); + } + + local $lineno = 0; diff --git a/net-dns/ddclient/files/ddclient.confd b/net-dns/ddclient/files/ddclient.confd new file mode 100644 index 000000000000..2408a40bb6f4 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.confd @@ -0,0 +1,2 @@ +# No need to specify a pid in /etc/ddclient/ddclient.conf +PIDFILE=/var/run/ddclient/ddclient.pid diff --git a/net-dns/ddclient/files/ddclient.confd-r1 b/net-dns/ddclient/files/ddclient.confd-r1 new file mode 100644 index 000000000000..69ad0eeff87d --- /dev/null +++ b/net-dns/ddclient/files/ddclient.confd-r1 @@ -0,0 +1,2 @@ +# No need to specify a pid in /etc/ddclient/ddclient.conf +#PIDFILE=/var/run/ddclient/ddclient.pid diff --git a/net-dns/ddclient/files/ddclient.initd b/net-dns/ddclient/files/ddclient.initd new file mode 100644 index 000000000000..b0ad57acb7a4 --- /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 +# $Id$ + +# 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.initd-r1 b/net-dns/ddclient/files/ddclient.initd-r1 new file mode 100644 index 000000000000..ea5baf5ad6c1 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.initd-r1 @@ -0,0 +1,44 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# 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 $? +} diff --git a/net-dns/ddclient/files/ddclient.initd-r2 b/net-dns/ddclient/files/ddclient.initd-r2 new file mode 100644 index 000000000000..2e6acaa100eb --- /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 +# $Id$ + +# 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 $? +} diff --git a/net-dns/ddclient/files/ddclient.initd-r3 b/net-dns/ddclient/files/ddclient.initd-r3 new file mode 100644 index 000000000000..30b84fd71b69 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.initd-r3 @@ -0,0 +1,58 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +if [ -d /run ] ; then + PIDFILE=${PIDFILE:-/run/ddclient/ddclient.pid} +else + PIDFILE=${PIDFILE:-/var/run/ddclient/ddclient.pid} +fi + +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 + + local piddir=$(dirname ${PIDFILE}) + if [ ! -d ${piddir} ] ; then + ebegin "Making ${piddir}" + mkdir -p ${piddir} + eend $? + ebegin "Changing permissions of ${piddir}" + chown ddclient:ddclient ${piddir} + eend $? + fi + + 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 $? +} diff --git a/net-dns/ddclient/files/ddclient.initd-r4 b/net-dns/ddclient/files/ddclient.initd-r4 new file mode 100644 index 000000000000..81425126e086 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.initd-r4 @@ -0,0 +1,36 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +PIDFILE="/run/ddclient/ddclient.pid" + +depend() { + before cron + need net + use dns logger squid +} + +checkconfig() { + checkpath -f -m 0600 -o ddclient:ddclient /etc/ddclient/ddclient.conf || return 1 + checkpath -d -m 0700 -o ddclient:ddclient /run/ddclient || return 1 + checkpath -d -m 0700 -o ddclient:ddclient /var/cache/ddclient || return 1 +} + +start() { + checkconfig || return 1 + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start \ + --user ddclient \ + --name ddclient \ + --pidfile ${PIDFILE} \ + --exec /usr/sbin/ddclient -- -pid=${PIDFILE} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --signal USR1 --pidfile ${PIDFILE} + eend $? +} diff --git a/net-dns/ddclient/files/ddclient.service b/net-dns/ddclient/files/ddclient.service new file mode 100644 index 000000000000..e2d3608d44d4 --- /dev/null +++ b/net-dns/ddclient/files/ddclient.service @@ -0,0 +1,12 @@ +[Unit] +Description=Dynamic DNS Update Client +After=network.target +ConditionPathExists=/etc/ddclient/ddclient.conf + +[Service] +ExecStart=/usr/sbin/ddclient --foreground +User=ddclient +Group=ddclient + +[Install] +WantedBy=multi-user.target diff --git a/net-dns/ddclient/files/iproute2.patch b/net-dns/ddclient/files/iproute2.patch new file mode 100644 index 000000000000..f81dd8c00d82 --- /dev/null +++ b/net-dns/ddclient/files/iproute2.patch @@ -0,0 +1,30 @@ +diff -u a/ddclient b/ddclient +--- a/ddclient 2011-07-11 17:04:21.000000000 -0400 ++++ b/ddclient 2011-08-12 20:13:15.980466303 -0400 +@@ -588,7 +588,7 @@ + [ "ip", "=s", "-ip address : set the IP address to 'address'" ], + "", + [ "if", "=s", "-if interface : obtain IP address from 'interface'" ], +- [ "if-skip", "=s", "-if-skip pattern : skip any IP addresses before 'pattern' in the output of ifconfig {if}" ], ++ [ "if-skip", "=s", "-if-skip pattern : skip any IP addresses before 'pattern' in the output of ip addr show {if}" ], + "", + [ "web", "=s", "-web provider|url : obtain IP address from provider's IP checking page" ], + [ "web-skip", "=s", "-web-skip pattern : skip any IP addresses before 'pattern' on the web provider|url" ], +@@ -1316,7 +1316,7 @@ + + { + local $opt{'use'} = 'if'; +- foreach my $if (grep {/^[a-zA-Z]/} `ifconfig -a`) { ++ foreach my $if (grep {/^[a-zA-Z]/} `ip addr show`) { + $if =~ s/:?\s.*//is; + local $opt{'if'} = $if; + printf "use=if, if=%s address is %s\n", opt('if'), define(get_ip('if'), 'NOT FOUND'); +@@ -1937,7 +1937,7 @@ + + } elsif ($use eq 'if') { + $skip = opt('if-skip', $h) || ''; +- $reply = `ifconfig $arg 2> /dev/null`; ++ $reply = `ip addr show $arg 2> /dev/null`; + $reply = '' if $?; + + } elsif ($use eq 'cmd') { diff --git a/net-dns/ddclient/metadata.xml b/net-dns/ddclient/metadata.xml new file mode 100644 index 000000000000..cc58aadeb41e --- /dev/null +++ b/net-dns/ddclient/metadata.xml @@ -0,0 +1,14 @@ + + + + + titanofold@gentoo.org + Aaron W. Swenson + + + Use iproute2 instead of ifconfig to grab an IP address + + + ddclient + + -- cgit v1.2.3-18-g5258