Ticket #1266 (new defect)

Opened 5 years ago

Last modified 5 years ago

Block on package with valid OR RDEPEND

Reported by: admorgan Owned by:
Priority: Sometime Milestone:
Component: clients/cave Version: 0.82.0
Keywords: Cc:
Blocked By: Blocking:
Distribution: Gentoo

Description

I am trying to install nm-applet on a laptop running E17. Specifically x11-wm/enlightenment-0.17:0.17. I am getting a block on virtual/notification-daemon because it claims it can not find a valid entry for enlightenment, even though it is already installed with the enlightenment_modules_notification flag enabled.

The interesting part about this list is it doesn't mention E17, all of the options are E16.

!   x11-wm/enlightenment
    Reasons: virtual/notification-daemon-0:0::gentoo
    Unsuitable candidates:
      * x11-wm/enlightenment-0.16.9999:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-0.16.9999:0::gentoo
        Masked by keyword
            Keywords
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.2:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.2:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.6:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.6:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.7:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.7:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.8:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.8:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.9:0::layman (in ::rainyday)
        Masked by unavailable (In a repository which is unavailable)
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.9:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.10:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled
      * x11-wm/enlightenment-1.0.11:0::gentoo
        Did not meet x11-wm/enlightenment[enlightenment_modules_notification], use existing if possible, installing to / from virtual/notification-daemon-0:0::gentoo
            Flag 'enlightenment_modules_notification' enabled

In virtual/notification-daemon-0.ebuild the deps are

RDEPEND="
    gnome? ( || ( x11-misc/notification-daemon
        gnome-base/gnome-shell ) )
    !gnome? ( || ( x11-misc/notification-daemon
        xfce-extra/xfce4-notifyd
        x11-misc/qtnotifydaemon
        x11-misc/notify-osd
        >=x11-wm/awesome-3.4.4
        x11-wm/enlightenment[enlightenment_modules_notification]
        x11-wm/enlightenment[e_modules_notification]
        kde-base/knotify ) )"

This has the correct formatting for both E17 and E16.

emerge does the correct thing and installs virtual/notification-daemon without complain.

Change History

comment:1 Changed 5 years ago by ciaranm

Paste cave show -c x11-wm/enlightenment please.

comment:2 Changed 5 years ago by admorgan

