aacb82e
%global cachedir %{_localstatedir}/cache/ddclient
aacb82e
%global rundir   %{_localstatedir}/run/ddclient
aacb82e
aacb82e
Summary:           Client to update dynamic DNS host entries
aacb82e
Name:              ddclient
c6ba331
Version:           3.9.0
c6ba331
Release:           1%{?dist}
aacb82e
License:           GPLv2+
aacb82e
Group:             System Environment/Daemons
aacb82e
URL:               http://ddclient.sourceforge.net/
c6ba331
Source0:           https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
aacb82e
Source1:           ddclient.rwtab
aacb82e
Source2:           ddclient.service
aacb82e
Source3:           ddclient.sysconfig
aacb82e
Source4:           ddclient.NetworkManager
aacb82e
Source5:           ddclient-tmpfiles.conf
aacb82e
aacb82e
BuildArch:         noarch
aacb82e
73dcd72
BuildRequires:     perl-generators
aacb82e
BuildRequires:     systemd
aacb82e
Requires(pre):     shadow-utils
aacb82e
Requires(post):    systemd
aacb82e
Requires(preun):   systemd
aacb82e
Requires(postun):  systemd
aacb82e
aacb82e
Requires:          perl(Digest::SHA1)
aacb82e
Requires:          perl(IO::Socket::SSL)
aacb82e
aacb82e
%description
aacb82e
ddclient is a Perl client used to update dynamic DNS entries for accounts
aacb82e
on many different dynamic DNS services. Features include: Operating as a
aacb82e
daemon, manual and automatic updates, static and dynamic updates, optimized
aacb82e
updates for multiple addresses, MX, wildcards, abuse avoidance, retrying
aacb82e
the failed updates and sending update status to syslog and through e-mail.
aacb82e
aacb82e
%prep
aacb82e
%setup -q
aacb82e
# Move pid file location for running as non-root.
aacb82e
sed -e 's|/var/run/ddclient.pid|%{rundir}/%{name}.pid|' \
aacb82e
    -i sample-etc_ddclient.conf
aacb82e
# Send less mail by default, eg. not on every shutdown.
aacb82e
sed -e 's|^mail=|#mail=|' -i sample-etc_ddclient.conf
aacb82e
# Backwards compatibility from pre-3.6.6-1
aacb82e
sed -e 's|/etc/ddclient/|%{_sysconfdir}/|' -i %{name}
aacb82e
aacb82e
aacb82e
%build
aacb82e
#nothing to do
aacb82e
aacb82e
aacb82e
%install
aacb82e
install -D -p -m 755 %{name} $RPM_BUILD_ROOT%{_sbindir}/%{name}
aacb82e
install -D -p -m 600 sample-etc_ddclient.conf \
aacb82e
    $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
aacb82e
install -D -p -m 644 %{SOURCE1} \
aacb82e
    $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/%{name}
aacb82e
aacb82e
install -D -p -m 644 %{SOURCE2} \
aacb82e
    $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
aacb82e
install -D -p -m 644 %{SOURCE3} \
aacb82e
    $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
aacb82e
install -D -p -m 755 %{SOURCE4} \
aacb82e
    $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/50-%{name}
aacb82e
install -D -p -m 644 %{SOURCE5} \
aacb82e
    $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
aacb82e
aacb82e
mkdir -p $RPM_BUILD_ROOT%{cachedir}
aacb82e
mkdir -p $RPM_BUILD_ROOT%{rundir}
aacb82e
touch $RPM_BUILD_ROOT%{cachedir}/%{name}.cache
aacb82e
aacb82e
# Correct permissions for later usage in %doc
aacb82e
chmod 644 sample-*
aacb82e
aacb82e
aacb82e
%pre
aacb82e
getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name}
aacb82e
getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin -c "Dynamic DNS Client" %{name}
aacb82e
exit 0
aacb82e
aacb82e
%post
aacb82e
%systemd_post %{name}.service
aacb82e
if [ $1 == 1 ]; then
aacb82e
    mkdir -p %{rundir}
aacb82e
    chown %{name}:%{name} %{rundir}
