Bug 1540774 - Update to 0.5.0, support EPEL
Summary: Update to 0.5.0, support EPEL
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: yubikey-manager
Version: 28
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Seth Jennings
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-01 00:25 UTC by Orion Poplawski
Modified: 2019-05-13 01:05 UTC (History)
2 users (show)

Fixed In Version: yubikey-manager-2.1.0-3.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-13 01:05:19 UTC


Attachments (Terms of Use)

Description Orion Poplawski 2018-02-01 00:25:16 UTC
Description of problem:

I've been working on getting yubioath-desktop running on EL7, and needed to update yubikey-manager to 0.5.0 to get it to work.  So:


diff --git a/yubikey-manager.spec b/yubikey-manager.spec
index 29f079a..9b7b1f9 100644
--- a/yubikey-manager.spec
+++ b/yubikey-manager.spec
@@ -1,5 +1,5 @@
 Name:           yubikey-manager
-Version:        0.4.0
+Version:        0.5.0
 Release:        1%{?dist}
 Summary:        Python library and command line tool for configuring a YubiKey
 
@@ -7,24 +7,43 @@ License:        BSD
 URL:            https://developers.yubico.com/%{name}/
 Source0:        https://developers.yubico.com/%{name}/Releases/%{name}-%{version}.tar.gz
 
+
 BuildArch:      noarch
-BuildRequires:  python3-devel swig pcsc-lite-devel
+BuildRequires:  python%{python3_pkgversion}-devel swig pcsc-lite-devel
+%if 0%{?fedora}
 # install_requires from setup.py
 BuildRequires:  %{py3_dist six pyusb pyscard click cryptography pyOpenSSL}
-Requires:       python3-%{name}
+%else
+BuildRequires:  python%{python3_pkgversion}-six
+BuildRequires:  python%{python3_pkgversion}-pyusb
+BuildRequires:  python%{python3_pkgversion}-pyscard
+BuildRequires:  python%{python3_pkgversion}-click
+BuildRequires:  python%{python3_pkgversion}-cryptography
+BuildRequires:  python%{python3_pkgversion}-pyOpenSSL
+%endif
+Requires:       python%{python3_pkgversion}-%{name}

 %description
 Command line tool for configuring a YubiKey.

-%package -n python3-%{name}
+%package -n python%{python3_pkgversion}-%{name}
 Summary:        Python library for configuring a YubiKey
 Requires:       ykpers pcsc-lite
+%if 0%{?fedora}
 # install_requires from setup.py
 Requires:       %{py3_dist six pyusb pyscard click cryptography pyOpenSSL}
+%else
+Requires:       python%{python3_pkgversion}-six
+Requires:       python%{python3_pkgversion}-pyusb
+Requires:       python%{python3_pkgversion}-pyscard
+Requires:       python%{python3_pkgversion}-click
+Requires:       python%{python3_pkgversion}-cryptography
+Requires:       python%{python3_pkgversion}-pyOpenSSL
+%endif

-%{?python_provide:%python_provide python3-%{name}}
+%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}

-%description -n python3-%{name}
+%description -n python%{python3_pkgversion}-%{name}
 Python library for configuring a YubiKey.

 %prep
@@ -37,9 +56,11 @@ Python library for configuring a YubiKey.
 %py3_install

 %check
-%{__python3} setup.py test
+# Fail due to missing file, perhaps other things
+# https://github.com/Yubico/yubikey-manager/issues/47
+py.test-%{python3_version} || :

-%files -n python3-%{name}
+%files -n python%{python3_pkgversion}-%{name}
 %license COPYING
 %doc NEWS
 %{python3_sitelib}/*
@@ -48,6 +69,11 @@ Python library for configuring a YubiKey.
 %{_bindir}/ykman

 %changelog
+* Wed Jan 31 2018 Orion Poplawski <orion@nwra.com> - 0.5.0-1
+- Update to 0.5.0
+- Run tests, ignore failures for now
+- Support EPEL
+
 * Wed Aug 9 2017 Seth Jennings <sethdjennings@gmail.com> - 0.4.0-1
 - New package
 - Upstream release

It's a bit ugly supporting both epel and fedora in the same spec, so if you're not interested I can maintain a separate spec in the epel branches.

Comment 1 Orion Poplawski 2018-02-01 21:27:09 UTC
I've requested the epel7 branch here - https://pagure.io/releng/fedora-scm-requests/issue/4342

Still have some dependencies to get fixed before it can be shipped.

Comment 2 Fedora End Of Life 2018-02-20 15:36:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 3 Fedora Update System 2019-04-26 04:21:01 UTC
yubikey-manager-2.1.0-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-9ce8ef6639

Comment 4 Dag Heyman 2019-04-26 06:43:45 UTC
I just tried the yubikey-manager-2.1.0-2.el7 package on a clean CentOS 7 image (downloaded it manually since it's not published in epel-testing yet). Works well, but I found two things:

1. python36-setuptools is needed as a runtime dependency, otherwise the command

 $ ykman info

fails with: 

 ModuleNotFoundError: No module named 'pkg_resources'


2. It might be useful to add something like

 systemctl enable pcscd

as a post-install scriptlet or similar, since it's needed for the CCID communication to work. If pcscd is not running all CCID commands fails with:

 smartcard.pcsc.PCSCExceptions.EstablishContextException: 'Failure to establish context: Service not available.'

Comment 5 Dag Heyman 2019-04-26 08:50:16 UTC
Another thing, u2f-host is not strictly a dependency for yubikey-manager anymore, all FIDO communication is handled by the python-fido2 package. u2f-hidraw-policy is still needed though.

Comment 6 Orion Poplawski 2019-04-27 01:43:09 UTC
Thanks.  I've added a requires on setuptools, and changed the u2f requires to u2f-hidraw-policy.  As for autostarting pcscd, that's not going to happen, see: https://fedoraproject.org/wiki/Packaging:Systemd#Why_don.27t_we....

Comment 7 Fedora Update System 2019-04-27 02:56:50 UTC
yubikey-manager-2.1.0-3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a14b025d8e

Comment 8 Fedora Update System 2019-04-27 23:36:25 UTC
yubikey-manager-2.1.0-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a14b025d8e

Comment 9 Ben Cotton 2019-05-02 19:38:37 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 10 Fedora Update System 2019-05-13 01:05:19 UTC
yubikey-manager-2.1.0-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.