Ticket #1248 (closed support-request: invalid)

Opened 5 years ago

Last modified 5 years ago

reasons of blocks are not complete in all cases

Reported by: fiasko Owned by:
Priority: MinorRelease Milestone:
Component: clients/cave Version: 0.74.1
Keywords: Cc:
Blocked By: Blocking:
Distribution: N/A

Description

When only these folowing usefalgs are affecting these next two packages in gentoo stable, cave is unable to show all the means of fixing the problem:
sys-fs/udev-171-r6 extras rule_generator
sys-power/upower-0.9.16 introspection kernel_linux

upower ebuild has this use flag dependency writen:

kernel_linux? (
 || ( >=sys-fs/udev-171-r5[gudev] <sys-fs/udev-171[extras] )
# some other stuff after that...

From that line, cave can indicate only one problem. First I got only the "<sys-fs/udev-171[extras]" error until I finaly managed to check inside the upower ebuild to see the whole story. After I put the gudev usefalg in use for sys-fs/udev it worked. When I tried to remove the gudev useflag from udev package after installing it, cave started to complain missing gudev use flag. But in all fairnes cave should indicate both problems. Not just one of those which it seems to choose quite randomly.

Change History

comment:1 Changed 5 years ago by ciaranm

  • Status changed from new to closed
  • Resolution set to invalid
The way
is handled is correct. doesn't mean "or". It means "pick the leftmost that you can", which is what's happening.

comment:2 Changed 5 years ago by fiasko

At first when I bumped into this issue the leftmost wasn't shown. It was only after I found out that I need to add the gudev use flag and installed the udev with it. For no apparent reason it changed to show the leftmost after that. That's why I think both reasons should be displayed when it becomes a blocker.

comment:3 Changed 5 years ago by ciaranm

The leftmost that it can, not the leftmost. If the leftmost isn't visible (e.g. because the flag isn't turned on), it will try going right.

You really don't want it to show "both". Dependencies are recursive, and in the case of || ( a b ) where a and b have different dependencies, the error rapidly becomes utterly unusable. If you want more details, use --explain.

Note: See TracTickets for help on using tickets.