Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 600394 - Package Dependencies - Use of compact form conditionals is confusing
Summary: Package Dependencies - Use of compact form conditionals is confusing
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-21 11:47 UTC by Tony
Modified: 2016-11-21 17:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tony 2016-11-21 11:47:38 UTC
Encountered this

    (dev-libs/openssl-1.0.2j:0/0::gentoo, installed) pulled in by
      >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.3_p1-r7:0/0::gentoo, installed)
                                  ^^^^^^^^
    
    (dev-libs/openssl-1.0.2j:0/0::gentoo, ebuild scheduled for merge) pulled in by
      >=dev-libs/openssl-0.9.8g:0[-bindist] required by (net-voip/telepathy-gabble-0.18.3:0/0::gentoo, ebuild scheduled for merge)
                                  ^^^^^^^^


It's not at all clear what `bindist=` is trying to say.  
I managed to find, buried in the developer documentation, the meaning

https://devmanual.gentoo.org/general-concepts/dependencies/

    There are also shortcuts for conditional situations:
    
    Compact form           Equivalent expanded form
    app-misc/foo[bar=]     bar? ( app-misc/foo[bar] ) !bar? ( app-misc/foo[-bar] )


So, OpenSSH can be built either with or without openssl having the bindinst useflag
But another package requires openssl having the bindinst useflag disabled

Can we clear this up in the emerge output?  
Some sort of text explaination of what `useflag=` actually means
Something like


    Note: [useflag=] specifies a conditional dependency
    The following packages can be built with or without the specified dependant package useflag
    (dev-libs/openssl-1.0.2j:0/0::gentoo, installed) pulled in by
      >=dev-libs/openssl-0.9.8f:0[bindist=] required by (net-misc/openssh-7.3_p1-r7:0/0::gentoo, installed)
                                  ^^^^^^^^
    
    The following packages require the following dependant package useflag configuration
    (dev-libs/openssl-1.0.2j:0/0::gentoo, ebuild scheduled for merge) pulled in by
      >=dev-libs/openssl-0.9.8g:0[-bindist] required by (net-voip/telepathy-gabble-0.18.3:0/0::gentoo, ebuild scheduled for merge)
                                  ^^^^^^^^
Comment 1 Zac Medico gentoo-dev 2016-11-21 17:18:44 UTC
The dependency syntax is complex enough that it's too much information to display on the terminal, so I think the best that we can do is refer to the Dependencies section of `man 5 ebuild`.