diff --git a/ddclient-3.8.1-config.patch b/ddclient-3.8.1-config.patch index ee45b5b..be4e549 100644 --- a/ddclient-3.8.1-config.patch +++ b/ddclient-3.8.1-config.patch @@ -15,8 +15,9 @@ Index: sample-etc_ddclient.conf -mail=root # mail all msgs to root +#mail=root # mail all msgs to root mail-failure=root # mail failed update msgs to root - pid=/var/run/ddclient.pid # record PID in file. +-pid=/var/run/ddclient.pid # record PID in file. -ssl=yes # use ssl-support. Works with ++pid=/run/ddclient/ddclient.pid # record PID in file. +ssl=no # use ssl-support. Works with # ssl-library # postscript=script # run script after updating. The diff --git a/ddclient.changes b/ddclient.changes index 06aa28d..c9d9407 100644 --- a/ddclient.changes +++ b/ddclient.changes @@ -1,13 +1,18 @@ ------------------------------------------------------------------- -Thu May 22 13:14:42 UTC 2014 - chris@computersalat.de +Mon Jun 30 17:51:12 CEST 2014 - pth@suse.de -- update systemd stuff - * add {?has_systemd} to fix build for Systems using init scripts -- spec cleanup - * add missing BuildRoot +- Use perl_requires instead of harcoding a value. ------------------------------------------------------------------- -Tue May 20 14:29:35 UTC 2014 - jsegitz@novell.com +Wed Jun 18 11:03:39 UTC 2014 - stefan.fent@suse.com + +- fix pidfile path in /etc/ddclient.conf and set ownership to ddclient +- create user and group ddclient (bnc#881520) +- create /run/ddclient/ with user and group ddclient if not yet + available in %pre + +------------------------------------------------------------------- +Tue May 20 14:31:29 UTC 2014 - jsegitz@novell.com - ensure proper handling of .service files with %service_add_pre diff --git a/ddclient.spec b/ddclient.spec index a4ad523..e080694 100644 --- a/ddclient.spec +++ b/ddclient.spec @@ -29,17 +29,11 @@ Source2: %{name}.sysconfig Source3: %{name}-tmpfiles.conf Source4: rc.%{name} Patch0: %{name}-3.8.1-config.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch -Requires(pre): %fillup_prereq - -%if 0%{?suse_version} >= 1230 BuildRequires: pkgconfig(systemd) +BuildArch: noarch +Requires(pre): %fillup_prereq shadow +%{?perl_requires} %{?systemd_requires} -%define has_systemd 1 -%endif - -Requires: perl >= 5.004 Recommends: perl-IO-Socket-SSL %description @@ -71,41 +65,54 @@ mv sample-* examples %install #make DESTDIR=$RPM_BUILD_ROOT install -%{__install} -D -m 755 %{name} %{buildroot}%{_sbindir}/%{name} -%{__install} -D -m 644 examples/sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf +%{__mkdir_p} %{buildroot}%{_sbindir} +%{__mkdir_p} %{buildroot}%{_sysconfdir} +%if 0%{?suse_version} >=1230 +%{__mkdir_p} %{buildroot}%{_unitdir} +%{__mkdir_p} %{buildroot}%{_libexecdir}/tmpfiles.d +%else +%{__mkdir_p} %{buildroot}%{_sysconfdir}/init.d +%endif +%{__install} -m 755 %{name} %{buildroot}%{_sbindir}/ +%{__install} -m 600 examples/sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf # init script and config file -%if 0%{?has_systemd} -%{__install} -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service -%{__install} -D -m 644 %{SOURCE3} %{buildroot}%{_libexecdir}/tmpfiles.d/%{name}.conf +%if 0%{?suse_version} >=1230 +%{__install} -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service +%{__install} -m 644 %{SOURCE3} %{buildroot}%{_libexecdir}/tmpfiles.d/%{name}.conf %{__ln_s} %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %else -%{__install} -D -m 755 %{SOURCE4} %{buildroot}%{_sysconfdir}/init.d/%{name} +%{__install} -m 755 %{SOURCE4} %{buildroot}%{_sysconfdir}/init.d/%{name} %{__ln_s} %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name} %endif %{__install} -d -m 755 %{buildroot}/var/adm/fillup-templates %{__install} -m 644 %{SOURCE2} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name} %{__install} -d -m 755 %{buildroot}/var/cache/%{name} -%if 0%{?has_systemd} %pre +%if 0%{?suse_version} >=1230 %service_add_pre %{name}.service %endif +getent group %{name} >/dev/null || %{_sbindir}/groupadd -r %{name} +getent passwd %{name} >/dev/null || %{_sbindir}/useradd -r -g %{name} -d /var/cache/%{name} -s /bin/false -c "user for ddclient" %{name} +test -d /run/ddclient || mkdir /run/ddclient +chown ddclient /run/ddclient +chgrp ddclient /run/ddclient %post %{fillup_only} -%if 0%{?has_systemd} +%if 0%{?suse_version} >=1230 %service_add_post %{name}.service %endif %preun -%if 0%{?has_systemd} +%if 0%{?suse_version} >=1230 %service_del_preun %{name}.service %else %stop_on_removal ddclient %endif %postun -%if 0%{?has_systemd} +%if 0%{?suse_version} >=1230 %service_del_postun %{name}.service %else %restart_on_update ddclient @@ -114,9 +121,10 @@ mv sample-* examples %files %defattr(-, root, root) +%dir %attr(700,%{name},%{name}) /var/cache/%{name} %doc COPY* README* examples -%config(noreplace) %attr(600,root,root) %{_sysconfdir}/%{name}.conf -%if 0%{?has_systemd} +%config(noreplace) %attr(660,%{name},%{name}) %{_sysconfdir}/%{name}.conf +%if 0%{?suse_version} >=1230 %{_unitdir}/%{name}.service %{_libexecdir}/tmpfiles.d/ddclient.conf %else @@ -125,6 +133,5 @@ mv sample-* examples %{_sbindir}/%{name} %{_sbindir}/rc%{name} /var/adm/fillup-templates/sysconfig.%{name} -%dir /var/cache/%{name} %changelog