cave show -c x11-wm/enlightenment
* x11-wm/enlightenment
    ::gentoo                  (0.16.9999)K 1.0.2 1.0.6(~) 1.0.7(~) 1.0.8 1.0.9(~) 1.0.10(~) 1.0.11(~) {:0} 0.17.0(~)* {:0.17/0.17.0}
    ::installed               0.17.0 {:0.17/0.17.0}
    ::layman                  (0.16.9999 (in ::rainyday))X (1.0.2 (in ::rainyday))X (1.0.6 (in ::rainyday))X (1.0.7 (in ::rainyday))X (1.0.8 (in ::rainyday))X (1.0.9 (in ::rainyday))X {:0} (0.16.999.061 (in ::embedded-cross))X (0.16.999.061-r1 (in ::embedded-cross))X (0.16.999.062 (in ::embedded-cross))X (0.16.999.063 (in ::embedded-cross))X (9999 (in ::enlightenment))X (9999 (in ::gentoo-arm))X {:0.17}
    x11-wm/enlightenment-0.17.0:0.17::installed (world)
    Description               Enlightenment DR17 window manager
    Homepage                  http://www.enlightenment.org/
    From repositories         gentoo
    Installed time            Thu Jan 03 23:51:17 CST 2013
    Installed using           paludis-0.82.0
    License                   BSD-2
    Use flags
        USE
            (-doc)
            (emotion)
            (nls)
            (pam)
            (spell)
            (-static-libs)
            (udev)
            (ukit)
        enlightenment_modules
            (-access)
            (-backlight)
            (-battery)
            (clock)
            (comp)
            (conf-applications)
            (conf-dialogs)
            (conf-display)
            (conf-edgebindings)
            (conf-interaction)
            (conf-intl)
            (conf-keybindings)
            (conf-menus)
            (conf-paths)
            (conf-performance)
            (conf-randr)
            (conf-shelves)
            (conf-theme)
            (conf-window-manipulation)
            (conf-window-remembers)
            (connman)
            (cpufreq)
            (dropshadow)
            (everything)
            (fileman)
            (fileman-opinfo)
            (gadman)
            (ibar)
            (ibox)
            (illume2)
            (mixer)
            (msgbus)
            (notification)
            (pager)
            (quickaccess)
            (-shot)
            (start)
            (syscon)
            (systray)
            (tasks)
            (temperature)
            (tiling)
            (winlist)
            (wizard)
            (xkbswitch)
        Build Options
            -trace            Trace actions executed by the package (very noisy, for debugging broken builds only)
    Build dependencies
                              pam? (
                                  sys-libs/pam
                              )
                              >=dev-libs/efreet-1.7.4
                              >=dev-libs/eio-1.7.4
                              >=dev-libs/eina-1.7.4[mempool-chained]
                              || (
                                  >=dev-libs/ecore-1.7.4[X,evas,inotify]
                                  >=dev-libs/ecore-1.7.4[xcb,evas,inotify]
                              )
                              >=media-libs/edje-1.7.4
                              >=dev-libs/e_dbus-1.7.4[libnotify,udev?]
                              ukit? (
                                  >=dev-libs/e_dbus-1.7.4[udev]
                              )
                              enlightenment_modules_connman? (
                                  >=dev-libs/e_dbus-1.7.4[connman]
                              )
                              enlightenment_modules_shot? (
                                  >=dev-libs/ecore-1.7.4[curl]
                              )
                              || (
                                  >=media-libs/evas-1.7.4[eet,X,jpeg,png]
                                  >=media-libs/evas-1.7.4[eet,xcb,jpeg,png]
                              )
                              >=dev-libs/eeze-1.7.4
                              emotion? (
                                  >=media-libs/emotion-1.7.4
                              )
                              x11-libs/xcb-util-keysyms
                              doc? (
                                  app-doc/doxygen
                              )
    Run dependencies
                              pam? (
                                  sys-libs/pam
                              )
                              >=dev-libs/efreet-1.7.4
                              >=dev-libs/eio-1.7.4
                              >=dev-libs/eina-1.7.4[mempool-chained]
                              || (
                                  >=dev-libs/ecore-1.7.4[X,evas,inotify]
                                  >=dev-libs/ecore-1.7.4[xcb,evas,inotify]
                              )
                              >=media-libs/edje-1.7.4
                              >=dev-libs/e_dbus-1.7.4[libnotify,udev?]
                              ukit? (
                                  >=dev-libs/e_dbus-1.7.4[udev]
                              )
                              enlightenment_modules_connman? (
                                  >=dev-libs/e_dbus-1.7.4[connman]
                              )
                              enlightenment_modules_shot? (
                                  >=dev-libs/ecore-1.7.4[curl]
                              )
                              || (
                                  >=media-libs/evas-1.7.4[eet,X,jpeg,png]
                                  >=media-libs/evas-1.7.4[eet,xcb,jpeg,png]
                              )
                              >=dev-libs/eeze-1.7.4
                              emotion? (
                                  >=media-libs/emotion-1.7.4
                              )
                              x11-libs/xcb-util-keysyms
                              nls? (
                                  sys-devel/gettext
                              )
    Source URI
                              http://download.enlightenment.org/releases/enlightenment-0.17.0.tar.bz2
    x11-wm/enlightenment-0.17.0:0.17::gentoo (world)
    Description               Enlightenment DR17 window manager
    Homepage                  http://www.enlightenment.org/
    Long Description          Enlightenment is a completely themeable, highly configurable Window Manager for the X Window System, traditionally used in Unix environments. Enlightenment Features: * Fully configurable window borders * Iconboxes to store icons in * Graphical Pager that also does miniature snapshots of your screen * IPC mechanism to remote-control Enlightenment * Theme support * Menus *
