Bug 311422 - OR depends will used as required on qapt-deb-installer
Summary: OR depends will used as required on qapt-deb-installer
Status: CONFIRMED
Alias: None
Product: libqapt
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Harald Sitter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-09 16:26 UTC by FabiB
Modified: 2021-03-10 00:12 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
test deb (662 bytes, application/x-deb)
2012-12-09 16:28 UTC, FabiB
Details

Note You need to log in before you can comment on or make changes to this bug.
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.