On Sat, 24 Feb 2007 13:09:40 +0900 Jason Stubbs <[EMAIL PROTECTED]>
wrote:
| On Saturday 24 February 2007 12:34, Ciaran McCreesh wrote:
| > On Sat, 24 Feb 2007 12:27:35 +0900 Jason Stubbs <[EMAIL PROTECTED]>
| > wrote:
| > | For the 14 cases you mentioned that were making a mistake, they
| > | probably can be rewritten so as to force an install of the first
| > | matching package, but when that isn't what is wanted it becomes a
| > | bit of a headache.
| >
| > That should *always* be what's wanted. Packages should only alter
| > dependencies / build parameters based upon USE flags, not based upon
| > what else happens to be installed.
| 
| 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.

-- 
Ciaran McCreesh
Mail                                : ciaranm at ciaranm.org
Web                                 : http://ciaranm.org/
Paludis, the secure package manager : http://paludis.pioto.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to