]> git.pld-linux.org Git - packages/pcsc-lite.git/blobdiff - pcsc-lite.spec
- updated to 1.8.15
[packages/pcsc-lite.git] / pcsc-lite.spec
index 6722d2ac873d41af20a5dbc36438b4581bdc72ef..1ebf845e61fd5260cc560ff56cee1cdd2f0c74b3 100644 (file)
@@ -1,31 +1,48 @@
-Summary:       Muscle PCSC Framework for Linux
-Summary(pl):   ¦rodowisko PCSC dla Linuksa
+# TODO
+# - pcscd & pcscd-lite-libs need to be exactly same version installed otherwise
+#   client will flood daemon so much that daemon is not usable (max 200
+#   connections reached, etc)
+#
+# Conditional build:
+%bcond_without polkit  # polkit support
+%bcond_without udev    # udev support (plain libusb if disabled)
+
+Summary:       PCSC Framework for Linux
+Summary(pl.UTF-8):     Środowisko PCSC dla Linuksa
 Name:          pcsc-lite
-Version:       1.3.1
+Version:       1.8.15
 Release:       1
 License:       BSD
 Group:         Daemons
-#Source0Download: http://alioth.debian.org/project/showfiles.php?group_id=30105
-Source0:       http://alioth.debian.org/download.php/1565/%{name}-%{version}.tar.gz
-# Source0-md5: 90fa7e9cdfdfe88fdf6644ca8b60a681
+# Source0Download: https://alioth.debian.org/frs/?group_id=30105
+Source0:       https://alioth.debian.org/frs/download.php/file/4157/%{name}-%{version}.tar.bz2
+# Source0-md5: ded5cf2f78d26293934cefd0dbc58a43
 Source1:       %{name}-pcscd.init
 Source2:       %{name}-pcscd.sysconfig
+Source4:       %{name}.tmpfiles
 Patch0:                %{name}-fhs.patch
 Patch1:                %{name}-any.patch
-URL:           http://www.linuxnet.com/middle.html
-BuildRequires: autoconf >= 2.52
-BuildRequires: automake
+Patch2:                debuglog-pid.patch
+Patch3:                configure-expand.patch
+URL:           https://alioth.debian.org/projects/pcsclite/
+BuildRequires: autoconf >= 2.69
+BuildRequires: automake >= 1:1.8
 BuildRequires: flex
-BuildRequires: libtool >= 1.4.2-9
-BuildRequires: libusb-devel
-BuildRequires: rpmbuild(macros) >= 1.268
+%{?with_apidocs:BuildRequires: graphviz}
+BuildRequires: libtool >= 2:2.0
+%{!?with_udev:BuildRequires:   libusb-devel >= 1.0}
+BuildRequires: pkgconfig
+%{?with_polkit:BuildRequires:  polkit-devel >= 0.111}
+BuildRequires: rpmbuild(macros) >= 1.647
+%{?with_udev:BuildRequires:    udev-devel}
 Requires(post,preun):  /sbin/chkconfig
-Requires(pre): fileutils
-Requires:      rc-scripts
+Requires(pretrans):    fileutils
+%{?with_polkit:Requires:       polkit >= 0.111}
+Requires:      rc-scripts >= 0.4.3.0
+Requires:      systemd-units >= 38
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                usbdropdir      /usr/%{_lib}/pcsc/drivers
-%define                muscledropdir   /usr/%{_lib}/pcsc/services
 
 %description
 pcscd is the daemon program for PC/SC Lite. It is a resource manager
@@ -35,53 +52,66 @@ provide a Windows(R) SCard interface in a very small form factor for
 communicating to smartcards and readers. PCSC Lite uses the same
 winscard api as used under Windows(R).
 
-%description -l pl
-pcscd jest demonem dla PC/SC Lite. Jest to zarz±dca zasobów,
-koordynuj±cy komunikacjê z czytnikami kart procesorowych pod³±czonymi
-do systemu. Celem PCSC Lite jest udostêpnienie interfejsu zgodnego z
-Windows(R) SCard s³u¿±cego do komunikacji z czytnikami kart chipowych.
-U¿ywa tego samego API winscard, które jest u¿ywane pod Microsoft(TM)
+%description -l pl.UTF-8
+pcscd jest demonem dla PC/SC Lite. Jest to zarządca zasobów,
+koordynujący komunikację z czytnikami kart procesorowych podłączonymi
+do systemu. Celem PCSC Lite jest udostępnienie interfejsu zgodnego z
+Windows(R) SCard służącego do komunikacji z czytnikami kart chipowych.
+Używa tego samego API winscard, które jest używane pod Microsoft(TM)
 Windows(R).
 
 %package libs
 Summary:       PC/SC Lite libraries
-Summary(pl):   Biblioteki PC/SC Lite
+Summary(pl.UTF-8):     Biblioteki PC/SC Lite
 Group:         Libraries
 
 %description libs
 PC/SC Lite libraries.
 
-%description libs -l pl
+%description libs -l pl.UTF-8
 Biblioteki PC/SC Lite.
 
 %package devel
 Summary:       PC/SC Lite development files
-Summary(pl):   Pliki dla programistów u¿ywaj±cych PC/SC Lite
+Summary(pl.UTF-8):     Pliki dla programistów używających PC/SC Lite
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
 PC/SC Lite development files.
 