Translucent moving of windows * Window groups * Virtual Desktops * Multiple Desktops (more than one desktop of Virtual Desktops) * Desktop Background selection and management * Sound support * Multiple
focus modes * Many resize and move mode settings * Manual placement of windows option * Autoraising of windows option * Tooltips * Configurable keybindings * Configurable desktop bindings * DGA support
for fullscreen client zoom * Window shading * Miniature snapshot icons * Multiple border styles at once * Window layers * Array menus * Internal configuration dialogs * Auto-scrolling menus * KDE hint support * GNOME hint support * Primitive Windowmaker/Afterstep dock App support. * X11R6 session management support * Internal per-app based session and property management. * Background auto scanning support * Truetype anti-aliased font support * Window auto-cleanup support * Graphical on-line help.
    Maintainers               <vapier@gentoo.org> <enlightenment@gentoo.org> (Maintainer for enlightenment:0.17)
    Use flags
        USE
            -doc              Adds extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
            emotion           Enable support for media-libs/emotion
            nls               Adds Native Language Support (using gettext - GNU locale utilities)
            pam               Adds support for PAM (Pluggable Authentication Modules) - DANGEROUS to
arbitrarily flip
            spell             Adds dictionary support
            -static-libs      Build static libraries
            udev              Use sys-fs/udev to determine available devices
            ukit              Use upower/udisks to automount devices
        enlightenment_modules
            -access           Accessibility module designed to improve ease of use for the vision impaired and the blind
            -backlight        Backlight control slider gadget
            -battery          A gadget to visualize your battery status
            clock             Nice clock gadget to show current time
            comp              Enlightenment Composite Manager
            conf-applications Allows configuration of Ibar, Restart, and Startup applications
            conf-dialogs      Configure default dialog properties
            conf-display      Used to configure your screen
            conf-edgebindings Configure your edge bindings here
            conf-interaction  Configure Mouse and Touch input
            conf-intl         Used to select a default language
            conf-keybindings  Key, Mouse and Button control settings
            conf-menus        Configures menu behavior
            conf-paths        Specifies the Enlightenment search paths and default directories
            conf-performance  Used to configure certain performance related items as frame rates and
cache settings
            conf-randr        Used to configure your screen's resolution
            conf-shelves      Shelf configuration dialog
            conf-theme        Used to configure your theme preferences
            conf-window-manipulation Configures window raise, resistance, and maximize policies
            conf-window-remembers Delete existing window remembers
            connman           Control Wifi and wired networks as a user
            cpufreq           Gadget to monitor and change the CPU frequency
            dropshadow        Module to add a dropshadow to windows
            everything        The run command module provides an application launcher dialog
            fileman           Enlightenment's integrated file manager
            fileman-opinfo    Can be placed on the desktop or in a shelf
            gadman            Module to manage gadgets on the desktop
            ibar              Iconic application launcher
            ibox              A home for your iconified applications
            illume2           Illume2 - next generation of illume - special WM mode for embedded devices and set of plugins with same purpose
            mixer             A module to provide a mixer for changing volume
            msgbus            DBus Extension
            notification      notification-daemon alternative. Popup if an event occur
            pager             Gadget to allow you to visualize your virtual desktops and the windows
they contain
            quickaccess       Enlightenment Quickaccess Launcher
            -shot             Simple screenshot+save/upload module
            start             Enlightenment's "Start" button equivalent
            syscon            This module provides a unified popup dialog for all the system actions
