Bug 1222090 - nitrokey client library python3-pynitrokey-0.4.45-26.2.noarch complains about non available dependency
Summary: nitrokey client library python3-pynitrokey-0.4.45-26.2.noarch complains about...
Status: RESOLVED FIXED
: 1222657 (view as bug list)
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: x86-64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Johannes Kastl
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-27 19:39 UTC by Stakanov Schufter
Modified: 2024-04-24 17:21 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stakanov Schufter 2024-03-27 19:39:53 UTC
Following dependency cannot be fulfilled:

python3-pynitrokey-0.4.45-26.2.noarch installed requires '(python3-spsdk >= 2.0 with python3-spsdk < 2.1)', but it is not possible to fulfill this request.
Comment 1 hui 2024-04-11 06:28:44 UTC
*** Bug 1222657 has been marked as a duplicate of this bug. ***
Comment 2 Johannes Kastl 2024-04-13 12:14:07 UTC
Hi Stakanov, hi Felix (from Bug 1222657),

I have prepared a patched version that allows installing python3-pynitrokey with spsdk 2.1.x:
https://build.opensuse.org/project/show/home:ojkastl_buildservice:Branch_security

I used it successfully to update the firmware on my Nitrokey 3, so it seems work (at least for my key).

Could you give it a try, before I send it to security: and Factory?

