ddclient/ddclient.spec

121 lines
4.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ddclient
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: ddclient
Version: 3.11.2
Release: 0
Summary: A Perl Client to Update Dynamic DNS Entries
License: GPL-2.0-or-later
Group: Productivity/Networking/DNS/Utilities
URL: https://github.com/ddclient/ddclient
Source0: https://github.com/ddclient/ddclient/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{name}.service
Source2: %{name}.sysconfig
Source3: %{name}-tmpfiles.conf
Patch0: %{name}-config.patch
Patch1: %{name}-delay-main-process-for-systemd.patch
Patch2: disable-ip-test.patch
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: curl
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
BuildRequires: make
BuildRequires: perl(HTTP::Daemon)
BuildRequires: perl(HTTP::Message::PSGI)
BuildRequires: perl(IO::Socket::SSL)
BuildRequires: perl(Test::MockModule)
BuildRequires: perl(Test::Warnings)
Requires: curl
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
Requires: perl >= 5.10.1
Requires(pre): %fillup_prereq
Requires(pre): shadow
Recommends: perl-IO-Socket-SSL
BuildArch: noarch
%{?systemd_requires}
%description
ddclient is a client requiring only Perl. Supported
features include daemon operation, manual and automatic updates, static
and dynamic updates, optimized updates for multiple addresses, MX, wild
cards, abuse avoidance, retry for failed updates, and status updates to
syslog and through e-mail. ddclient can obtain the IP address from any
interface, through a Web-based IP detection service, and for multiple
routers using custom FW definitions. It also provides full support for
DynDNS.org's NIC2 protocol. Support is also included for other dynamic
DNS services. Comes with sample scripts for use with DHCP, PPP, and
cron.
%prep
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
%autosetup -p1
rm -f sample-etc_ddclient.conf.orig
chmod a-x sample-*
mkdir examples
mv sample-* examples
%build
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
./autogen
%configure
make
%install
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
%make_install
find examples -name *exe -delete
mkdir -p %{buildroot}%{_sbindir}/
mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_sbindir}/%{name}
sed -i -e "s,%{_localstatedir}/run/,/run/%{name}/," %{buildroot}%{_sysconfdir}/%{name}.conf
install -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service
install -D -m 644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
ln -s service %{buildroot}%{_sbindir}/rc%{name}
install -d -m 755 %{buildroot}%{_fillupdir}
install -m 644 %{SOURCE2} %{buildroot}%{_fillupdir}/sysconfig.%{name}
install -d -m 755 %{buildroot}%{_localstatedir}/cache/%{name}
install -d -m 755 %{buildroot}/run/%{name}
Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64
2022-12-30 00:47:37 +01:00
%check
make VERBOSE=1 check
%pre
getent group %{name} >/dev/null || %{_sbindir}/groupadd -r %{name}
getent passwd %{name} >/dev/null || \
%{_sbindir}/useradd -c "DDClient User" -d %{_localstatedir}/cache/%{name} \
-g %{name} -r -s /bin/false %{name}
%service_add_pre %{name}.service
%post
%fillup_only
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
%service_add_post %{name}.service
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%files
%doc COPY* README* examples
%config(noreplace) %attr(600,%{name},root) %{_sysconfdir}/%{name}.conf
%{_unitdir}/%{name}.service
%{_tmpfilesdir}/ddclient.conf
%ghost %dir %attr(755,%{name},%{name}) /run/%{name}
%{_sbindir}/%{name}
%{_sbindir}/rc%{name}
%{_fillupdir}/sysconfig.%{name}
%dir %attr(700,%{name},root) %{_localstatedir}/cache/%{name}
%changelog