in Enlightenment
            systray           system tray that hold applications icons like Skype, Pidgin, Kopete and others
            tasks             Gadget to allow you to switch tasks
            temperature       Temperature monitor
            tiling            Positions/resizes your windows tilingly
            winlist           A module to show the list of client applications presently running
            wizard            First Run Wizard
            xkbswitch         Keyboard layout configuration and switcher
        Build Options
            symbols=split     How to handle debug symbols in installed files
                              Permitted values:
                                  compress:  Split and compress debug symbols
                                  preserve:  Preserve debug symbols
                                  split:     Split debug symbols
                                  strip:     Strip debug symbols
            -optional_tests   Run tests considered by the package to be optional
            -trace            Trace actions executed by the package (very noisy, for debugging broken builds only)
            work=tidyup       Whether to preserve or remove working directories
                              Permitted values:
                                  leave:     Do not remove, but allow destructive merges
                                  preserve:  Perserve the working directory
                                  remove:    Always remove the working directory
                                  tidyup:    Tidy up work directory after a successful build
    Build dependencies
                              pam? (
                                  sys-libs/pam
                              )
                              >=dev-libs/eet-1.7.4
                              >=dev-libs/efreet-1.7.4
                              >=dev-libs/eio-1.7.4
                              >=dev-libs/eina-1.7.4[mempool-chained]
                              || (
                                  >=dev-libs/ecore-1.7.4[X,evas,inotify]
                                  >=dev-libs/ecore-1.7.4[xcb,evas,inotify]
                              )
                              >=media-libs/edje-1.7.4
                              >=dev-libs/e_dbus-1.7.4[libnotify,udev?]
                              ukit? (
                                  >=dev-libs/e_dbus-1.7.4[udev]
                              )
                              enlightenment_modules_connman? (
                                  >=dev-libs/e_dbus-1.7.4[connman]
                              )
                              enlightenment_modules_shot? (
                                  >=dev-libs/ecore-1.7.4[curl]
                              )
                              || (
                                  >=media-libs/evas-1.7.4[eet,X,jpeg,png]
                                  >=media-libs/evas-1.7.4[eet,xcb,jpeg,png]
                              )
                              >=dev-libs/eeze-1.7.4
                              emotion? (
                                  >=media-libs/emotion-1.7.4
                              )
                              x11-libs/xcb-util-keysyms
                              doc? (
                                  app-doc/doxygen
                              )
    Run dependencies
                              pam? (
                                  sys-libs/pam
                              )
                              >=dev-libs/eet-1.7.4
                              >=dev-libs/efreet-1.7.4
                              >=dev-libs/eio-1.7.4
                              >=dev-libs/eina-1.7.4[mempool-chained]
                              || (
                                  >=dev-libs/ecore-1.7.4[X,evas,inotify]
                                  >=dev-libs/ecore-1.7.4[xcb,evas,inotify]
                              )
                              >=media-libs/edje-1.7.4
                              >=dev-libs/e_dbus-1.7.4[libnotify,udev?]
                              ukit? (
                                  >=dev-libs/e_dbus-1.7.4[udev]
                              )
                              enlightenment_modules_connman? (
                                  >=dev-libs/e_dbus-1.7.4[connman]
                              )
                              enlightenment_modules_shot? (
                                  >=dev-libs/ecore-1.7.4[curl]
                              )
                              || (
                                  >=media-libs/evas-1.7.4[eet,X,jpeg,png]
                                  >=media-libs/evas-1.7.4[eet,xcb,jpeg,png]
                              )
                              >=dev-libs/eeze-1.7.4
                              emotion? (
                                  >=media-libs/emotion-1.7.4
                              )
                              x11-libs/xcb-util-keysyms
                              nls? (
                                  sys-devel/gettext
                              )
    Source URI
                              http://download.enlightenment.org/releases/enlightenment-0.17.0.tar.bz2        Overridden Masks
            Keywords          ~amd64 ~x86

comment:3 Changed 5 years ago by ciaranm

Something's bringing E16 into the resolution. Can you see what that is?

comment:4 Changed 5 years ago by admorgan

Any hints as to how I can determine why E16 is getting pulled in? I have not been able to figure it out myself.

comment:5 Changed 5 years ago by ciaranm

'--explain' and 'cave show -c' should give you the information.

comment:6 Changed 5 years ago by admorgan

cave resolve virtual/notification-daemon --dump
Done: 970 steps, 1 metadata (1 rion)

Dumping resolutions by QPN:S:

virtual/notification-daemon:0::(install_to_slash)
  = Resolution(constraints: Constraint(spec: virtual/notification-daemon; untaken: false; use_existing: never; reason: Target()); decision: ChangesToMakeDecision(virtual/notification-daemon-0:0::gentoo best: true taken: true destination: Destination(installed replacing virtual/notification-daemon-0:0::installed)))
x11-wm/enlightenment:0::(install_to_slash)
  = Resolution(constraints: Constraint(spec: x11-wm/enlightenment[enlightenment_modules_notification]; untaken: false; use_existing: if_possible; reason: Dependency(Dep(RDEPEND x11-wm/enlightenment[enlightenment_modules_notification] { RDEPEND }) from virtual/notification-daemon:0::(install_to_slash))); decision: UnableToMakeDecision(taken: true))

states that it is trying to resolve enlightenment:0, but E17 is slotted as enlightenment:0.17, could the be the cause of this issue?

comment:7 Changed 5 years ago by ciaranm

Could well be. Do a 'cave show -c notification-daemon'.

comment:8 Changed 5 years ago by admorgan

