Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 504048

Summary: Improve "unmet requirements" output by adding origin of USE-Flags (required use, unsatisfied)
Product: Portage Development Reporter: Manuel Rüger (RETIRED) <mrueg>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Manuel Rüger (RETIRED) gentoo-dev 2014-03-10 07:39:58 UTC
Currently, the output is not very helpful, for example this:

!!! The ebuild selected to satisfy ">=net-libs/webkit-gtk-1.6.1:2" has unmet requirements.
- net-libs/webkit-gtk-2.2.5-r200::gentoo USE="egl geoloc gles2 gstreamer introspection jit opengl spell webgl (-aqua) -coverage -debug -libsecret -test"

  The following REQUIRED_USE flag constraints are unsatisfied:
    webgl? ( exactly-one-of ( gles2 opengl ) )

  The above constraints are a subset of the following complete expression:
    geoloc? ( introspection ) introspection? ( gstreamer ) gles2? ( egl ) webgl? ( exactly-one-of ( gles2 opengl ) ) !webgl? ( at-most-one-of ( gles2 opengl ) )



Maintainers are advised to resolve required_use by default with the base.profile.
I trust maintainers to set sane defaults for their package.

Improvement to the output could look like following:


!!! The ebuild selected to satisfy ">=net-libs/webkit-gtk-1.6.1:2" has unmet requirements.
- net-libs/webkit-gtk-2.2.5-r200::gentoo USE="egl geoloc gles2 gstreamer introspection jit opengl spell webgl (-aqua) -coverage -debug -libsecret -test"


Affected useflags, (de-)activated by:
    +webgl: base.profile 
    +gles2: ebuild
    +opengl: make.conf


  The following REQUIRED_USE flag constraints are unsatisfied:
    webgl? ( exactly-one-of ( gles2 opengl ) )

  The above constraints are a subset of the following complete expression:
    geoloc? ( introspection ) introspection? ( gstreamer ) gles2? ( egl ) webgl? ( exactly-one-of ( gles2 opengl ) ) !webgl? ( at-most-one-of ( gles2 opengl ) )



This improves user experience, because now a user know where the conflict results from and this makes it easier to resolve it.