Bug 1921519

Summary: F34FailsToInstall: python3-yubikey-manager
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: yubikey-managerAssignee: Gerald Cox <gbcox>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gbcox, jjelen, orion, releng, sethdjennings, thrnciar
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: yubikey-manager-4.0.0p1-1.20210302gitea268d5.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-19 17:43:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1868278, 1890881, 1923384    

Description Miro Hrončok 2021-01-28 05:37:36 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

Your package (yubikey-manager) Fails To Install in Fedora 34:

can't install python3-yubikey-manager:
  - nothing provides (python3.9dist(fido2) < 0.9 with python3.9dist(fido2) >= 0.7) needed by python3-yubikey-manager-3.1.2-1.20210122gitba049e1.fc34.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.

P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors.

P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/rawhide-gating/multi-builds/

Thanks!

Comment 1 Gerald Cox 2021-01-29 18:56:52 UTC
Upstream has responded and is planning to have release 4 available in the March/April time frame.  For me information, refer to the upstream bug.

Comment 2 Gerald Cox 2021-02-01 18:01:27 UTC
*** Bug 1923620 has been marked as a duplicate of this bug. ***

Comment 3 Jakub Jelen 2021-02-01 18:11:57 UTC
This package is dependency of yubikey-manager-qt, which now fails to build as this package is not possible to install. Is there some way to unbreak this at least temporarily sooner than the release will come?

Comment 4 Miro Hrončok 2021-02-01 18:23:37 UTC
Seems like fido2 changed the API: https://github.com/Yubico/python-fido2/blob/master/NEWS

Upstream has declared yubikey-manager doesn't work with it: https://github.com/Yubico/yubikey-manager/commit/10242d411db8945d84cbc5142e4e0964c32bf9ec

Seems to have been real issues, because they released a new version of yubikey-manager with this declaration.

Since yubikey-manager is the only consumer of fido2 in Fedora, a solution would be to revert back to fido2 0.8.x and introduce an epoch.

CCing Orion, wrt https://src.fedoraproject.org/rpms/python-fido2/c/c3eaa1a61cd9d26f01b8ed32a3af1f93b2a0c91f?branch=master -- can this be reverted with epoch bump? Or was the update needed for something outside of Fedora?

Comment 5 Orion Poplawski 2021-02-01 20:01:11 UTC
I simply updated fido2 because there was an update.  It can be reverted.

Comment 6 Gerald Cox 2021-02-01 21:19:18 UTC
(In reply to Orion Poplawski from comment #5)
> I simply updated fido2 because there was an update.  It can be reverted.

Everyone, please remember that the updated yubikey-manager will be available in the March/April timeframe, and it will need the new
Fido2.

Thanks!

Comment 7 Gerald Cox 2021-02-03 19:11:30 UTC
Here is the latest update:

> I've now released an alpha: 4.0.0a1. It's published to PyPI and also tagged in this repo.
> Note that we also just released python-fido2 0.9.1 to include some error code definitions that were missing in the 0.9.0 release.
>
> There are substantial build-system changes to ykman 4.0.0, I hope these do not cause issues for packaging. If they do, let us know and we'll see what we can do about it!

I'm going to build and put it out on rawhide.  The production version is now scheduled to be released by the end of February.

@Orion, if you could put 0.9.1 out on rawhide, that would be appreciated!

Comment 8 Orion Poplawski 2021-02-04 00:40:26 UTC
Building - https://koji.fedoraproject.org/koji/taskinfo?taskID=61251751

Comment 9 Miro Hrončok 2021-02-05 15:21:59 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 34.

Thanks for taking care of it!

Comment 10 Gerald Cox 2021-02-10 19:21:01 UTC
yubioath-desktop issue fixed with this commit, which has been pushed to rawhide and F34:
https://github.com/Yubico/yubikey-manager/commit/d3802d4bd2a23ee50351605d59d55d8f5d9d5577

Comment 11 Orion Poplawski 2021-02-11 00:39:24 UTC
Gerald - I'm starting to look at getting yubikey-manager into EPEL8.  Do you think I should go ahead and start with fido2 0.9.1 or use an older version.  I've built 0.9.1 and the latest ykman from rawhide on EL8 and it at least runs, though I've hit one traceback:

  File "/usr/lib/python3.6/site-packages/ykman/driver_fido.py", line 97, in open_devices
    for dev in CtapHidDevice.list_devices(descriptor_filter):
TypeError: list_devices() takes 1 positional argument but 2 were given

Comment 12 Orion Poplawski 2021-02-11 00:39:58 UTC
That's from running "ykman fido info"

Comment 13 Gerald Cox 2021-02-11 17:50:31 UTC
(In reply to Orion Poplawski from comment #11)
> Gerald - I'm starting to look at getting yubikey-manager into EPEL8.  Do you
> think I should go ahead and start with fido2 0.9.1 or use an older version. 
> I've built 0.9.1 and the latest ykman from rawhide on EL8 and it at least
> runs, though I've hit one traceback:
> 
>   File "/usr/lib/python3.6/site-packages/ykman/driver_fido.py", line 97, in
> open_devices
>     for dev in CtapHidDevice.list_devices(descriptor_filter):
> TypeError: list_devices() takes 1 positional argument but 2 were given

I'm not a python expert, but my first guess is that the newer code which was recently
changed for python 3.9 has something that is now not compatible with earlier releases.

You may be stuck with having to use the older releases with EPEL.

Comment 14 Gerald Cox 2021-03-02 19:05:43 UTC
yubikey-manager 4.0.0

Repository: Yubico/yubikey-manager · Tag: 4.0.0

    Drop support for Python < 3.6.
    Drop reliance on libusb and libykpersonalize.
    Support the "fido" and "otp" subcommands over NFC (using the --reader flag)
    New "ykman --diagnose" command to aid in troubleshooting.
    New "ykman apdu" command for sending raw APDUs over the smart card interface.
    Restructuring of subcommands, with aliases for old versions (to be removed in a future release).
    Major changes to the underlying "library" code:
        New "yubikit" package added for custom development and advanced scripting.
        Type hints added for a large part of the "public" API.
    OpenPGP: Add support for KDF enabled YubiKeys.
    Static password: Add support for FR, IT, UK and BEPO keyboard layouts.

Comment 15 Fedora Update System 2021-03-02 19:52:47 UTC
FEDORA-2021-e865492fe2 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-e865492fe2

Comment 16 Fedora Update System 2021-03-03 15:46:42 UTC
FEDORA-2021-e865492fe2 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-e865492fe2`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-e865492fe2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2021-03-19 17:43:42 UTC
FEDORA-2021-e865492fe2 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2021-03-19 19:59:49 UTC
FEDORA-2021-e865492fe2 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.