summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/ddclient/ddclient-3.11.1.ebuild')
-rw-r--r--net-dns/ddclient/ddclient-3.11.1.ebuild89
1 files changed, 89 insertions, 0 deletions
diff --git a/net-dns/ddclient/ddclient-3.11.1.ebuild b/net-dns/ddclient/ddclient-3.11.1.ebuild
new file mode 100644
index 000000000000..92d30aafbd66
--- /dev/null
+++ b/net-dns/ddclient/ddclient-3.11.1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools optfeature systemd tmpfiles
+
+DESCRIPTION="Perl client used to update dynamic DNS entries"
+HOMEPAGE="https://ddclient.net/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="examples selinux test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ acct-group/ddclient
+ acct-user/ddclient
+ dev-lang/perl
+ net-misc/curl
+ dev-perl/Digest-SHA1
+ virtual/perl-Digest-SHA
+ virtual/perl-JSON-PP
+ selinux? ( sec-policy/selinux-ddclient )
+"
+
+BDEPEND="
+ test? (
+ dev-perl/HTTP-Daemon
+ dev-perl/HTTP-Daemon-SSL
+ dev-perl/Plack
+ dev-perl/Test-MockModule
+ dev-perl/Test-Warnings
+ )
+"
+
+src_prepare() {
+ default
+
+ # Remove PID setting, to reliably setup the environment for the init script
+ sed -e '/^pid/d' -i ddclient.conf.in || die
+
+ # Disable 'get_ip_from_if.pl' test, as it fails with network-sandbox
+ # Don't create cache directory, as it's created by init script / tmpfiles
+ sed -e '/get_ip_from_if.pl/d' -e '/MKDIR_P/d' -i Makefile.am || die
+
+ # Remove windows executable
+ if use examples; then
+ rm sample-etc_dhcpc_dhcpcd-eth0.exe || die
+ fi
+
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/ddclient.initd-r7 ddclient
+ systemd_newunit "${FILESDIR}"/ddclient.service-r2 ddclient.service
+ newtmpfiles "${FILESDIR}"/ddclient.tmpfiles-r1 ddclient.conf
+
+ if use examples; then
+ docinto examples
+ dodoc sample-*
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3.10.0; then
+ if [ -f "${EROOT}/etc/ddclient/ddclient.conf" ]; then
+ cp /etc/ddclient/ddclient.conf /etc/ddclient.conf || die
+ ewarn "Your DDClient configuration has been copied from"
+ ewarn "'/etc/ddclient/ddclient.conf' to '/etc/ddclient.conf'."
+ ewarn "Please check your configuration."
+ fi
+ break
+ fi
+ done
+ fi
+
+ optfeature "using iproute2 instead if ifconfig." sys-apps/iproute2
+ tmpfiles_process ddclient.conf
+}