-%description devel -l pl
-Pliki dla programistów u¿ywaj±cych PC/SC Lite.
+%description devel -l pl.UTF-8
+Pliki dla programistów używających PC/SC Lite.
 
 %package static
 Summary:       Static PC/SC Lite libraries
-Summary(pl):   Biblioteki statyczne PC/SC Lite
+Summary(pl.UTF-8):     Biblioteki statyczne PC/SC Lite
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static PC/SC Lite libraries.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Statyczne biblioteki PC/SC Lite.
 
+%package apidocs
+Summary:       PC/SC Lite API documentation
+Summary(pl.UTF-8):     Dokumentacja API biblioteki PC/SC Lite
+Group:         Documentation
+
+%description apidocs
+API and internal documentation for PC/SC Lite library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki PC/SC Lite.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
@@ -89,78 +119,108 @@ Statyczne biblioteki PC/SC Lite.
 %{__autoconf}
 %{__autoheader}
 %{__automake}
+# auto power down unreliable yet
+CPPFLAGS="%{rpmcppflags} -DDISABLE_ON_DEMAND_POWER_ON"
 %configure \
-       --enable-muscledropdir=%{muscledropdir} \
-       --enable-runpid=/var/run/pcscd.pid \
+       %{!?with_udev:--disable-libudev} \
+       --disable-silent-rules \
+       --enable-ipcdir=/var/run/pcscd \
+       %{?with_polkit:--enable-polkit} \
+       --enable-static \
        --enable-usbdropdir=%{usbdropdir}
 
 %{__make}
 
+%if %{with apidocs}
+doxygen doc/doxygen.conf
+rm -f doc/api/*.{map,md5}
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{usbdropdir},%{muscledropdir}} \
+install -d $RPM_BUILD_ROOT%{usbdropdir} \
        $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
-       $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+       $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d \
+       $RPM_BUILD_ROOT/var/run/pcscd \
+       $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
+       $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/pcscd
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/pcscd
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
 
-install doc/example/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/pcscd
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/pcscd
+install %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
 
-:> $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf
+cp -p doc/example/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pre
+%pretrans
 # upgrade from pcsc-lite < 1.2.9-0.beta7
-if [ -f /etc/reader.conf -a ! -f /etc/reader.conf.d/reader.conf ]; then
-       install -d -m755 /etc/reader.conf.d
-       cp -af /etc/reader.conf /etc/reader.conf.d/reader.conf
+if [ -f /etc/reader.conf -a ! -f %{_sysconfdir}/reader.conf.d/reader.conf ]; then
+       install -d -m755 %{_sysconfdir}/reader.conf.d
+       cp -af /etc/reader.conf %{_sysconfdir}/reader.conf.d/reader.conf
 fi
 
 %post
 /sbin/chkconfig --add pcscd
-%service pcscd restart "pcscd daemon"
+%service pcscd restart "PC/SC smart card daemon"
+%systemd_post pcscd.service pcscd.socket
 
 %preun
 if [ "$1" = "0" ]; then
        %service pcscd stop
        /sbin/chkconfig --del pcscd
 fi
+%systemd_preun pcscd.service pcscd.socket
+
+%postun
+%systemd_reload
+
+%triggerpostun -- pcsc-lite < 1.8.3-1
+%systemd_trigger pcscd.service pcscd.socket
 
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog* DRIVERS HELP NEWS README SECURITY doc/README.DAEMON
-%attr(755,root,root) %{_bindir}/formaticc
-%attr(755,root,root) %{_sbindir}/installifd
+%doc AUTHORS COPYING ChangeLog* DRIVERS HELP NEWS README SECURITY TODO doc/README.{DAEMON,polkit}
+%attr(755,root,root) %{_bindir}/pcsc-spy
 %attr(755,root,root) %{_sbindir}/pcscd
-%attr(755,root,root) %{_sbindir}/update-reader.conf
-%{_libdir}/pcsc
+%dir %{_libdir}/pcsc
+%dir %{_libdir}/pcsc/drivers
 %dir %{_sysconfdir}/reader.conf.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/reader.conf.d/reader.conf
-%ghost %{_sysconfdir}/reader.conf
 %attr(754,root,root) /etc/rc.d/init.d/pcscd
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/pcscd
-%{_mandir}/man1/formaticc.1*
+%{_mandir}/man1/pcsc-spy.1*
 %{_mandir}/man5/reader.conf.5*
 %{_mandir}/man8/pcscd.8*
+%dir /var/run/pcscd
+%{systemdunitdir}/pcscd.service
+%{systemdunitdir}/pcscd.socket
+/usr/lib/tmpfiles.d/%{name}.conf
+%if %{with polkit}
+%{_datadir}/polkit-1/actions/org.debian.pcsc-lite.policy
+%endif
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpcsclite.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpcsclite.so.1
+%attr(755,root,root) %{_libdir}/libpcscspy.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpcscspy.so.0
 
 %files devel
 %defattr(644,root,root,755)
-%doc doc/*.pdf
 %attr(755,root,root) %{_libdir}/libpcsclite.so
+%attr(755,root,root) %{_libdir}/libpcscspy.so
 %{_libdir}/libpcsclite.la
+%{_libdir}/libpcscspy.la
 %{_includedir}/PCSC
 %{_pkgconfigdir}/libpcsclite.pc
 %{_examplesdir}/%{name}-%{version}
@@ -168,3 +228,10 @@ fi
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libpcsclite.a
+%{_libdir}/libpcscspy.a
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/api/*
+%endif
This page took 0.072618 seconds and 4 git commands to generate.