Summary:        PC/SC Lite smart card framework and applications
Summary(ja):    PC/SC Lite スマートカードフレームワークおよびアプリケーション

Name:           pcsc-lite
Version:        1.8.25
Release:        1%{?_dist_release}
Group:          System Environment/Daemons

Vendor:         Project Vine
Distribution:   Vine Linux

License:        BSD
URL:            https://pcsclite.apdu.fr/
Source0:        https://pcsclite.apdu.fr/files/%{name}-%{version}.tar.bz2
Source1:        org.debian.pcsc-lite.policy
Source2:        pcscd.init

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires:  eudev-libudev-devel
BuildRequires:  polkit-devel
BuildRequires:  doxygen
BuildRequires:  flex
BuildRequires:  python3
BuildRequires:  python3-rpm-macros
Requires(post): initscripts
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
Requires:       pcsc-ifd-handler
# 390 does not have libusb or smartCards
ExcludeArch: s390 s390x

%description
The purpose of PC/SC Lite is to provide a Windows(R) SCard interface
in a very small form factor for communicating to smartcards and
readers.  PC/SC Lite uses the same winscard API as used under
Windows(R).  This package includes the PC/SC Lite daemon, a resource
manager that coordinates communications with smart card readers and
smart cards that are connected to the system, as well as other command
line tools.

%package        libs
Summary:        PC/SC Lite libraries
Summary(ja):        PC/SC Lite libraries
Group:          System Environment/Libraries
Provides:       libpcsc-lite = %{version}-%{release}

%description    libs
PC/SC Lite libraries.

%package        devel
Summary:        PC/SC Lite development files
Summary(ja):        PC/SC Lite development files
Group:          Development/Libraries
Requires:       %{name}-libs = %{version}-%{release}
Requires:       pkgconfig
Provides:       libpcsc-lite-devel = %{version}-%{release}

%description    devel
PC/SC Lite development files.

%package        spy
Summary:        PC/SC API spy
Summary(ja):        PC/SC API spy
Group:          Development/Tools
Requires:       %{name}-libs = %{version}-%{release}
Requires:       python3

%description    spy
The purpose of pcsc-spy is to spy all the calls between the PC/SC client
and the PC/SC library.

%package        doc
Summary:        PC/SC Lite developer documentation
Summary(ja):        PC/SC Lite developer documentation
Group:          Documentation

%description    doc
%{summary}.


%prep
%setup -q

# Convert to utf-8
for file in ChangeLog; do
    iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
    touch -r $file $file.new && \
    mv $file.new $file
done


%build
#autoreconf -if
%configure \
  --disable-dependency-tracking \
  --disable-static \
  --disable-libsystemd \
  --enable-polkit \
  --enable-runpid=%{_localstatedir}/run/pcscd.pid \
  --enable-ipcdir=%{_localstatedir}/run \
  --enable-usbdropdir=%{_libdir}/pcsc/drivers
