Bug 311422

Summary: OR depends will used as required on qapt-deb-installer
Product: [Unmaintained] libqapt Reporter: FabiB <plusfabi>
Component: generalAssignee: Harald Sitter <sitter>
Status: CONFIRMED ---    
Severity: normal CC: aleixpol, hello, sitter
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: test deb

Description FabiB 2012-12-09 16:26:32 UTC
for a *.deb we need libnotify-send or kdialog, so our dependencies are "libnotify-bin|kde-baseapps-bin". the problem is that if we try to install the final *.deb on kubuntu, the qapt-deb-installer always sais that it needs to install libnotify-bin, even if kde-baseapps-bin is installed. with dpkg -i it installs without libnotify. so i decided to  report this bug

Reproducible: Always

Steps to Reproduce:
1. click on the deb

Actual Results:  
qapt will open and needs to install some packages without need, because of OR depends


Expected Results:  
qapt should use only depends that dpkg -i will use too

control file:
Package: forqapttest
Version: 01
Section: games
Priority: extra
Architecture: all
Essential: no
Installed-Size: 8
Depends: libnotify-bin |kde-baseapps-bin
Maintainer: buildsystem <buildsystem@nomailadress.com>
Description: for qAPT test
 on qapt-deb-installer this will say it needs libnotify-bin
 but its only a OR dependency: libnotify-bin |kde-baseapps-bin
Comment 1 FabiB 2012-12-09 16:28:24 UTC
Created attachment 75753 [details]
test deb
Comment 2 Harald Sitter 2015-01-15 14:04:07 UTC
deb-installer::satisfyDepends (and possibly the other resolver functions in deb-installer) does not interpret or relationships correctly in that it would assume the first satisfactory package is the package that should be used to satisfy regardless of whether another package in the or relationship does already satisfy.

e.g. with the demo deb
libnotify-bin | kde-baseapps-bin
^ not installed but can be installed without error -> installer picks it because all is cool
                          ^ installed, installer doesn't even look at it though because first dep already satisfies

which is of course silly because an installed candidate always trumps a not installed candidate
Comment 3 Justin Zobel 2021-03-10 00:12:39 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.