forked from OpenSC/OpenSC
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
01cccbd
commit 44f75b3
Showing
3 changed files
with
233 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
upstream_project_url: https://github.com/OpenSC/OpenSC | ||
|
||
specfile_path: packaging/opensc.spec | ||
files_to_sync: | ||
- packaging/opensc.spec | ||
- .packit.yaml | ||
upstream_package_name: opensc | ||
downstream_package_name: opensc | ||
merge_pr_in_ci: false | ||
|
||
notifications: | ||
pull_request: | ||
successful_build: true | ||
|
||
jobs: | ||
- job: copr_build | ||
trigger: pull_request | ||
metadata: | ||
targets: | ||
- fedora-development-x86_64 | ||
- fedora-development-aarch64 | ||
- fedora-development-ppc64le | ||
- fedora-development-s390x |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# This file describes how to load the opensc module | ||
# See: https://p11-glue.github.io/p11-glue/p11-kit/manual/pkcs11-conf.html | ||
# or man pkcs11.conf | ||
|
||
# This is a relative path, which means it will be loaded from | ||
# the p11-kit default path which is usually $(libdir)/pkcs11. | ||
# Doing it this way allows for packagers to package opensc for | ||
# 32-bit and 64-bit and make them parallel installable | ||
module: opensc-pkcs11.so |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,201 @@ | ||
%define opensc_module "OpenSC PKCS #11 Module" | ||
%define nssdb %{_sysconfdir}/pki/nssdb | ||
|
||
Name: opensc | ||
Version: 0.1.0 | ||
Release: 1%{?dist} | ||
Summary: Smart card library and applications | ||
|
||
License: LGPLv2+ | ||
URL: https://github.com/OpenSC/OpenSC/wiki | ||
Source0: opensc-0.1.0.tar.gz | ||
Source1: opensc.module | ||
|
||
BuildRequires: make | ||
BuildRequires: pcsc-lite-devel | ||
BuildRequires: readline-devel | ||
BuildRequires: openssl-devel | ||
BuildRequires: /usr/bin/xsltproc | ||
BuildRequires: docbook-style-xsl | ||
BuildRequires: autoconf automake libtool gcc | ||
BuildRequires: bash-completion | ||
BuildRequires: zlib-devel | ||
# For tests | ||
BuildRequires: libcmocka-devel | ||
%if ! 0%{?rhel} | ||
BuildRequires: softhsm | ||
%endif | ||
BuildRequires: openssl | ||
Requires: pcsc-lite-libs%{?_isa} | ||
Requires: pcsc-lite | ||
Obsoletes: mozilla-opensc-signer < 0.12.0 | ||
Obsoletes: opensc-devel < 0.12.0 | ||
Obsoletes: coolkey <= 1.1.0-36 | ||
# The simclist is bundled in upstream | ||
Provides: bundled(simclist) = 1.5 | ||
|
||
%description | ||
OpenSC provides a set of libraries and utilities to work with smart cards. Its | ||
main focus is on cards that support cryptographic operations, and facilitate | ||
their use in security applications such as authentication, mail encryption and | ||
digital signatures. OpenSC implements the PKCS#11 API so applications | ||
supporting this API (such as Mozilla Firefox and Thunderbird) can use it. On | ||
the card OpenSC implements the PKCS#15 standard and aims to be compatible with | ||
every software/card that does so, too. | ||
|
||
|
||
%prep | ||
%setup -q | ||
|
||
# The test-pkcs11-tool-allowed-mechanisms already works in Fedora | ||
sed -i -e '/XFAIL_TESTS/,$ { | ||
s/XFAIL_TESTS.*/XFAIL_TESTS=test-pkcs11-tool-test-threads.sh/ | ||
q | ||
}' tests/Makefile.am | ||
|
||
|
||
cp -p src/pkcs15init/README ./README.pkcs15init | ||
cp -p src/scconf/README.scconf . | ||
# No {_libdir} here to avoid multilib conflicts; it's just an example | ||
sed -i -e 's|/usr/local/towitoko/lib/|/usr/lib/ctapi/|' etc/opensc.conf.example.in | ||
|
||
|
||
%build | ||
autoreconf -fvi | ||
%ifarch %{ix86} | ||
sed -i -e 's/opensc.conf/opensc-%{_arch}.conf/g' src/libopensc/Makefile.in | ||
%endif | ||
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure # lib64 rpaths | ||
%set_build_flags | ||
CFLAGS="$CFLAGS -Wstrict-aliasing=2 -Wno-deprecated-declarations" | ||
%configure --disable-static\ | ||
--disable-autostart-items \ | ||
--disable-notify \ | ||
--disable-assert \ | ||
--enable-pcsc \ | ||
--enable-cmocka \ | ||
--enable-sm \ | ||
--with-pcsc-provider=libpcsclite.so.1 | ||
%make_build | ||
|
||
|
||
%check | ||
make check | ||
|
||
|
||
%install | ||
%make_install | ||
install -Dpm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/p11-kit/modules/opensc.module | ||
|
||
%ifarch %{ix86} | ||
# To avoid multilib issues, move these files on 32b intel architectures | ||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/opensc.conf | ||
install -Dpm 644 etc/opensc.conf $RPM_BUILD_ROOT%{_sysconfdir}/opensc-%{_arch}.conf | ||
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/opensc.conf.5 | ||
install -Dpm 644 doc/files/opensc.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5/opensc-%{_arch}.conf.5 | ||
# use NEWS file timestamp as reference for configuration file | ||
touch -r NEWS $RPM_BUILD_ROOT%{_sysconfdir}/opensc-%{_arch}.conf | ||
touch -r NEWS $RPM_BUILD_ROOT%{_mandir}/man5/opensc-%{_arch}.conf.5 | ||
%else | ||
# For backward compatibility, symlink the old location to the new files | ||
ln -s %{_sysconfdir}/opensc.conf $RPM_BUILD_ROOT%{_sysconfdir}/opensc-%{_arch}.conf | ||
%endif | ||
|
||
find $RPM_BUILD_ROOT%{_libdir} -type f -name "*.la" | xargs rm | ||
|
||
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/opensc | ||
|
||
# Upstream considers libopensc API internal and no longer ships | ||
# public headers and pkgconfig files. | ||
# Remove the symlink as nothing is supposed to link against libopensc. | ||
rm -f $RPM_BUILD_ROOT%{_libdir}/libopensc.so | ||
# remove the .pc file so we do not confuse users #1673139 | ||
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc | ||
rm -f $RPM_BUILD_ROOT%{_libdir}/libsmm-local.so | ||
%if 0%{?rhel} && 0%{?rhel} < 7 | ||
rm -rf %{buildroot}%{_datadir}/bash-completion/ | ||
%endif | ||
|
||
# the npa-tool builds to nothing since we do not have OpenPACE library | ||
rm -rf %{buildroot}%{_bindir}/npa-tool | ||
rm -rf %{buildroot}%{_mandir}/man1/npa-tool.1* | ||
|
||
# the pkcs11-register is not applicable to Fedora/RHEL where we use p11-kit | ||
rm -rf %{buildroot}%{_bindir}/pkcs11-register | ||
rm -rf %{buildroot}%{_mandir}/man1/pkcs11-register.1* | ||
|
||
# Remove the notification files | ||
rm %{buildroot}%{_bindir}/opensc-notify | ||
rm %{buildroot}%{_datadir}/applications/org.opensc.notify.desktop | ||
rm %{buildroot}%{_mandir}/man1/opensc-notify.1* | ||
|
||
|
||
%files | ||
%doc COPYING NEWS README* | ||
|
||
%if ! 0%{?rhel} || 0%{?rhel} >= 7 | ||
%{_datadir}/bash-completion/* | ||
%endif | ||
|
||
%ifarch %{ix86} | ||
%{_mandir}/man5/opensc-%{_arch}.conf.5* | ||
%else | ||
%config(noreplace) %{_sysconfdir}/opensc.conf | ||
%{_mandir}/man5/opensc.conf.5* | ||
%endif | ||
|
||
%config(noreplace) %{_sysconfdir}/opensc-%{_arch}.conf | ||
# Co-owned with p11-kit so it is not hard dependency | ||
%dir %{_datadir}/p11-kit | ||
%dir %{_datadir}/p11-kit/modules | ||
%{_datadir}/p11-kit/modules/opensc.module | ||
%{_bindir}/cardos-tool | ||
%{_bindir}/cryptoflex-tool | ||
%{_bindir}/eidenv | ||
%{_bindir}/iasecc-tool | ||
%{_bindir}/gids-tool | ||
%{_bindir}/netkey-tool | ||
%{_bindir}/openpgp-tool | ||
%{_bindir}/opensc-explorer | ||
%{_bindir}/opensc-tool | ||
%{_bindir}/opensc-asn1 | ||
%{_bindir}/piv-tool | ||
%{_bindir}/pkcs11-tool | ||
%{_bindir}/pkcs15-crypt | ||
%{_bindir}/pkcs15-init | ||
%{_bindir}/pkcs15-tool | ||
%{_bindir}/sc-hsm-tool | ||
%{_bindir}/dnie-tool | ||
%{_bindir}/westcos-tool | ||
%{_bindir}/egk-tool | ||
%{_bindir}/goid-tool | ||
%{_libdir}/lib*.so.* | ||
%{_libdir}/opensc-pkcs11.so | ||
%{_libdir}/pkcs11-spy.so | ||
%{_libdir}/onepin-opensc-pkcs11.so | ||
%%dir %{_libdir}/pkcs11 | ||
%{_libdir}/pkcs11/opensc-pkcs11.so | ||
%{_libdir}/pkcs11/onepin-opensc-pkcs11.so | ||
%{_libdir}/pkcs11/pkcs11-spy.so | ||
%{_datadir}/opensc/ | ||
%{_mandir}/man1/cardos-tool.1* | ||
%{_mandir}/man1/cryptoflex-tool.1* | ||
%{_mandir}/man1/eidenv.1* | ||
%{_mandir}/man1/gids-tool.1* | ||
%{_mandir}/man1/goid-tool.1* | ||
%{_mandir}/man1/iasecc-tool.1* | ||
%{_mandir}/man1/netkey-tool.1* | ||
%{_mandir}/man1/openpgp-tool.1* | ||
%{_mandir}/man1/opensc-explorer.* | ||
%{_mandir}/man1/opensc-tool.1* | ||
%{_mandir}/man1/opensc-asn1.1* | ||
%{_mandir}/man1/piv-tool.1* | ||
%{_mandir}/man1/pkcs11-tool.1* | ||
%{_mandir}/man1/pkcs15-crypt.1* | ||
%{_mandir}/man1/pkcs15-init.1* | ||
%{_mandir}/man1/pkcs15-tool.1* | ||
%{_mandir}/man1/sc-hsm-tool.1* | ||
%{_mandir}/man1/westcos-tool.1* | ||
%{_mandir}/man1/dnie-tool.1* | ||
%{_mandir}/man1/egk-tool.1* | ||
%{_mandir}/man5/pkcs15-profile.5* |