make %{?_smp_mflags}
doxygen doc/doxygen.conf ; rm -f doc/api/*.{map,md5}

%{_libdir}/python3.5/Tools/scripts/pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p src/spy/pcsc-spy


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_datadir}/polkit-1/actions/org.debian.pcsc-lite.policy

mkdir -p $RPM_BUILD_ROOT%{_datadir}/polkit-1/actions/
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/polkit-1/actions/

install -dm 755 $RPM_BUILD_ROOT%{_libdir}/pcsc/drivers

install -Dpm 755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/pcscd

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d

rm -f $RPM_BUILD_ROOT{%{_sysconfdir}/reader.conf.d/reader.conf,%{_libdir}/lib*.la}
rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}/README.DAEMON

# formaticc doesn't exist any more, don't include the man page
#rm -f $RPM_BUILD_ROOT%{_mandir}/man1/formaticc.1*

%clean
rm -rf $RPM_BUILD_ROOT


%post
/sbin/chkconfig --add pcscd

%preun
if [ $1 = 0 ] ; then
  /sbin/service pcscd stop >/dev/null 2>&1 || :
  /sbin/chkconfig --del pcscd
fi

%postun
if [ "$1" -ge "1" ]; then
  /sbin/service pcscd condrestart >/dev/null 2>&1 || :
fi

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%license COPYING
%doc AUTHORS ChangeLog HELP README SECURITY TODO
%dir %{_sysconfdir}/reader.conf.d/
%{_initrddir}/pcscd
%{_sbindir}/pcscd
%{_libdir}/pcsc/
%{_datadir}/polkit-1/actions/org.debian.%{name}.policy
%{_mandir}/man5/reader.conf.5*
%{_mandir}/man8/pcscd.8*

%files libs
%defattr(-,root,root,-)
%license COPYING
%{_libdir}/libpcsclite.so.*
%{_libdir}/libpcscspy.so.*

%files devel
%defattr(-,root,root,-)
%{_includedir}/PCSC/
%{_libdir}/libpcsclite.so
%{_libdir}/libpcscspy.so
%{_libdir}/pkgconfig/libpcsclite.pc

%files spy
%defattr(-,root,root,-)
%{_bindir}/pcsc-spy
%{_mandir}/man1/pcsc-spy.1*

%files doc
%defattr(-,root,root,-)
%doc doc/api/ doc/example/pcsc_demo.c
%{_docdir}/pcsc-lite/README.polkit


%changelog
* Sat Oct 26 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.8.25-1
- new upstream release.

* Mon May 04 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.13-1
- new upstream release
- updata Patch0 (pcsc-lite-1.8.13-docinst.patch)
- updata Patch1 (pcsc-lite-1.8.13-etc.patch)
- add Source1 from fedora
- add BuildRequires: polkit-devel

* Tue Jun 17 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.3-2
- change BuildRequires: eudev-libudev-devel instead of libudev-devel

* Sun Jun 24 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.3-1
- new upstream release
- add Patch1 (pcsc-lite-1.8.3-etc.patch)
- create -spy sub package

* Sat Jan 07 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.1-2
- fix Patch1

* Sat Jan 07 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.1-1
- new upstream release
- remove BuildRequires: hal-devel, libusb-devel
- add BuildRequires: libudev-devel, flex
- add Patch1 (pcsc-lite-1.8.1-etc.patch)

* Fri Oct 01 2010 Shu KONNO <owa@bg.wakwak.com> 1.5.5-2
- rebuilt with rpm-4.8.1 for pkg-config

* Sun Feb 21 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 1.5.5-1
- new upstream release

* Mon Mar 02 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 1.4.102-1
- initial build for Vine Linux

* Mon Aug 18 2008 Bob Relyea <rrelyea@redhat.com> - 1.4.102-3
- bump tag becaue the build system can't deal with mistakes.

* Mon Aug 18 2008 Bob Relyea <rrelyea@redhat.com> - 1.4.102-2
- mock build changes

* Sun Aug 17 2008 Bob Relyea <rrelyea@redhat.com> - 1.4.102-1
- Pick up 1.4.102

* Tue May 6 2008 Bob Relyea <rrelyea@redhat.com> - 1.4.101-1
- Pick up 1.4.101

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.4.4-3
- Autorebuild for GCC 4.3

* Wed Jan 16 2008 Bob Relyea <rrelyea@redhat.com> - 1.4.4-2
- Silence libpcsc-lite even when the daemon isn't running.
- fix typo in init file which prevents the config file from being read.

* Thu Nov 22 2007 Bob Relyea <rrelyea@redhat.com> - 1.4.4-1
- Pick up 1.4.4

* Tue Feb 06 2007 Bob Relyea <rrelyea@redhat.com> - 1.3.3-1
- Pick up 1.3.3

* Thu Nov 02 2006 Bob Relyea <rrelyea@redhat.com> - 1.3.2-1
- Pick up 1.3.2

* Thu Sep 14 2006  Bob Relyea <rrelyea@redhat.com> - 1.3.1-7
- Incorporate patch from Ludovic to stop the pcsc daemon from
  unnecessarily waking up.

* Mon Jul 31 2006 Ray Strode <rstrode@redhat.com> - 1.3.1-6
- follow packaging guidelines for setting up init service
  (bug 200778)

* Mon Jul 24 2006 Bob Relyea <rrelyea@redhat.com> - 1.3.1-5
- start pcscd when pcsc-lite is installed

* Sun Jul 16 2006 Florian La Roche <laroche@redhat.com> - 1.3.1-4
- fix excludearch line

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.3.1-3.1
- rebuild

* Mon Jul 10 2006 Bob Relyea <rrelyea@redhat.com> - 1.3.1-3
- remove s390 from the build

* Mon Jun 5 2006 Bob Relyea <rrelyea@redhat.com> - 1.3.1-2
- Move to Fedora Core. 
- Remove dependency on graphviz. 
- Removed %%{_dist}

* Sat Apr 22 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.3.1-1
- 1.3.1.

* Sun Mar  5 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.3.0-1
- 1.3.0, init script and reader.conf updater included upstream.
- Split developer docs into a -doc subpackage, include API docs.
- libmusclecard no longer included, split into separate package upstream.

* Mon Feb 13 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.2.0-14
- Avoid standard rpaths on multilib archs.
- Fine tune dependencies.

* Fri Nov 11 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.2.0-13
- Don't ship static libraries.
- Don't mark the init script as a config file.
- Use rm instead of %%exclude.
- Specfile cleanups.

* Thu May 19 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.2.0-12
- Rebuild.

* Thu Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.0-11
- rebuilt

* Tue Aug 17 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-10
- Disable dependency tracking to speed up the build.
- Drop reader.conf patch, it's not needed any more.
- Rename update-reader-conf to update-reader.conf for consistency with Debian,
  and improve it a bit.

* Sat Jul 31 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.9
- Add update-reader-conf, thanks to Fritz Elfert.

* Thu Jul  1 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.8
- Own the %%{_libdir}/pcsc hierarchy.

* Thu May 13 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.7
- Make main package require pcsc-ifd-handler (idea from Debian).

* Wed May 12 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.6
- Improve package summary.
- Improvements based on suggestions from Ludovic Rousseau:
  - Don't install pcsc_demo but do include its source in -devel.
  - Sync reader.conf with current upstream CVS HEAD (better docs, less
    intrusive in USB-only setups where it's not needed).

* Fri Apr 16 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.5
- Move PDF API docs to -devel.
- Improve main package and init script descriptions.

* Thu Jan 29 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.4
- Init script fine tuning.

* Fri Jan  9 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.3
- BuildRequires libusb-devel 0.1.6 or newer.

* Thu Oct 30 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.2
- s/pkgconfi/pkgconfig/ in -devel requirements.

* Tue Oct 28 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.1
- Update to 1.2.0.
- Add libpcsc-lite and libmusclecard provides to -libs and -devel.

* Thu Oct 16 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.0.2.rc3
- Update to 1.2.0-rc3.
- Trivial init script improvements.
- Enable %%{_smp_mflags}.
- Don't bother trying to enable SCF.

* Sun Sep 14 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.0.2.rc2
- Specfile cleanups.

* Fri Sep  5 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.0.1.rc2
- Update to 1.2.0-rc2.

* Wed Aug 27 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.2.0-0.fdr.0.1.rc1
- Update to 1.2.0-rc1.

* Sun Jun  1 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.1.2-0.fdr.0.1.beta5
- Update to 1.1.2beta5.

* Sat May 24 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:1.1.2-0.fdr.0.1.beta4
- First build, based on PLD's 1.1.1-2.
