On Saturday 24 February 2007 13:17, Ciaran McCreesh wrote:
> On Sat, 24 Feb 2007 13:09:40 +0900 Jason Stubbs <[EMAIL PROTECTED]>
> | Okay, I must be missing something here. If package foo can work with
> | either bar or baz equily as well but not both, why should it force an
> | artificial preference?
>
> For consistency. Installing a package with identical USE flags should
> give the same result on all systems.
>
> | Also, if packages should not specify dependencies based on what is
> | installed, the semantics of || ( ) would need to be changed such that
> | the first non-masked packages is always installed.
>
> No, || ( ) has legitimate use for switchable dependencies. For example,
> if a package can use either curl or wget, and it can switch at runtime,
> RDEPEND="|| ( curl wget )" is fine. Similarly, if a package needs
> either tetex or ptex at compile time, DEPEND="|| ( tetex ptex )" is
> correct.
>
> | The only reason I can see for the above is to be able to have
> | non-broken binary packages. However, that can be addressed by
> | replacing *DEPEND in binary packages with their resolved forms.
>
> If it affects binaries, it needs to be a USE flag.

So with your DEPEND="|| ( tetex ptex )" case, you're saying that it is valid 
because the choice of tetex or ptex doesn't affect the resultant binaries?
Extrapolating that, specifying link dependencies within an || construct is 
flat out wrong? If so, it's way out of my domain so I can't really comment 
other than you haven't given a reason for this requirement.

Having said that, I'll accept it if we're strictly talking in the EAPI-0 
domain as there is no way for a package manager to guarantee a safe
--depclean implmentation given that raw *DEPENDs are stored in the current
installed package database.

--
Jason Stubbs
-- 
gentoo-dev@gentoo.org mailing list

Reply via email to