diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f3d7f02 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/python-yubico-1.3.3.tar.gz diff --git a/.python-yubico.metadata b/.python-yubico.metadata new file mode 100644 index 0000000..b1d4229 --- /dev/null +++ b/.python-yubico.metadata @@ -0,0 +1 @@ +91a1fa9e7b0f028c8b56ff66fdacfdc6cfd9ff9f SOURCES/python-yubico-1.3.3.tar.gz diff --git a/SOURCES/0001-literal-comparison.patch b/SOURCES/0001-literal-comparison.patch new file mode 100644 index 0000000..e3feff1 --- /dev/null +++ b/SOURCES/0001-literal-comparison.patch @@ -0,0 +1,66 @@ +From b4a53389c3e6ad41c836aa82998149f427fe1ad8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tibor=20Dudl=C3=A1k?= +Date: Tue, 10 Sep 2019 19:12:19 +0200 +Subject: [PATCH] Do not use comparision with "is" for literals +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +There is a warning with python 3.8 at fedora rawhide about +comparision with "is" while running ipa-server install. +See: https://bugs.python.org/issue34850 + +Signed-off-by: Tibor Dudlák +--- + yubico/yubikey_config.py | 4 ++-- + yubico/yubikey_usb_hid.py | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/yubico/yubikey_config.py b/yubico/yubikey_config.py +index b5a30c4..caeed02 100644 +--- a/yubico/yubikey_config.py ++++ b/yubico/yubikey_config.py +@@ -475,12 +475,12 @@ def to_frame(self, slot=1): + """ + data = self.to_string() + payload = data.ljust(64, yubico_util.chr_byte(0x0)) +- if slot is 1: ++ if slot == 1: + if self._update_config: + command = SLOT.UPDATE1 + else: + command = SLOT.CONFIG +- elif slot is 2: ++ elif slot == 2: + if self._update_config: + command = SLOT.UPDATE2 + else: +diff --git a/yubico/yubikey_usb_hid.py b/yubico/yubikey_usb_hid.py +index c07dcaa..b87ff3c 100644 +--- a/yubico/yubikey_usb_hid.py ++++ b/yubico/yubikey_usb_hid.py +@@ -285,13 +285,13 @@ def _waitfor(self, mode, mask, may_block, timeout=2): + seconds_left = min(20, seconds_left) + wait_num = (seconds_left * 2) - 1 + 6 + +- if mode is 'nand': ++ if mode == 'nand': + if not flags & mask == mask: + finished = True + else: + self._debug("Status %s (0x%x) has not cleared bits %s (0x%x)\n" + % (bin(flags), flags, bin(mask), mask)) +- elif mode is 'and': ++ elif mode == 'and': + if flags & mask == mask: + finished = True + else: +@@ -303,7 +303,7 @@ def _waitfor(self, mode, mask, may_block, timeout=2): + if not finished: + wait_num -= 1 + if wait_num == 0: +- if mode is 'nand': ++ if mode == 'nand': + reason = 'Timed out waiting for YubiKey to clear status 0x%x' % mask + else: + reason = 'Timed out waiting for YubiKey to set status 0x%x' % mask diff --git a/SPECS/python-yubico.spec b/SPECS/python-yubico.spec new file mode 100644 index 0000000..ef19f7c --- /dev/null +++ b/SPECS/python-yubico.spec @@ -0,0 +1,166 @@ +%{?python_enable_dependency_generator} +%global srcname yubico + +Name: python-%{srcname} +Version: 1.3.3 +Release: 7%{?dist} +Summary: Pure-python library for interacting with Yubikeys + +License: BSD +URL: https://github.com/Yubico/%{name} +Source0: https://github.com/Yubico/%{name}/archive/%{name}-%{version}.tar.gz +Patch0001: 0001-literal-comparison.patch + +BuildArch: noarch + +%description +Pure-python library for interacting with Yubikeys + + +%package -n python3-%{srcname} +Summary: Pure-python library for interacting with Yubikeys +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pytest +BuildRequires: python3-pyusb + +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} +Pure-python library for interacting with Yubikeys. For Python 3. + + +%prep +%autosetup -n %{name}-%{name}-%{version} -p1 + + +%build +%py3_build + + +%install +%py3_install + + +%check +%pytest test/soft/ + + +%files -n python3-%{srcname} +%license COPYING +%doc NEWS README +%{python3_sitelib}/* + + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 1.3.3-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 1.3.3-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Feb 03 18:03:23 CET 2021 Christian Heimes - 1.3.3-5 +- Use pytest instead of nose (#1918336) +- Don't use is to compare literals (#1749216) + +* Wed Jan 27 2021 Fedora Release Engineering - 1.3.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 1.3.3-2 +- Rebuilt for Python 3.9 + +* Thu Mar 05 2020 Mohan Boddu - 1.3.3-1 +- Update to 1.3.3 +- Removing py3 patches + +* Thu Jan 30 2020 Fedora Release Engineering - 1.3.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 21 2019 Miro Hrončok - 1.3.2-17 +- Drop forgotten build dependency on python2-pyusb + +* Thu Oct 03 2019 Miro Hrončok - 1.3.2-16 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Sun Aug 18 2019 Zbigniew Jędrzejewski-Szmek - 1.3.2-15 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.3.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.3.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 11 2019 Igor Gnatenko - 1.3.2-12 +- Enable python dependency generator + +* Wed Jan 09 2019 Miro Hrončok - 1.3.2-11 +- Subpackage python2-yubico has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Jul 14 2018 Fedora Release Engineering - 1.3.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.3.2-9 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 1.3.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 24 2017 Nathaniel McCallum - 1.3.2-7 +- Backport an upstream python3 fix (#1484862) + +* Thu Jul 27 2017 Fedora Release Engineering - 1.3.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.3.2-4 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 1.3.2-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed May 11 2016 Nathaniel McCallum - 1.3.2-2 +- Add missing provide for python-yubico +- Add missing obsoletes for python-yubico + +* Tue May 10 2016 Nathaniel McCallum - 1.3.2-1 +- Cleanup obsolete conditions (like RHEL 6) +- Update to v1.3.2 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.2.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 11 2016 Will Thompson - 1.2.3-5 +- Add python3-pyusb dependency to python3 subpackage (#1278210) + +* Mon Jan 11 2016 Ville Skyttä +- Ship COPYING as %%license where applicable + +* Tue Nov 10 2015 Fedora Release Engineering - 1.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Jul 20 2015 Miro Hrončok - 1.2.3-3 +- Add Python 3 subpackage (#1244237) + +* Thu Jun 18 2015 Fedora Release Engineering - 1.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Mar 23 2015 Nathaniel McCallum - 1.2.3-1 +- Upstream 1.2.3 +- Require pyusb during building when running tests + +* Mon Jun 23 2014 Nathaniel McCallum - 1.2.1-3 +- Enable build on EL6. + +* Sat Jun 21 2014 Nathaniel McCallum - 1.2.1-2 +- Run upstream tests during build. + +* Thu Jun 19 2014 Nathaniel McCallum - 1.2.1-1 +- Initial release.