aacb82e
fi
aacb82e
aacb82e
%preun
aacb82e
%systemd_preun %{name}.service
aacb82e
aacb82e
%postun
aacb82e
%systemd_postun_with_restart %{name}.service
aacb82e
aacb82e
aacb82e
%files
1267d44
%license COPYING COPYRIGHT
1267d44
%doc README* RELEASENOTE ChangeLog Changelog.old sample-etc_ppp_ip-up.local
aacb82e
%doc sample-etc_dhclient-exit-hooks sample-etc_cron.d_ddclient
aacb82e
%doc sample-ddclient-wrapper.sh sample-etc_dhcpc_dhcpcd-eth0.exe
aacb82e
aacb82e
%{_sbindir}/%{name}
aacb82e
%{_tmpfilesdir}/%{name}.conf
aacb82e
%{_unitdir}/%{name}.service
aacb82e
aacb82e
# sysconfdir
aacb82e
%config(noreplace) %{_sysconfdir}/rwtab.d/%{name}
aacb82e
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
aacb82e
%attr(600,%{name},%{name}) %config(noreplace) %{_sysconfdir}/%{name}.conf
aacb82e
%{_sysconfdir}/NetworkManager/dispatcher.d/50-%{name}
aacb82e
aacb82e
# localstatedir
aacb82e
%attr(0700,%{name},%{name}) %dir %{cachedir}
aacb82e
%attr(0600,%{name},%{name}) %ghost %{cachedir}/%{name}.cache
aacb82e
%ghost %attr(0755,%{name},%{name}) %dir %{rundir}
aacb82e
aacb82e
aacb82e
%changelog
c6ba331
* Fri Aug 10 2018 Scott Talbert <swt@techie.net> - 3.9.0-1
c6ba331
- New upstream release 3.9.0
c6ba331
d6110a6
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.3-7
d6110a6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
d6110a6
2123704
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.3-6
2123704
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2123704
7d2e787
* Sat Sep 09 2017 Scott Talbert <swt@techie.net> - 3.8.3-5
7d2e787
- Start after network-online.target rather than network.target (#1476999)
7d2e787
31d65a7
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.3-4
31d65a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
31d65a7
98d5a52
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.3-3
98d5a52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
98d5a52
1c23acf
* Fri Dec 30 2016 Scott Talbert <swt@techie.net> - 3.8.3-2
1c23acf
- Prevent NetworkManager from starting ddclient if it is disabled (#1409178)
1c23acf
1267d44
* Mon Mar 28 2016 Scott Talbert <swt@techie.net> - 3.8.3-1
1267d44
- New upstream release 3.8.3 (#1226537)
1267d44
- Change NetworkManager dispatcher to look for PID file (#1316149)
1267d44
aacb82e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-2
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
aacb82e
aacb82e
* Mon Apr 21 2014 Jamie Nguyen <jamielinux@fedoraproject.org> - 3.8.2-1
aacb82e
- update to upstream release 3.8.2
aacb82e
- remove old EPEL 6 related macros
aacb82e
- remove all logic for older versions of Fedora/EPEL
aacb82e
- make spec more readable
aacb82e
aacb82e
* Wed Dec 25 2013 Robert Scheck <robert@fedoraproject.org> 3.8.1-9
aacb82e
- Use the new systemd macros (#850084, thanks to Lukáš Nykrýn)
aacb82e
- Adapted the spec file to handle systemd and SysV initscripts
aacb82e
aacb82e
* Sat Aug 10 2013 Paul Howarth <paul@city-fan.org> - 3.8.1-8
aacb82e
- BR: systemd-units for %%{_unitdir} macro definition (fixes FTBFS #992118)
aacb82e
- Put tmpfiles config in %%{_tmpfilesdir}, not under /etc
aacb82e
- Package installation creates %%{_localstatedir}/run/%%{name} (#909272, #957355)
aacb82e
- Service files are not executable
aacb82e
- Require perl(Digest::SHA1) (#909258)
aacb82e
- Wait for name resolution to be available before starting (#905553)
aacb82e
aacb82e
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.1-7
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
aacb82e
aacb82e
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 3.8.1-6
aacb82e
- Perl 5.18 rebuild
aacb82e
aacb82e
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.1-5
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
aacb82e
aacb82e
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.1-4
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
aacb82e
aacb82e
* Tue May 15 2012 Jon Ciesla <limburgher@gmail.com> - 3.8.1-3
aacb82e
- Add ghost to /var/run/ddclient
aacb82e
aacb82e
* Mon May 14 2012 Jon Ciesla <limburgher@gmail.com> - 3.8.1-2
aacb82e
- Add tmpfiles.d.
aacb82e
aacb82e
* Thu Mar 29 2012 Jon Ciesla <limburgher@gmail.com> - 3.8.1-1
aacb82e
- Latest upstream.
aacb82e
- Migrate to systemd, 718756.
aacb82e
aacb82e
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.0-5
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
aacb82e
aacb82e
* Thu Feb 10 2011 Robert Scheck <robert@fedoraproject.org> 3.8.0-4
aacb82e
- Replaced Requires(hint) by Requires as RPM 4.9 dropped support
aacb82e
aacb82e
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
aacb82e
aacb82e
* Sat May 29 2010 Robert Scheck <robert@fedoraproject.org> 3.8.0-2
aacb82e
- Fixed wrong permissions at NetworkManager dispatcher (#506286)
aacb82e
- Updated %%description to be more verbose and detailed (#588053)
aacb82e
aacb82e
* Sat May 01 2010 Robert Scheck <robert@fedoraproject.org> 3.8.0-1
aacb82e
- Upgrade to 3.8.0 and several spec file cleanups (#551906)
aacb82e
- Rewrote initscript to match LSB standards and headers (#246903)
aacb82e
- Added dispatcher to NetworkManager to avoid failures (#506286)
aacb82e
aacb82e
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.3-3
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
aacb82e
aacb82e
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.3-2
aacb82e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
aacb82e
aacb82e
* Wed Jan 23 2008 Robert Scheck <robert@fedoraproject.org> 3.7.3-1
aacb82e
- Upgrade to 3.7.3 (#429438)
aacb82e
- Updated the license tag according to the guidelines
aacb82e
aacb82e
* Thu Jun 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 3.7.2-1
aacb82e
- 3.7.2.
aacb82e
- Tweak default config to send less mail (eg. not on every shutdown).
aacb82e
aacb82e
* Fri Mar  2 2007 Ville Skyttä <ville.skytta at iki.fi> - 3.7.1-1
aacb82e
- 3.7.1, cache file moved to /var/cache/ddclient.
aacb82e
- Run as a dedicated ddclient user (#220539).
aacb82e
- Add read only root/temporary state config (#220540).
aacb82e
- Create/chmod cache in init script instead of %%post.
aacb82e
- Add scriptlet dependencies, try-restart action and other minor tweaks.
aacb82e
aacb82e
* Sat Jul 30 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.6.6-1
aacb82e
- 3.6.6, update URLs (#165272).
aacb82e
- Restart service on future package upgrades (still manually needed this time).
aacb82e
- Don't set service to autostart on "chkconfig --add".
aacb82e
- Fix sysconfig/ddclient permissions.
aacb82e
- Drop non-useful samples.
aacb82e
aacb82e
* Wed Apr  6 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 3.6.3-5
aacb82e
- rebuilt
aacb82e
aacb82e
* Mon Apr 05 2004 Toshio Kuratomi <toshio[+]tiki-lounge.com> - 0:3.6.3-0.fdr.4.fc1
aacb82e
- Fix %%doc %%attr ownership
aacb82e
- Touch the cache file in %%post
aacb82e
aacb82e
* Mon Sep 08 2003 Michael Schwendt <mschwendt[AT]users.sf.net> - 0:3.6.3-0.fdr.3
aacb82e
- Add own Fedora-style initscript and /etc/sysconfig/ddclient file.
aacb82e
- Fix file permissions of config file and example files.
aacb82e
- Since ddclient.cache.patch uses hardcoded /var, don't use
aacb82e
  %%_localstatedir in spec file either.
aacb82e
aacb82e
* Sun Sep 07 2003 Thomas Vander Stichele <thomas at apestaart dot org>
aacb82e
- 0:3.6.3-0.fdr.2: fixed ghostness of cache file