From 4f1afdc2398ed01130bc072b73d09904d5e7ac38 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 6 Dec 2018 16:04:47 -0700 Subject: [PATCH] Initial import --- .gitignore | 1 + python-fido2-setup.patch | 13 ++++ python-fido2.spec | 156 +++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 171 insertions(+) create mode 100644 .gitignore create mode 100644 python-fido2-setup.patch create mode 100644 python-fido2.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa0a893 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/python-python-fido2-0.4.0.tar.gz diff --git a/python-fido2-setup.patch b/python-fido2-setup.patch new file mode 100644 index 0000000..f43ece2 --- /dev/null +++ b/python-fido2-setup.patch @@ -0,0 +1,13 @@ +diff -up python-fido2-0.4.0/setup.py.setup python-fido2-0.4.0/setup.py +--- python-fido2-0.4.0/setup.py.setup 2018-09-27 04:51:05.000000000 -0600 ++++ python-fido2-0.4.0/setup.py 2018-11-30 16:23:47.747443403 -0700 +@@ -49,9 +49,6 @@ setup( + 'six', + 'cryptography>=1.0', + ], +- extras_require={ +- ':python_version < "3.4"': ['enum34'] +- }, + test_suite='test', + tests_require=['mock>=1.0.1', 'pyfakefs>=2.4'], + classifiers=[ diff --git a/python-fido2.spec b/python-fido2.spec new file mode 100644 index 0000000..eb2efc2 --- /dev/null +++ b/python-fido2.spec @@ -0,0 +1,156 @@ +%if 0%{?fedora} +%bcond_with python2 +%else +%bcond_without python2 +%endif +# Missing pyfakefs on EPEL7 +%bcond_with python2_tests + +%global srcname fido2 + +Name: python-%{srcname} +Version: 0.4.0 +Release: 2%{?dist} +Summary: Functionality for FIDO 2.0, including USB device communication + +# Main code is BSD +# pyu2f is APLv2 +# public_suffix_list.dat is MPLv2 +License: BSD and ASL 2.0 and MPLv2.0 +URL: https://github.com/Yubico/python-fido2 +Source0: https://github.com/Yubico/python-%{srcname}/archive/%{version}/python-%{name}-%{version}.tar.gz +# Deal with old setuptools on EPEL7 +Patch0: python-fido2-setup.patch +BuildArch: noarch + +%global _description\ +Provides library functionality for communicating with a FIDO device over USB\ +as well as verifying attestation and assertion signatures.\ +\ +WARNING: This project is in beta. Expect things to change or break at any time!\ +\ +This library aims to support the FIDO U2F and FIDO 2.0 protocols for\ +communicating with a USB authenticator via the Client-to-Authenticator\ +Protocol (CTAP 1 and 2). In addition to this low-level device access, classes\ +defined in the fido2.client and fido2.server modules implement higher level\ +operations which are useful when interfacing with an Authenticator, or when\ +implementing a Relying Party.\ +\ +For usage, see the examples/ directory. + +%description %_description + +%if %{with python2} +%package -n python2-%{srcname} +Summary: %summary +BuildRequires: python2-devel +BuildRequires: python2-cryptography +BuildRequires: python2-six +BuildRequires: python2-enum34 +# For tests +BuildRequires: python2-mock +%if %{with python2_tests} +BuildRequires: python2-pyfakefs +%endif +Requires: python2-enum34 +Requires: python2-cryptography +Requires: python2-six +%{?python_provide:%python_provide python2-%{srcname}} + +%description -n python2-%{srcname} %_description +%endif + +%package -n python%{python3_pkgversion}-%{srcname} +Summary: %summary +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-cryptography +BuildRequires: python%{python3_pkgversion}-six +# For tests +BuildRequires: python%{python3_pkgversion}-mock +BuildRequires: python%{python3_pkgversion}-pyfakefs +Requires: python%{python3_pkgversion}-cryptography +Requires: python%{python3_pkgversion}-six +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} + +%description -n python%{python3_pkgversion}-%{srcname} %_description + +%if 0%{?python3_other_pkgversion} +%package -n python%{python3_other_pkgversion}-%{srcname} +Summary: %summary +BuildRequires: python%{python3_other_pkgversion}-devel +BuildRequires: python%{python3_other_pkgversion}-cryptography +BuildRequires: python%{python3_other_pkgversion}-six +# For tests +BuildRequires: python%{python3_other_pkgversion}-mock +BuildRequires: python%{python3_other_pkgversion}-pyfakefs +Requires: python%{python3_other_pkgversion}-cryptography +Requires: python%{python3_other_pkgversion}-six +%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{srcname}} + +%description -n python%{python3_other_pkgversion}-%{srcname} %_description +%endif + +%prep +%autosetup -p1 + + +%build +%if %{with python2} +%py2_build +%endif +%py3_build +%if 0%{?python3_other_pkgversion} +%py3_other_build +%endif + + +%install +%if %{with python2} +%py2_install +%endif +%py3_install +%if 0%{?python3_other_pkgversion} +%py3_other_install +%endif + + +%check +%if %{with python2} && %{with python2_tests} +%{__python2} setup.py test +%endif +%{__python3} setup.py test +%if 0%{?python3_other_pkgversion} +%{__python3_other} setup.py test +%endif + + +%if %{with python2} +%files -n python2-%{srcname} +%license COPYING* +%doc NEWS README.adoc examples +%{python2_sitelib}/%{srcname}-*.egg-info/ +%{python2_sitelib}/%{srcname}/ +%endif + +%files -n python%{python3_pkgversion}-%{srcname} +%license COPYING* +%doc NEWS README.adoc examples +%{python3_sitelib}/%{srcname}-*.egg-info/ +%{python3_sitelib}/%{srcname}/ + +%if 0%{?python3_other_pkgversion} +%files -n python%{python3_pkgversion}-%{srcname} +%license COPYING* +%doc NEWS README.adoc examples +%{python3_other_sitelib}/%{srcname}-*.egg-info/ +%{python3_other_sitelib}/%{srcname}/ +%endif + + +%changelog +* Mon Dec 3 2018 Orion Poplawski - 1.2.4-2 +- Fix License +- Remove tab and fix permissions + +* Fri Nov 30 2018 Orion Poplawski - 1.2.4-1 +- Initial Fedora package diff --git a/sources b/sources new file mode 100644 index 0000000..51fd77b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (python-python-fido2-0.4.0.tar.gz) = f825ff8b4989010175e0a488ef45ee62190dc7b0617dae08155bdd93e02499b003d02ce512828eb09e174e962e7f5d30bd01431236e7d31f4588e2e4b678288b