Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
openct
openct.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openct.spec of Package openct
# # spec file for package openct # # Copyright (c) 2014 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 # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %if 0%{?sles_version} == 10 %define _udevdir /lib/udev %else %define _udevdir %(pkg-config --variable=udevdir udev) %endif %if "x%{?_udevdir}" == "x" %if 0%{?sles_version} == 11 %define _udevdir /lib/udev %endif %endif %if "x%{?_udevrulesdir}" == "x" %if 0%{?sles_version} >= 11 %define _udevrulesdir %{_udevdir}/rules.d %else %define _udevrulesdir %{_udevdir} %endif %endif Name: openct Version: 0.6.20 Release: 0 BuildRequires: db-devel BuildRequires: doxygen BuildRequires: krb5-devel BuildRequires: libtool %if 0%{?sles_version} > 10 BuildRequires: libudev-devel %endif BuildRequires: libusb-devel BuildRequires: openldap2-devel BuildRequires: pcsc-lite-devel BuildRequires: pkg-config BuildRequires: udev PreReq: %insserv_prereq %fillup_prereq Url: http://www.opensc-project.org/openct/ Summary: Tools for Smart Card Readers License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Security ExclusiveArch: %ix86 x86_64 aarch64 Source: %{name}-%{version}.tar.bz2 Source2: README.SUSE Source3: baselibs.conf Source4: %{name}-rpmlintrc Source5: %{name}.service Source6: %{name}-handler@.service Patch1: %{name}-init.patch Patch2: %{name}-udev-permission.patch Patch3: %{name}-systemd.patch Patch4: %{name}-disable_forcepool.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # These UID and GID must be equal to values in the pcsc-lite.spec: %define USER scard %define GROUP scard # openSUSE package pcsc-lite 1.6.6 is the first one which creates the scard UID and GID: Requires(post): pcsc-lite >= 1.6.6 %define ifddir %(pkg-config libpcsclite --variable=usbdropdir) %define LBRACE ( %define RBRACE ) %define QUOTE " %define BACKSLASH \\ %define USBDRIVERS %(set -x ; bunzip2 <%{S:0} | sed -n 's/^ENV{MODALIAS}==%{QUOTE}%{BACKSLASH}%{LBRACE}usb:[^{QUOTE}]*%{BACKSLASH}%{RBRACE}%{BACKSLASH}*%{QUOTE}.*$/modalias%{LBRACE}%{BACKSLASH}1d*dc*dsc*dp*ic*isc*ip*%{RBRACE}/p' | tr '%{BACKSLASH}n' ' ') # We are not using Supplements here. User may want to choose between openct and pcsc-lite: Enhances: %USBDRIVERS # Generic CCID devices: Enhances: modalias(usb:*ic0Bisc00d*dc*dsc*dp*ic*isc*ip*) %if 0%{?suse_version} > 1140 BuildRequires: pkgconfig(systemd) %{?systemd_requires} %define has_systemd 1 %endif %description OpenCT is a set of library and tools to talk to smart card readers. OpenCT is used by the OpenSC Smart Card library. For a list of supported readers, please read documentation in /usr/share/doc/packages/openct/wiki/index.html - some readers may be supported only with particular firmware or particular connection type. There are other packages that may support your reader in a different way. Name of all these packages starts with "pcsc-". Authors: -------- Olaf Kirch <okir@suse.de> Andreas Jellinghaus <aj@dungeon.inka.de> %package -n libopenct1 Summary: Library for Smart Card Readers Group: System/Libraries %description -n libopenct1 OpenCT is a set of library and tools to talk to smart card readers. OpenCT is used by the OpenSC Smart Card library. For a list of supported readers, please read documentation in /usr/share/doc/packages/openct/wiki/index.html - some readers may be supported only with particular firmware or particular connection type. There are other packages that may support your reader in a different way. Name of all these packages starts with "pcsc-". Authors: -------- Olaf Kirch <okir@suse.de> Andreas Jellinghaus <aj@dungeon.inka.de> %package -n pcsc-openct Summary: PC/SC IFD Handler for OpenCT Smart Card Drivers Group: Productivity/Security %description -n pcsc-openct PC/SC Connector for OpenCT. It allows to use any of OpenCT Smart Card drivers with the PCSC-Lite daemon from the pcsc-lite package. OpenCT is a set of library and tools to talk to smart card readers. OpenCT is used by the OpenSC Smart Card library. For a list of supported readers, please read documentation in /usr/share/doc/packages/openct/wiki/index.html - some readers may be supported only with particular firmware or particular connection type. There are other packages that may support your reader in a different way. Name of all these packages starts with "pcsc-". Authors: -------- Olaf Kirch <okir@suse.de> Andreas Jellinghaus <aj@dungeon.inka.de> %package devel Summary: Library for Smart Card Readers Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libopenct1 = %{version} %description devel OpenCT is a set of library and tools to talk to smart card readers. OpenCT is used by the OpenSC Smart Card library. For a list of supported readers, please read documentation in /usr/share/doc/packages/openct/wiki/index.html - some readers may be supported only with particular firmware or particular connection type. There are other packages that may support your reader in a different way. Name of all these packages starts with "pcsc-". Authors: -------- Olaf Kirch <okir@suse.de> Andreas Jellinghaus <aj@dungeon.inka.de> %prep %setup -q -n %{name}-%{version} cp -a %{S:2} . %patch1 %patch2 -p1 %if 0%{?has_systemd} %patch3 -p1 %endif %patch4 -p1 sed -i 's/@USER@/%{USER}/g;s/@GROUP@/%{GROUP}/g' etc/init-script.in tr -d \\r <doc/nonpersistent/wiki.out/trac.css >doc/nonpersistent/wiki.out/trac.css.unix touch -r doc/nonpersistent/wiki.out/trac.css doc/nonpersistent/wiki.out/trac.css.unix mv doc/nonpersistent/wiki.out/trac.css.unix doc/nonpersistent/wiki.out/trac.css %build %if %suse_version > 1110 ACLOCAL="aclocal -I m4" autoreconf -f -i %endif %configure\ --docdir=%{_docdir}/%{name}\ --disable-static\ --enable-doc\ --enable-api-doc\ --enable-usb\ --enable-pcsc\ --enable-non-privileged\ --with-daemon-user=%{USER}\ --with-daemon-groups=%{GROUP}\ --with-bundle=%{ifddir}\ --with-ifddir=%{ifddir}\ --with-udev=%{_udevdir} make %{?jobs:-j%jobs} %install mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} %makeinstall # # meanless to create on /run as it is tmpfs %if 0%{?suse_version} >= 1220 mkdir -p "%{buildroot}/usr/lib/tmpfiles.d/" cat >%{buildroot}/usr/lib/tmpfiles.d/%{name}.conf <<EOF d /var/run/%{name} 0755 %{USER} %{GROUP} EOF %else # Create directory mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/openct # NOTE: Example in the source recommends 750, but this value allows # access only to dedicated users and root. chmod 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/openct %endif # # Install init script mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d install etc/init-script $RPM_BUILD_ROOT%{_sysconfdir}/init.d/openct ln -s ../..%{_sysconfdir}/init.d/openct $RPM_BUILD_ROOT%{_sbindir}/rcopenct # Install 60-openct.rules rule for udev mkdir -p $RPM_BUILD_ROOT%{_udevrulesdir} install -m0644 etc/openct.udev $RPM_BUILD_ROOT%{_udevrulesdir}/60-openct.rules %if 0%{?has_systemd} # add systemd services (based on http://blog.fraggod.net/2012/06/16/proper-ish-way-to-start-long-running-systemd-service-on-udev-event-device-hotplug.html) install -D -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service install -D -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/%{name}-handler@.service rm -f $RPM_BUILD_ROOT%{_udevdir}/openct_* %endif # # Copy the rest of documentation cp LGPL-2.1 README.SUSE TODO doc/nonpersistent/ChangeLog etc/openct-disable.fdi $RPM_BUILD_ROOT%{_docdir}/%{name} # And remove pointless .la file rm $RPM_BUILD_ROOT%{_libdir}/libopenct.la %pre %if 0%{?has_systemd} %service_add_pre %{name}.service %endif %preun %{stop_on_removal openct} %if 0%{?has_systemd} %service_del_preun %{name}.service %endif %post # Remove possible orphans created by openct<=0.6.15 before openct-status-lock-orphans.patch (openSUSE <= 11.1, SLE <= 11): rm -f %{_localstatedir}/run/openct/status.lock.* %{fillup_and_insserv -y openct} %if 0%{?has_systemd} %service_add_post %{name}.service %endif %if 0%{?suse_version} >= 1220 systemd-tmpfiles --create /usr/lib/tmpfiles.d/%{name}.conf %endif %postun %{restart_on_update openct} %{insserv_cleanup} %if 0%{?has_systemd} %service_del_postun %{name}.service %endif %post -n libopenct1 -p /sbin/ldconfig %postun -n libopenct1 -p /sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/ChangeLog %doc %{_docdir}/%{name}/LGPL-2.1 %doc %{_docdir}/%{name}/NEWS %doc %{_docdir}/%{name}/README %doc %{_docdir}/%{name}/README.SUSE %doc %{_docdir}/%{name}/TODO %doc %{_docdir}/%{name}/openct-disable.fdi %doc %{_docdir}/%{name}/wiki %{_bindir}/* %if 0%{?suse_version} >= 1220 /usr/lib/tmpfiles.d/openct.conf %else %ghost %dir %{_localstatedir}/run/openct %endif %doc %{_mandir}/man?/*.* %{_sbindir}/* %{_sysconfdir}/init.d/openct %config(noreplace) %{_sysconfdir}/openct.conf %{_udevrulesdir}/60-openct.rules %if 0%{?has_systemd} %{_unitdir}/%{name}.service %{_unitdir}/%{name}-handler@.service %else %{_udevdir}/openct_* %endif %files -n libopenct1 %defattr(-,root,root) %{_libdir}/*.so.* %files -n pcsc-openct %defattr(-,root,root) %{ifddir}/openct-ifd.bundle %files devel %defattr(-,root,root) %doc %{_docdir}/%{name}/api %{_includedir}/openct %{_libdir}/*.so %{_libdir}/*.*a %{_libdir}/pkgconfig/libopenct.pc %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor