Bug 2184137 - weak dependencies chain - some strange requirements
Summary: weak dependencies chain - some strange requirements
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: pass
Version: epel9
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Peter Georg
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-04-03 18:01 UTC by lejeczek
Modified: 2023-05-10 17:30 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-05-10 17:30:10 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description lejeczek 2023-04-03 18:01:23 UTC
Description of problem:

-> $ dnf install pass -y
Last metadata expiration check: 0:00:05 ago on Mon 03 Apr 2023 20:00:38 CEST.
Dependencies resolved.
=================================================================================================================
 Package                         Architecture      Version                            Repository            Size
=================================================================================================================
Installing:
 pass                            noarch            1.7.4-6.el9                        epel                  54 k
Installing dependencies:
 git-core                        x86_64            2.39.1-1.el9                       appstream            4.2 M
 libICE                          x86_64            1.0.10-8.el9                       appstream             71 k
 libSM                           x86_64            1.2.3-10.el9                       appstream             42 k
 libXmu                          x86_64            1.1.3-8.el9                        appstream             75 k
 libXt                           x86_64            1.2.0-6.el9                        appstream            180 k
 qrencode                        x86_64            4.1.1-1.el9                        epel                  25 k
 qrencode-libs                   x86_64            4.1.1-1.el9                        epel                  61 k
 tree                            x86_64            1.8.0-10.el9                       baseos                56 k
Installing weak dependencies:
 xclip                           x86_64            0.13-17.git11cba61.el9             epel                  36 k
 xorg-x11-server-Xorg            x86_64            1.20.11-17.el9                     appstream            1.5 M

Transaction Summary
=================================================================================================================
Install  11 Packages

Total size: 6.3 M
Installed size: 24 M
Downloading Packages:
[SKIPPED] tree-1.8.0-10.el9.x86_64.rpm: Already downloaded                                                      
[SKIPPED] git-core-2.39.1-1.el9.x86_64.rpm: Already downloaded                                                  
[SKIPPED] libICE-1.0.10-8.el9.x86_64.rpm: Already downloaded                                                    
[SKIPPED] libSM-1.2.3-10.el9.x86_64.rpm: Already downloaded                                                     
[SKIPPED] libXmu-1.1.3-8.el9.x86_64.rpm: Already downloaded                                                     
[SKIPPED] libXt-1.2.0-6.el9.x86_64.rpm: Already downloaded                                                      
[SKIPPED] xorg-x11-server-Xorg-1.20.11-17.el9.x86_64.rpm: Already downloaded                                    
[SKIPPED] pass-1.7.4-6.el9.noarch.rpm: Already downloaded                                                       
[SKIPPED] qrencode-4.1.1-1.el9.x86_64.rpm: Already downloaded                                                   
[SKIPPED] qrencode-libs-4.1.1-1.el9.x86_64.rpm: Already downloaded                                              
[SKIPPED] xclip-0.13-17.git11cba61.el9.x86_64.rpm: Already downloaded                                           
Running transaction check
Error: transaction check vs depsolve:
libXdmcp.so.6()(64bit) is needed by xorg-x11-server-Xorg-1.20.11-17.el9.x86_64
libXfont2.so.2()(64bit) is needed by xorg-x11-server-Xorg-1.20.11-17.el9.x86_64
xorg-x11-drv-libinput is needed by xorg-x11-server-Xorg-1.20.11-17.el9.x86_64
xorg-x11-server-common >= 1.20.11-17.el9 is needed by xorg-x11-server-Xorg-1.20.11-17.el9.x86_64


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Peter Georg 2023-04-04 06:07:55 UTC
Your description of problem does not describe any issues concerning pass and you have not provided any further information. Can you please describe which issue you are actually seeing?

Note: pass has a weak dependency (recommends) on xclip or wl-clipboard. It *tries* to auto-detect whether you are using X11 or Wayland. This is intended.

Your logs indicate that there are issues concerning the dependencies of xorg-x11-server-Xorg.
Have you tried installing xorg-x11-server-Xorg directly?
Have you tried running "dnf check" to see if there are problems in the packagedb?

Comment 2 lejeczek 2023-04-04 07:23:00 UTC
Problem is what the output of the cmd shows - installing 'pass' fails.
No other problems with rpm nor with dnf, everything else installs, removes, etc. okey.
Should be easy to replicate - try to install 'pass' on Centos 9 Stream.

Comment 3 Peter Georg 2023-04-04 09:31:48 UTC
I am running CentOS Stream 9 and have pass installed. No issues at all.

Installing pass fails cause installing one of its (indirect through recommends) dependencies (xorg-x11-server-Xorg) fails to install.

Hence I asked you to try to install xorg-x11-server-Xorg directly and see if that fails as well.
Can you please verify that?

Comment 4 lejeczek 2023-04-05 15:48:42 UTC
'xorg-x11-server-Xorg' installs, but why in the name of Jesus & st. Mary 'pass' - even through via deps - would want GUI components at all?
It's not of the "regular" dependencies, 'pass' insists on 'weak' ones.

Comment 5 Peter Georg 2023-04-05 16:27:57 UTC
(In reply to lejeczek from comment #4)
> 'xorg-x11-server-Xorg' installs, but why in the name of Jesus & st. Mary
> 'pass' - even through via deps - would want GUI components at all?
> It's not of the "regular" dependencies, 'pass' insists on 'weak' ones.

pass supports copying the password to the clipboard using either xclip or wl-clipboard. Hence these (acutally one of them depending on your environment) are listed as weak-dependencies. xclip then pulls in xorg-x11-server-Xorg.

pass does not insist on weak dependencies. Whether weak dependencies are installed or not depends on your dnf configuration. weak dependencies are skipped if they can not be fulfilled. In your case dependencies are available, and you seem to have configured dnf to install weak dependencies, hence dnf adds the dependencies to the list of packages to be installed.

Why dnf fails to properly detect the dependencies of xorg-x11-server-Xorg is the actual question here.
However, this is not an issue of pass, but of dnf. It's probably worth opening a bug report against dnf. Nothing we can change on the side of pass.

Comment 6 lejeczek 2023-04-07 06:43:21 UTC
If I might suggest - if possible, if would work for text/ssh-only envs - to split 'pass' into separate cmd-only & GUI packages.
If that could work, those with no-gui systems - and there must be plethora since it's Linux - will appreciate a lot.
thanks, L.

Comment 7 Christophe Fergeau 2023-04-11 08:18:55 UTC
There is no separate 'gui' tool for pass, the main script checks if wl-copy or xclip are available, and if they are, `pass show -c ...` copies the password directly to the relevant clipboard.
If you want to skip the install of the GUI packages, you can use `--setopt=install_weak_deps=False` on `yum`/`dnf` commandline. And I agree with Peter that there appears to be a dnf/xorg bug. Or maybe you blocked installation of some xorg related packages?

Comment 8 amatej 2023-04-18 13:00:29 UTC
There is a problem in dnf (tracked here: https://bugzilla.redhat.com/show_bug.cgi?id=2185061) but I think the pass spec file could also be improved to take into account lejeczek's use case.

The specfile contains:
...
Recommends:          (wl-clipboard if libwayland-client else xclip)
Recommends:          (xclip if xorg-x11-server-Xorg else wl-clipboard)
...

This works fine if libwayland-client or xorg-x11-server-Xorg is installed but if neither is it kind of recommends both.

Maybe you could try just:
Recommends:          (wl-clipboard if libwayland-client)
Recommends:          (xclip if xorg-x11-server-Xorg)
so that no Recommends is installed if there is no libwayland-client/xorg-x11-server-Xorg.

Comment 9 Peter Georg 2023-05-10 17:30:10 UTC
Closing this bug as the reported is issue is actually a libsolv issue as noted in comment https://bugzilla.redhat.com/show_bug.cgi?id=2184137#c8

In addition the improvements suggested by amatej have been implemented in epel9 branch and already submitted to testing (pass-1.7.4-7.el9). A MR to get these changes into rawhide as well has been opened (https://src.fedoraproject.org/rpms/pass/pull-request/5).


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