From e528c2acf774449efdad346bbc88d5247da405bd6b1166ae0f98a4cb9b595517 Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 10 Mar 2015 09:34:07 +0000 Subject: [PATCH] Accepting request 290104 from home:scarabeus_iv:branches:security:chipcard - Cleanup with the spec-cleaner - Reduce some conditionals - Fix few rpmlint warnings - Add Requires on libpcs1 for main package wrt bnc#782368 OBS-URL: https://build.opensuse.org/request/show/290104 OBS-URL: https://build.opensuse.org/package/show/security:chipcard/pcsc-lite?expand=0&rev=111 --- pcsc-lite.changes | 8 +++ pcsc-lite.spec | 152 +++++++++++++++++++++------------------------- 2 files changed, 77 insertions(+), 83 deletions(-) diff --git a/pcsc-lite.changes b/pcsc-lite.changes index a1d9d6c..7de7425 100644 --- a/pcsc-lite.changes +++ b/pcsc-lite.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 10 08:41:26 UTC 2015 - tchvatal@suse.com + +- Cleanup with the spec-cleaner +- Reduce some conditionals +- Fix few rpmlint warnings +- Add Requires on libpcs1 for main package wrt bnc#782368 + ------------------------------------------------------------------- Fri Nov 14 09:18:56 UTC 2014 - dimstar@opensuse.org diff --git a/pcsc-lite.spec b/pcsc-lite.spec index 992258d..e533c4d 100644 --- a/pcsc-lite.spec +++ b/pcsc-lite.spec @@ -1,7 +1,7 @@ # # spec file for package pcsc-lite # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,34 +16,17 @@ # -Name: pcsc-lite # FIXME: Maybe we should use /usr/lib/pcsc/drivers as others do: %define ifddir %{_libdir}/readers -BuildRequires: gcc -BuildRequires: libtool -BuildRequires: pkg-config -BuildRequires: readline-devel -%if %suse_version > 1310 -BuildRequires: polkit-devel -%endif -%if %suse_version >= 1120 -BuildRequires: libudev-devel -%endif -%if %suse_version <= 1110 -# libusb is an inferior method of USB enumeration, as it introduces polling -BuildRequires: libusb-1_0-devel -%endif -%if %suse_version > 1140 -BuildRequires: systemd -%{?systemd_requires} -%endif +%define USER scard +%define GROUP scard +Name: pcsc-lite Version: 1.8.13 Release: 0 -Requires(pre): pwdutils -Url: http://pcsclite.alioth.debian.org/ Summary: PCSC Smart Cards Library License: BSD-3-Clause Group: Productivity/Security +Url: http://pcsclite.alioth.debian.org/ Source: %{name}-%{version}.tar.bz2 Source1: %{name}.sysconfig Source2: README.SUSE @@ -54,14 +37,29 @@ Source6: pcsc-lite-reader-conf Source7: %{name}-%{version}.tar.bz2.asc Source8: %{name}.keyring Patch0: systemd-service.patch +BuildRequires: gcc +BuildRequires: libtool +BuildRequires: pkg-config +BuildRequires: readline-devel +Requires: libpcsclite1 = %{version} Requires(post): %fillup_prereq -%if %suse_version < 1310 -PreReq: sysvinit(syslog) -Requires(post): %insserv_prereq -%endif +Requires(pre): pwdutils BuildRoot: %{_tmppath}/%{name}-%{version}-build -%define USER scard -%define GROUP scard +%if 0%{?suse_version} > 1310 +BuildRequires: polkit-devel +%endif +%if 0%{?suse_version} >= 1120 +BuildRequires: libudev-devel +%else +BuildRequires: libusb-1_0-devel +%endif +%if 0%{?suse_version} > 1140 +BuildRequires: systemd-rpm-macros +%{?systemd_requires} +%else +Requires(post): %insserv_prereq +Requires(post): sysvinit(syslog) +%endif %description The purpose of PCSC Lite is to provide a Windows(R) SCard interface in @@ -80,7 +78,6 @@ Memory cards will be supported through the MCT specification, which is an APDU like manner sent normally through the SCardTransmit() function. This functionality is exercised in the driver. - %package -n libpcsclite1 Summary: PCSC Smart Card Library License: BSD-3-Clause @@ -104,7 +101,6 @@ Memory cards will be supported through the MCT specification, which is an APDU like manner sent normally through the SCardTransmit() function. This functionality is exercised in the driver. - %package -n libpcscspy0 Summary: PCSC Smart Card Library License: GPL-3.0+ @@ -113,77 +109,71 @@ Group: System/Libraries %description -n libpcscspy0 Supporting library for the PC/SC spy tool. - %package devel Summary: Development package for the MUSCLE project SmartCards library License: BSD-3-Clause and GPL-3.0+ Group: Development/Libraries/C and C++ -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires: glibc-devel -Requires: libpcsclite1 = %{version}-%{release} -Requires: libpcscspy0 = %{version}-%{release} +Requires: libpcsclite1 = %{version} +Requires: libpcscspy0 = %{version} %description devel This package contains the development files for pcsc-lite. It allows to compile plugins for the pcsc-lite package. - %prep %setup -q %patch0 -p1 -cp -a %{S:1} %{S:2} %{S:5} %{S:6} . +cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} %{SOURCE6} . %build %configure\ --docdir=%{_docdir}/%{name} \ --enable-usbdropdir=%{ifddir} \ - --disable-libhal \ -%if %suse_version <= 1110 +%if 0%{?suse_version} <= 1110 --disable-libudev \ %endif -%if %suse_version > 1140 - --with-systemdsystemunitdir=%_unitdir \ +%if 0%{?suse_version} > 1140 + --with-systemdsystemunitdir=%{_unitdir} \ %endif -%if %suse_version > 1310 +%if 0%{?suse_version} > 1310 --enable-polkit \ %endif --disable-static -make %{?jobs:-j%jobs} +make %{?_smp_mflags} %install -%makeinstall -mkdir -p $RPM_BUILD_ROOT%{ifddir} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d/ -sed s:@ifddir@:%{ifddir}: $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d/reader.conf -# this program is noinst in the package -#install src/.libs/testpcsc $RPM_BUILD_ROOT%{_sbindir}/ -%if %suse_version < 1310 -install -D -m 755 pcsc-lite-init $RPM_BUILD_ROOT%{_initrddir}/pcscd -ln -sf %{_initrddir}/pcscd $RPM_BUILD_ROOT%{_sbindir}/rcpcscd +make DESTDIR=%{buildroot} install %{?_smp_mflags} +mkdir -p %{buildroot}%{ifddir} +mkdir -p %{buildroot}%{_sysconfdir}/reader.conf.d/ +sed s:@ifddir@:%{ifddir}: %{buildroot}%{_sysconfdir}/reader.conf.d/reader.conf +%if 0%{?suse_version} < 1310 +install -D -m 755 pcsc-lite-init %{buildroot}%{_initddir}/pcscd +ln -sf %{_initddir}/pcscd %{buildroot}%{_sbindir}/rcpcscd %else -ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpcscd +ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcpcscd %endif -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} +mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates +cp %{name}.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.pcscd +mkdir -p %{buildroot}%{_docdir}/%{name} +cp -a AUTHORS ChangeLog ChangeLog.svn COPYING DRIVERS HELP NEWS README README.SUSE SECURITY TODO %{buildroot}%{_docdir}/%{name} # Use socket activated pcscd by default. -%if %suse_version > 1140 -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 +%if 0%{?suse_version} > 1140 +mkdir -p %{buildroot}%{_libexecdir}/systemd/system-preset +echo -e 'enable pcscd.socket\nenable pcscd.service' >%{buildroot}%{_libexecdir}/systemd/system-preset/50-pcscd.preset %endif - -%clean -rm -rf $RPM_BUILD_ROOT +# Remove useless la files +find %{buildroot} -type f -name "*.la" -delete -print %pre getent group %{GROUP} >/dev/null || groupadd -r %{GROUP} -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 +getent passwd %{USER} >/dev/null || useradd -r -g %{GROUP} -s %{_sbindir}/nologin -c "Smart Card Reader" -d %{_localstatedir}/run/pcscd %{USER} +%if 0%{?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 + if ! test -f %{_libexecdir}/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 @@ -191,32 +181,30 @@ fi %endif %post -%if %suse_version > 1140 +%if 0%{?suse_version} > 1140 %service_add_post pcscd.service pcscd.socket -%endif -%if %suse_version < 1310 -%fillup_and_insserv -y -n pcscd pcscd %else -%fillup_only -n pcscd +%fillup_and_insserv -y -n pcscd pcscd %endif +%fillup_only -n pcscd %preun -%if %suse_version > 1140 +%if 0%{?suse_version} > 1140 %service_del_preun pcscd.service pcscd.socket %endif -%if %suse_version < 1310 +%if 0%{?suse_version} < 1310 %stop_on_removal pcscd %endif %postun -%if %suse_version > 1140 +%if 0%{?suse_version} > 1140 %service_del_postun pcscd.service pcscd.socket # make sure to reload systemd for possible downgrades if [ "$1" = "1" ]; then /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %endif -%if %suse_version < 1310 +%if 0%{?suse_version} < 1310 %restart_on_update pcscd %insserv_cleanup %endif @@ -249,17 +237,16 @@ fi %dir %{_sysconfdir}/reader.conf.d %config(noreplace) %{_sysconfdir}/reader.conf.d/reader.conf %{ifddir} -%if %suse_version > 1140 -%_unitdir/* -/usr/lib/systemd/system-preset/ +%if 0%{?suse_version} > 1140 +%{_unitdir}/* +%{_libexecdir}/systemd/system-preset/ +%else +%{_initddir}/pcscd %endif -%if %suse_version < 1310 -%{_initrddir}/pcscd -%endif -/var/adm/fillup-templates/sysconfig.pcscd +%{_localstatedir}/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 -%if %suse_version > 1310 +%if 0%{?suse_version} > 1310 %{_datadir}/polkit-1/actions/org.debian.pcsc-lite.policy %endif @@ -277,7 +264,6 @@ fi %dir %{_docdir}/%{name} %{_docdir}/%{name}/Change* %{_includedir}/* -%{_libdir}/*.*a %{_libdir}/pkgconfig/*.pc %{_libdir}/*.so %{_bindir}/*