Ticket #803 (closed defect: fixed)

Opened 10 years ago

Last modified 9 years ago

cave resolve: DEPENDENCIES="build+run: !sys-apps/lesspipe" results in less always pulling in lesspipe

Reported by: ingmar Owned by: ciaranm
Priority: Sometime Milestone:
Component: core/paludis Version: scm
Keywords: Cc:
Blocked By: Blocking:
Distribution: Exherbo


ingmar@cannonball ~/development/git/xz (git)-[master]- % cave resolve less --suggestions display 
Resolving: 40 steps/usr/bin/cave                                                                 

@1256600935: [WARNING resolver.cycle_breaking] In thread ID '28342':
  ... In program /usr/bin/cave resolve less --suggestions display:  
  ... When finding an appropriate resolution:
  ... When finding an order for selected packages:
  ... Had to use cycle breaking with ignore pass 1 to order sys-apps/lesspipe:0::(install_to_slash) because of cycle sys-apps/lesspipe:0::(install_to_slash) (run sys-apps/less) -> sys-apps/less:0::(install_to_slash) (build, run !sys-apps/lesspipe[<1.70]) -> sys-apps/lesspipe:0::(install_to_slash)
These are the actions I will take, in order:

n/  sys-apps/lesspipe:0::arbor 1.70 to ::installed
    -hilight build_options: recommended_tests split strip -trace jobs=4
    "A preprocessor for less"
    Because of !sys-apps/lesspipe[<1.70] from sys-apps/less, sys-apps/less
r/  sys-apps/less:0::arbor 436 to ::installed replacing 436
    build_options: recommended_tests split strip -trace jobs=4
    Because of target, sys-apps/lesspipe

I didn't take the following suggestions:


Removing the blocker makes it behave.

Change History

comment:1 Changed 10 years ago by ciaranm

Is this fixed now? I think it is, with the nothing_is_fine_too stuff.

comment:2 Changed 10 years ago by muep

I seem to have run into a similar issue:

leluvo ~ # cave show app-virtualization/qemu-kvm::installed
* app-virtualization/qemu-kvm::installed

  * In program cave show app-virtualization/qemu-kvm::installed:
  * Found nothing suitable matching 'app-virtualization/qemu-kvm::installed' (paludis::cave::NothingMatching)

leluvo ~ # cave resolve app-emulation/qemu::impulze
Done: 550 steps               

These are the actions I will take, in order:

n   app-emulation/qemu:0::impulze scm installed
    "A generic and open source machine emulator and virtualizer."
    -bluetooth -curl -doc -gnutls ncurses -pulseaudio -sasl sdl -static -vde build_options: split strip jobs=2 -trace -preserve_work                                                        
    Reasons: target

Total: 1 new installs

Build Options:
    jobs:                          Set with an integer value to specify how many jobs the package's build system should use, where supported
    preserve_work:                 Do not remove build directories, and do not modify the image when merging
    split:                         Split debugging information out from binaries and libraries before installation
    strip:                         Strip binaries and libraries before installation
    trace:                         Trace actions executed by the package (very noisy, for debugging broken builds only)

    bluetooth:                     Enables Bluetooth Support
    curl:                          Adds support for client-side URL transfer library
    doc:                           Adds extra documentation (API, Javadoc, etc)
    gnutls:                        Adds support for net-libs/gnutls
    ncurses:                       ncurses interface for the virtual machine
    pulseaudio:                    Adds support for PulseAudio sound server
    sasl:                          Adds support for the Simple Authentication and Security Layer
    sdl:                           SDL interface for the virtual machine and SDL audio module
    static:                        causes binaries to be statically linked instead of dynamically
    vde:                           Enables support for the Virtual Distributed Ethernet networking system

I encountered the following errors:

!   app-virtualization/qemu-kvm
    Reasons: !app-virtualization/qemu-kvm from app-emulation/qemu
    Unsuitable candidates:
      * app-virtualization/qemu-kvm-0.12.5:0::virtualization
        Did not meet !app-virtualization/qemu-kvm, use existing if possible, installing to / from !app-virtualization/qemu-kvm from app-emulation/qemu

leluvo ~ #

So qemu-kvm is not installed, but paludis still does not think it can satisfy the !qemu-kvm requirement.

However, after applying this to the qemu exheres in impulzes repository:

diff --git a/packages/app-emulation/qemu/qemu.exlib b/packages/app-emulation/qemu/qemu.exlib
index beb9888..dcd901d 100644
--- a/packages/app-emulation/qemu/qemu.exlib
+++ b/packages/app-emulation/qemu/qemu.exlib
@@ -41,7 +41,7 @@ DEPENDENCIES="
         !app-virtualization/qemu-kvm [[
             description = [ It doesn't make sense to install both anymore. ]
-            resolution = [ manual ]
+            resolution = [ uninstall-blocked-after ]

Things seem to be working just right. It seems that the resolution = [ manual ] use has something to do with the problem. No idea why it does not work the same with the kvm package, but it might be related to that I have never had that one installed, while qemu-kvm has been there at some point.

comment:3 Changed 9 years ago by ciaranm

  • Status changed from new to closed
  • Resolution set to fixed

I *think* this is all fixed now... Please give specific minimal examples if it's not.

Note: See TracTickets for help on using tickets.