Accepting request 259049 from home:sbrabec:branches:security:chipcard

- Fix systemd integration and socket activation (boo#900115):
  * fix quoting in systemd-service.patch
  * add missing systemd service preset
- Drop obsolete upgrade protection in %pre.

OBS-URL: https://build.opensuse.org/request/show/259049
OBS-URL: https://build.opensuse.org/package/show/security:chipcard/pcsc-lite?expand=0&rev=106
This commit is contained in:
Wolfgang Rosenauer 2014-10-30 21:06:20 +00:00 committed by Git OBS Bridge
parent 2364846d5d
commit 8ef0047c37
3 changed files with 23 additions and 14 deletions

View File

@ -1,7 +1,15 @@
-------------------------------------------------------------------
Thu Oct 30 20:54:55 CET 2014 - sbrabec@suse.cz
- Fix systemd integration and socket activation (boo#900115):
* fix quoting in systemd-service.patch
* add missing systemd service preset
- Drop obsolete upgrade protection in %pre.
-------------------------------------------------------------------
Wed Oct 29 21:00:59 UTC 2014 - wr@rosenauer.org
- fixed sysconfig fillup
- fixed sysconfig fillup
-------------------------------------------------------------------
Wed Sep 24 14:20:37 UTC 2014 - wr@rosenauer.org

View File

@ -173,35 +173,35 @@ mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
cp %{name}.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pcscd
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
cp -a AUTHORS ChangeLog ChangeLog.svn COPYING DRIVERS HELP NEWS README README.SUSE SECURITY TODO $RPM_BUILD_ROOT%{_docdir}/%{name}
# Use socket activated pcscd by default.
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system-preset
echo -e 'enable pcscd.socket\nenable pcscd.service' >$RPM_BUILD_ROOT/usr/lib/systemd/system-preset/50-pcscd.preset
%clean
rm -rf $RPM_BUILD_ROOT
%pre
getent group %{GROUP} >/dev/null || groupadd -r %{GROUP}
if getent passwd %{USER} >/dev/null ; then
# There was a bad login shell up to openSUSE 12.2 (bnc#796242), never in SLE. Fix it.
usermod -s /usr/sbin/nologin %{USER}
else
useradd -r -g %{GROUP} -s /usr/sbin/nologin -c "Smart Card Reader" -d /var/run/pcscd %{USER}
fi
getent passwd %{USER} >/dev/null || useradd -r -g %{GROUP} -s /usr/sbin/nologin -c "Smart Card Reader" -d /var/run/pcscd %{USER}
%if %suse_version > 1140
%service_add_pre pcscd.service pcscd.socket
# trick: service existed before, but it had no preset before 13.2 and in SLE12. Force %%service_add_post to run preset.
if [ $1 -gt 1 ] ; then
if ! test -f /usr/lib/systemd/system-preset/50-pcscd.preset ; then
echo -n "" >/run/rpm-%{name}-update-pcscd.socket-new-in-upgrade
echo -n "" >/run/rpm-%{name}-update-pcscd.service-new-in-upgrade
fi
fi
%endif
exit 0
%post
%if %suse_version > 1140
%service_add_post pcscd.service pcscd.socket
/bin/systemctl disable pcscd.service || :
/bin/systemctl enable pcscd.socket || :
/bin/systemctl try-restart pcscd.service || :
/bin/systemctl restart pcscd.socket || :
%endif
%if %suse_version < 1310
%fillup_and_insserv -y -n pcscd pcscd
%else
%fillup_only -n pcscd pcscd
%fillup_only -n pcscd
%endif
%preun
@ -259,6 +259,7 @@ fi
%if %suse_version < 1310
%{_initrddir}/pcscd
%endif
/usr/lib/systemd/system-preset/50-pcscd.preset
/var/adm/fillup-templates/sysconfig.pcscd
# libpcsclite.so should stay in the main package (#732911). Third party packages may need it for dlopen().
%{_libdir}/libpcsclite.so

View File

@ -7,7 +7,7 @@ index 7934050..ddbdcc4 100644
[Service]
-ExecStart=@sbindir_exp@/pcscd --foreground --auto-exit
+Environment=PCSCD_OPTIONS=""
+Environment="PCSCD_OPTIONS="
+EnvironmentFile=-/etc/sysconfig/pcscd
+ExecStart=@sbindir_exp@/pcscd --foreground --auto-exit $PCSCD_OPTIONS
ExecReload=@sbindir_exp@/pcscd --hotplug