diff --git a/.gitignore b/.gitignore index cae593d..b62a677 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,3 @@ ddclient-3.8.0.tar.bz2 /ddclient-3.10.0.tar.gz /ddclient-3.11.1.tar.gz /ddclient-3.11.2.tar.gz -/ddclient-4.0.0.tar.gz diff --git a/ddclient.service b/ddclient.service index 0ccec5a..063dce1 100644 --- a/ddclient.service +++ b/ddclient.service @@ -5,10 +5,11 @@ After=syslog.target network-online.target nss-lookup.target [Service] User=ddclient Group=ddclient -Type=exec +Type=forking +PIDFile=/run/ddclient/ddclient.pid EnvironmentFile=-/etc/sysconfig/ddclient ExecStartPre=/bin/touch /var/cache/ddclient/ddclient.cache -ExecStart=/usr/sbin/ddclient $DDCLIENT_OPTIONS --foreground +ExecStart=/usr/sbin/ddclient $DDCLIENT_OPTIONS [Install] WantedBy=multi-user.target diff --git a/ddclient.spec b/ddclient.spec index e64e7d9..ba4bebd 100644 --- a/ddclient.spec +++ b/ddclient.spec @@ -3,10 +3,9 @@ Summary: Client to update dynamic DNS host entries Name: ddclient -Version: 4.0.0 -Release: 5%{?dist} -# Automatically converted from old format: GPLv2+ - review is highly recommended. -License: GPL-2.0-or-later +Version: 3.11.2 +Release: 3%{?dist} +License: GPLv2+ URL: https://ddclient.net/ Source0: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: ddclient.rwtab @@ -14,6 +13,7 @@ Source2: ddclient.service Source3: ddclient.sysconfig Source4: ddclient.NetworkManager Source5: ddclient-tmpfiles.conf +Patch0: skip-tests.patch BuildArch: noarch @@ -24,6 +24,7 @@ BuildRequires: perl-generators BuildRequires: perl(Sys::Hostname) BuildRequires: perl(version) BuildRequires: systemd +Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -63,14 +64,11 @@ the failed updates and sending update status to syslog and through e-mail. sed -e 's|^mail=|#mail=|' -i ddclient.conf.in ./autogen -# Create a sysusers.d config file -cat >ddclient.sysusers.conf < /dev/null || %{_sbindir}/groupadd -r %{name} +getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin -c "Dynamic DNS Client" %{name} +exit 0 %post %systemd_post %{name}.service @@ -139,37 +139,9 @@ fi %attr(0700,%{name},%{name}) %dir %{cachedir} %attr(0600,%{name},%{name}) %ghost %{cachedir}/%{name}.cache %ghost %attr(0755,%{name},%{name}) %dir %{rundir} -%{_sysusersdir}/ddclient.conf %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 4.0.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Apr 01 2025 Scott Talbert - 4.0.0-4 -- Switch systemd service to use exec and remove pid file (#2355909) - -* Tue Mar 25 2025 Scott Talbert - 4.0.0-3 -- Restore expected ddclient.conf dir to pre-4.0 location (#2354194) - -* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 4.0.0-2 -- Add sysusers.d config file to allow rpm to create users/groups automatically - -* Wed Jan 22 2025 Scott Talbert - 4.0.0-1 -- Update to new upstream release 4.0.0 (#2334061) - -* Wed Jan 22 2025 Scott Talbert - 3.11.2-7 -- Fix FTBFS with newer autoconf - -* Thu Jan 16 2025 Fedora Release Engineering - 3.11.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 25 2024 Miroslav Suchý - 3.11.2-5 -- convert license to SPDX - -* Wed Jul 17 2024 Fedora Release Engineering - 3.11.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - * Wed Jan 24 2024 Fedora Release Engineering - 3.11.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/skip-tests.patch b/skip-tests.patch new file mode 100644 index 0000000..295008f --- /dev/null +++ b/skip-tests.patch @@ -0,0 +1,11 @@ +diff -up ddclient-3.10.0/t/get_ip_from_if.pl.skiptests ddclient-3.10.0/t/get_ip_from_if.pl +--- ddclient-3.10.0/t/get_ip_from_if.pl.skiptests 2022-10-20 14:06:35.000000000 -0400 ++++ ddclient-3.10.0/t/get_ip_from_if.pl 2023-10-02 20:55:16.776008589 -0400 +@@ -40,6 +40,7 @@ subtest "get_ip_from_interface tests" => + }; + + subtest "Get default interface and IP for test system" => sub { ++ plan skip_all => 'Fedora build system does not have a global IP address'; + my $interface = ddclient::get_default_interface(4); + if ($interface) { + isnt($interface, "lo", "Check for loopback 'lo'"); diff --git a/sources b/sources index 76f2cf8..ecf716b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ddclient-4.0.0.tar.gz) = 095723aa43c4f08d7e3aa46c0bc47e753fdcbcb2cd0ac5f77cd687f98694985ad70e2f6509c05aaa232d0412fcb0aef8bb07a6d9e4302130ab1db047c14e1e86 +SHA512 (ddclient-3.11.2.tar.gz) = b0d275f5ccc36cd8b532b6176de885696ff189dbdffa71bc63e9fa6db2aaf4ab5ff3290c251e318f05b2163c546dcc785eb3582388d9fb70e8439e35e5cbcd7f