Kind Regards,
Johannes
Comment 3 Stakanov Schufter 2024-04-13 14:11:39 UTC
(In reply to Johannes Kastl from comment #2)
> Hi Stakanov, hi Felix (from Bug 1222657),
> 
> I have prepared a patched version that allows installing python3-pynitrokey
> with spsdk 2.1.x:
> https://build.opensuse.org/project/show/home:ojkastl_buildservice:
> Branch_security
> 
> I used it successfully to update the firmware on my Nitrokey 3, so it seems
> work (at least for my key).
> 
> Could you give it a try, before I send it to security: and Factory?
> 
> Kind Regards,
> Johannes

Thank you Johannes to look into this, I have to admit I am fighting to understand how to install it. Tried to join the repo (https://build.opensuse.org/project/show/home:ojkastl_buildservice:Branch_security) but yast tells the the address is wrong. 
I am dead sure I forgot how to do it correctly and the solution is right in front of my eyes, so if you can educate my failing mind I would be grateful.
Comment 4 Johannes Kastl 2024-04-13 16:38:06 UTC
Hi Stakanov,

something like this:

sudo zypper ar -f -r https://download.opensuse.org/repositories/home:/ojkastl_buildservice:/Branch_security/openSUSE_Tumbleweed/home:ojkastl_buildservice:Branch_security.repo
sudo zypper ref
# accept GPG key
sudo zypper up --allow-vendor-change python3-pynitrokey

Kind Regards,
Johannes
Comment 5 Stakanov Schufter 2024-04-13 20:09:22 UTC
(In reply to Johannes Kastl from comment #4)
> Hi Stakanov,
> 
> something like this:
> 
> sudo zypper ar -f -r
> https://download.opensuse.org/repositories/home:/ojkastl_buildservice:/
> Branch_security/openSUSE_Tumbleweed/home:ojkastl_buildservice:
> Branch_security.repo
> sudo zypper ref
> # accept GPG key
> sudo zypper up --allow-vendor-change python3-pynitrokey
> 
> Kind Regards,
> Johannes

stand by as it gives an error starting up. I will try to post it tomorrow, as the machine will have rebooted and for some reason the error messages of autostart in kde have no button to copy and paste, the output is quite long so, I wish to see if after the reboot it is maybe gone and if not I will have to search were I can retrieve the error (probably journalctl).
Comment 6 Stakanov Schufter 2024-04-14 13:49:42 UTC
Here from jounrnalctl:
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]: ImportError: cannot import name 'Nitrokey3Device' from 'pynitrokey.nk3' (/usr/lib/python3.11/site-packages/pynitrokey/nk3/__init__.py)
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:     from pynitrokey.nk3 import Nitrokey3Device
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:   File "/usr/lib/python3.11/site-packages/nitrokeyapp/gui.py", line 12, in <module>
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:     from nitrokeyapp.gui import GUI
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:   File "/usr/lib/python3.11/site-packages/nitrokeyapp/__main__.py", line 10, in <module>
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:     from nitrokeyapp.__main__ import main
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]:   File "/usr/bin/nitrokeyapp", line 5, in <module>
apr 14 09:31:07 silversurfer.fritz.box nitrokeyapp[22030]: Traceback (most recent call last):

then you find later the following:
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        Connection not established yet
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        run
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        Connection not established yet
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        run
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        Connection not established yet
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        run
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        Connection not established yet
apr 14 09:31:07 silversurfer.fritz.box nitrokey-app[22029]: [Sun Apr 14 09:31:07 2024][DEBUG_L2]        run
apr 14 09:31:07 silversurfer.fritz.box systemd[21570]: app-nitrokeyapp2@autostart.service: Failed with result 'exit-code'.
apr 14 09:31:07 silversurfer.fritz.box systemd[21570]: app-nitrokeyapp2@autostart.service: Main process exited, code=exited, status=1/FAILURE


The protocol of autostart in KDE says:

2024.04.14 09:31 app-nitrokey2@autostart.service:failed with result: exit-code
app-nitrokeyapp2@autostart.service: Main process exited, code=exited,status=1/Failure
ImportError: cannot import name 'NitrokeyDevice' from 'pynitrokey.nk3'(/usr/lib/python3.11/site-packages/pynitrokey/nk3_init_.py) from pynitorkey.nk3 import Nitrokey3Device
File "/usr/lib/python3.11/site-packages/nitrokeyapp/gui.py",line 10, in from nitrokeyapp._main_import main
File "usr/bin/nitrokeyapp", line5, in Traceback (most recent calls):
Comment 7 Johannes Kastl 2024-04-14 16:38:48 UTC
Hi Stakanov,

looks like you are using some graphical interface (nitroapp)? Not sure if the error come from an incompatibility between the nitroapp and pynitrokey.

Could you please check if you can successfully use the following commands (as non-root user):

nitropy list
nitropy nk3 list
nitropy fido2 list

Do those work (and show your Nitrokey)? Or do they error out?

If those are fine, then I guess this bug is solved and we can have a look at the nitroapp. How did you install it?

Kind Regards,
Johannes
Comment 8 Stakanov Schufter 2024-04-14 17:41:15 UTC
they work fine and give no error. 

Nitro-app2 is the graphical tool (from security) that has to be installed for nitrokey3 while nitrokey app version 1.4.2 is for version 2 nitrokeys. They are thought to be installed in parallel if you have both versions. The old app nitrokey-app works, the new did start well, before this issue and now does present the error. 

Packages came from security both. 
entropy@silversurfer:~> rpm --version nitrokey
RPM versione 4.19.1.1

entropy@silversurfer:~> nitrokey-app --version
Nitrokey App 1.4.2

nitrokey-app 2 is version 2.1.2-15 and is started via the command line (as an icon was never established (it is still very recent). Command is "nitrokeyapp" one word. Which worked fine before but now gives:

entropy@silversurfer:~> nitrokeyapp --version
Traceback (most recent call last):
  File "/usr/bin/nitrokeyapp", line 5, in <module>
    from nitrokeyapp.__main__ import main
  File "/usr/lib/python3.11/site-packages/nitrokeyapp/__main__.py", line 10, in <module>
    from nitrokeyapp.gui import GUI
  File "/usr/lib/python3.11/site-packages/nitrokeyapp/gui.py", line 12, in <module>
    from pynitrokey.nk3 import Nitrokey3Device
ImportError: cannot import name 'Nitrokey3Device' from 'pynitrokey.nk3' (/usr/lib/python3.11/site-packages/pynitrokey/nk3/__init__.py)








(In reply to Stakanov Schufter from comment #3)
> (In reply to Johannes Kastl from comment #2)
> > Hi Stakanov, hi Felix (from Bug 1222657),
> > 
> > I have prepared a patched version that allows installing python3-pynitrokey
> > with spsdk 2.1.x:
> > https://build.opensuse.org/project/show/home:ojkastl_buildservice:
> > Branch_security
> > 
> > I used it successfully to update the firmware on my Nitrokey 3, so it seems
> > work (at least for my key).
> > 
> > Could you give it a try, before I send it to security: and Factory?
> > 
> > Kind Regards,
> > Johannes
> 
> Thank you Johannes to look into this, I have to admit I am fighting to
> understand how to install it. Tried to join the repo
> (https://build.opensuse.org/project/show/home:ojkastl_buildservice:
> Branch_security) but yast tells the the address is wrong. 
> I am dead sure I forgot how to do it correctly and the solution is right in
> front of my eyes, so if you can educate my failing mind I would be grateful.
Comment 9 Johannes Kastl 2024-04-14 19:36:54 UTC
I could install the nitrokey-app package and could start it without errors.

The nitrokey-app2 could not be installed on my Tumbleweed machine, as python3-qt-material could not be found.

As this seems to not be related to the python3-pynitrokey package, can we close this bug? If your error persists, please open up a bug for the nitrokey-app2 package.
Comment 10 Stakanov Schufter 2024-04-14 20:35:31 UTC
(In reply to Johannes Kastl from comment #9)
> I could install the nitrokey-app package and could start it without errors.
> 
> The nitrokey-app2 could not be installed on my Tumbleweed machine, as
> python3-qt-material could not be found.
> 
> As this seems to not be related to the python3-pynitrokey package, can we
> close this bug? If your error persists, please open up a bug for the
> nitrokey-app2 package.

yes, closing. Thank you for your help.
Comment 11 Felix Niederwanger 2024-04-15 06:32:34 UTC
Thank you Johannes!
Comment 12 Stakanov Schufter 2024-04-16 06:43:14 UTC
 zypper dup
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

Problem: 1: problem with the installed python3-pynitrokey-0.4.46-53.1.noarch
 Solution 1: Following actions will be done:
  deinstallation of python3-pynitrokey-0.4.46-53.1.noarch
  deinstallation of nitrokey-app2-2.1.2-1.5.x86_64
 Solution 2: keep obsolete python3-pynitrokey-0.4.46-53.1.noarch

Choose from above solutions by number or cancel [1/2/c/d/?] (c): 


From this mornings update. In the meanwhile the system had changed to the version of security (which was working until now). 

So, sorry, I do not even understand what the system is complaining about, but I think this may be an issue related to nitrokey-app2?
Comment 13 Johannes Kastl 2024-04-18 05:21:01 UTC
Hi Stakanov,

upstream just released a new version that officially supports spsdk 2.1.

I am currently building the package and will submit it as soon as I tested it.

Kind Regards,
Johannes
Comment 14 Johannes Kastl 2024-04-18 05:26:34 UTC
Updated package containing the fix submitted in SR#1168691
Comment 16 Johannes Kastl 2024-04-24 17:21:27 UTC
python-pynitrokey was updated in Factory, this works with spsdk 2.0.x