From 88813569a49ed7ef56e0a8be5c476de774a4e7a974fc4cf484d9fda1270da851 Mon Sep 17 00:00:00 2001 From: Christian Wittmer Date: Sat, 9 Jan 2016 01:32:46 +0000 Subject: [PATCH] Accepting request 352663 from home:computersalat:devel:network fix for boo#903588, recover deleted changes, some fixes OBS-URL: https://build.opensuse.org/request/show/352663 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=38 --- ddclient-3.8.1-config.patch | 3 +- ddclient.changes | 17 +++++++++ ddclient.spec | 76 +++++++++++++++++++++++-------------- 3 files changed, 66 insertions(+), 30 deletions(-) diff --git a/ddclient-3.8.1-config.patch b/ddclient-3.8.1-config.patch index be4e549..ee45b5b 100644 --- a/ddclient-3.8.1-config.patch +++ b/ddclient-3.8.1-config.patch @@ -15,9 +15,8 @@ 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 c9d9407..83d8c0e 100644 --- a/ddclient.changes +++ b/ddclient.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Jan 8 23:59:41 UTC 2016 - chris@computersalat.de + +- fix for boo#903588 +- revert patch change +- recover deleted changes (rev34) +- systemd fix + * conf file must be accessible only by its owner + ------------------------------------------------------------------- Mon Jun 30 17:51:12 CEST 2014 - pth@suse.de @@ -11,6 +20,14 @@ Wed Jun 18 11:03:39 UTC 2014 - stefan.fent@suse.com - create /run/ddclient/ with user and group ddclient if not yet available in %pre +------------------------------------------------------------------- +Thu May 22 13:14:42 UTC 2014 - chris@computersalat.de + +- update systemd stuff + * add {?has_systemd} to fix build for Systems using init scripts +- spec cleanup + * add missing BuildRoot + ------------------------------------------------------------------- Tue May 20 14:31:29 UTC 2014 - jsegitz@novell.com diff --git a/ddclient.spec b/ddclient.spec index e080694..4eaa4d5 100644 --- a/ddclient.spec +++ b/ddclient.spec @@ -1,7 +1,7 @@ # # spec file for package ddclient # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,11 +29,18 @@ Source2: %{name}.sysconfig Source3: %{name}-tmpfiles.conf Source4: rc.%{name} Patch0: %{name}-3.8.1-config.patch -BuildRequires: pkgconfig(systemd) +BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch -Requires(pre): %fillup_prereq shadow -%{?perl_requires} +Requires(pre): %fillup_prereq +Requires(pre): pwdutils + +%if 0%{?suse_version} >= 1230 +BuildRequires: pkgconfig(systemd) %{?systemd_requires} +%define has_systemd 1 +%endif + +Requires: perl >= 5.004 Recommends: perl-IO-Socket-SSL %description @@ -64,55 +71,66 @@ mv sample-* examples # nothing to do here (yet) %install +#%{_sbindir}/groupadd -r %{name} 2>/dev/null || : +#%{_sbindir}/useradd -c "DDClient User" -d %{_localstatedir}/cache/%{name} \ +# -g %{name} -r -s /bin/false %{name} 2>/dev/null || : + #make DESTDIR=$RPM_BUILD_ROOT install -%{__mkdir_p} %{buildroot}%{_sbindir} -%{__mkdir_p} %{buildroot}%{_sysconfdir} -%if 0%{?suse_version} >=1230 -%{__mkdir_p} %{buildroot}%{_unitdir} -%{__mkdir_p} %{buildroot}%{_libexecdir}/tmpfiles.d +%{__install} -D -m 755 %{name} %{buildroot}%{_sbindir}/%{name} +%{__install} -D -m 600 examples/sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf +%if 0%{?has_systemd} +%{__sed} -i -e "s,/var/run/,/run/%{name}/," %{buildroot}%{_sysconfdir}/%{name}.conf %else -%{__mkdir_p} %{buildroot}%{_sysconfdir}/init.d +%{__sed} -i -e "s,/var/run/,/var/run/%{name}/," %{buildroot}%{_sysconfdir}/%{name}.conf %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%{?suse_version} >=1230 -%{__install} -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service -%{__install} -m 644 %{SOURCE3} %{buildroot}%{_libexecdir}/tmpfiles.d/%{name}.conf +%if 0%{?has_systemd} +%{__install} -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service +%{__install} -D -m 644 %{SOURCE3} %{buildroot}%{_libexecdir}/tmpfiles.d/%{name}.conf %{__ln_s} %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %else -%{__install} -m 755 %{SOURCE4} %{buildroot}%{_sysconfdir}/init.d/%{name} +%{__install} -D -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} +%{__install} -d -m 755 %{buildroot}/run/%{name} +%else +%{__install} -d -m 755 %{buildroot}%{_localstatedir}/run/%{name} +%endif %pre -%if 0%{?suse_version} >=1230 +if [[ -z $(%{_bindir}/getent group %{name} 2>/dev/null) ]]; then + %{_sbindir}/groupadd -r %{name} 2>/dev/null +fi +if [[ -z $(%{_bindir}/getent passwd %{name} 2>/dev/null) ]]; then + %{_sbindir}/useradd -c "DDClient User" -d %{_localstatedir}/cache/%{name} \ + -g %{name} -r -s /bin/false %{name} 2>/dev/null +fi +%if 0%{?has_systemd} %service_add_pre %{name}.service +%{__install} -d -m 755 -o %{name} -g root /run/%{name} +%else +%{__install} -d -m 755 -o %{name} -g root %{_localstatedir}/run/%{name} %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%{?suse_version} >=1230 +%if 0%{?has_systemd} %service_add_post %{name}.service %endif %preun -%if 0%{?suse_version} >=1230 +%if 0%{?has_systemd} %service_del_preun %{name}.service %else %stop_on_removal ddclient %endif %postun -%if 0%{?suse_version} >=1230 +%if 0%{?has_systemd} %service_del_postun %{name}.service %else %restart_on_update ddclient @@ -121,17 +139,19 @@ chgrp ddclient /run/ddclient %files %defattr(-, root, root) -%dir %attr(700,%{name},%{name}) /var/cache/%{name} %doc COPY* README* examples -%config(noreplace) %attr(660,%{name},%{name}) %{_sysconfdir}/%{name}.conf -%if 0%{?suse_version} >=1230 +%config(noreplace) %attr(600,%{name},root) %{_sysconfdir}/%{name}.conf +%if 0%{?has_systemd} %{_unitdir}/%{name}.service %{_libexecdir}/tmpfiles.d/ddclient.conf +%ghost %dir %attr(755,%{name},root) /run/%{name} %else /etc/init.d/%{name} +%ghost %dir %attr(755,%{name},root) %{_localstatedir}/run/%{name} %endif %{_sbindir}/%{name} %{_sbindir}/rc%{name} /var/adm/fillup-templates/sysconfig.%{name} +%dir %attr(700,%{name},root) %{_localstatedir}/cache/%{name} %changelog