* virtual/notification-daemon
    ::gentoo                  0* {:0}
    ::installed               0 {:0}
    ::layman                  (0 (in ::mate-overlay))X (0 (in ::sabayon))X {:0}
    virtual/notification-daemon-0:0::installed (world)
    Description               Virtual for notification daemon dbus service
    From repositories         gentoo
    Installed time            Fri Jan 18 05:57:37 CST 2013
    Use flags
        USE
            (-gnome)
        Build Options
            -trace            Trace actions executed by the package (very noisy, for debugging broken builds only)
    Run dependencies
                              || (
                                  x11-misc/notification-daemon
                                  xfce-extra/xfce4-notifyd
                                  x11-misc/qtnotifydaemon
                                  x11-misc/notify-osd
                                  >=x11-wm/awesome-3.4.4
                                  x11-wm/enlightenment[enlightenment_modules_notification]
                                  x11-wm/enlightenment[e_modules_notification]
                                  kde-base/knotify
                              )
    virtual/notification-daemon-0:0::gentoo (world)
    Description               Virtual for notification daemon dbus service
    Homepage
    Herds                     freedesktop
    Maintainers               <freedesktop-bugs@gentoo.org>
    Use flags
        USE
            -gnome            Adds GNOME support
        Build Options
            symbols=split     How to handle debug symbols in installed files
                              Permitted values:
                                  compress:  Split and compress debug symbols
                                  preserve:  Preserve debug symbols
                                  split:     Split debug symbols
                                  strip:     Strip debug symbols
            -dwarf_compress   Compress DWARF2+ debug information
            -optional_tests   Run tests considered by the package to be optional
            -trace            Trace actions executed by the package (very noisy, for debugging broken builds only)
            work=tidyup       Whether to preserve or remove working directories
                              Permitted values:
                                  leave:     Do not remove, but allow destructive merges
                                  preserve:  Perserve the working directory
                                  remove:    Always remove the working directory
                                  tidyup:    Tidy up work directory after a successful build
    Run dependencies
                              gnome? (
                                  || (
                                      x11-misc/notification-daemon
                                      gnome-base/gnome-shell
                                  )
                              )
                              !gnome? (
                                  || (
                                      x11-misc/notification-daemon
                                      xfce-extra/xfce4-notifyd
                                      x11-misc/qtnotifydaemon
                                      x11-misc/notify-osd
                                      x11-misc/dunst
                                      >=x11-wm/awesome-3.4.4
                                      x11-wm/enlightenment[enlightenment_modules_notification]
                                      x11-wm/enlightenment[e_modules_notification]
                                      kde-base/knotify
                                  )
                              )

    Source URI

What this doesn't show is that x11-wm/enlightenment[e_modules_notification] is in red and x11-wm/enlightenment[enlightenment_modules_notification] is in blue light. I do not know the difference between light blue and dark blue. As far as I can tell show -c displays the correct run dependencies.

comment:9 Changed 5 years ago by ciaranm

The different colours show whether or not a dependency is already met.

comment:10 Changed 5 years ago by admorgan

I understand that, I just don't know what the difference between light blue shading and dark blue shading. Red obviously means the dependency is not met. I also don't understand that if cave show is saying the x11-wm/enlightenment[enlightenment_module_notification] is met why I can't resolve it.

Last edited 5 years ago by admorgan (previous) (diff)

comment:11 Changed 5 years ago by ciaranm

Met, as in "you have something installed matching this", rather than "you could install something matching this". Red means "there's not even something unmasked matching this".

comment:12 Changed 5 years ago by admorgan

Ok, I am able to confirm that cave resolve is not handling slotted options the way I thought it would. If I change the x11-wm/enlightenment-0.17.1 and add slot 0 as an optional slot everything works fine. It is not able to resolve any slot other than 0 even if the dependency is already installed. I do not understand the design of the system to know if this is intentional or not.

Portage 2.1.11.55 is able to resolve the slotted dependency. Paludis 1.2.0 is not able to. At this time I am going to assume that the dependency should resolve. Is there a design document that explains how this stuff works? If so I will read it and try to create a patch or explain the behavior.

Last edited 5 years ago by admorgan (previous) (diff)

comment:13 Changed 5 years ago by ciaranm

Your best bet for understanding what's going on is probably to produce a minimal test case (i.e. one not involving any real ebuilds).

Portage "doing what you expect" isn't a sign that we're doing something wrong: Portage doesn't validate dependencies.

Note: See TracTickets for help on using tickets.