1 |
I've recently switched to using cave (part of the paludis project) as the |
2 |
package manager for my system. |
3 |
|
4 |
It's more conservative than emerge in some instances, specifically when it |
5 |
comes to bare dependencies (DEPENDS or RDEPENDS that are un-versioned). For |
6 |
example: |
7 |
|
8 |
* The ebuild for virtual/linux-sources has as part of its RDEPEND "sys- |
9 |
kernel/gentoo-sources". I have several versions of "sys-kernel/gentoo- |
10 |
sources" installed on my system, and cave will not let me uninstall the older |
11 |
ones. Because the dependency is unversioned, cave's point of view is that it |
12 |
can't be sure that it doesn't actually depend on some specific features of the |
13 |
currently-installed atoms. |
14 |
|
15 |
* The ebuild for "app-office/calligra" has "media-libs/openexr" as a |
16 |
conditional RDEPEND. The latest version of "media-libs/openexr" is in a |
17 |
subslot "0/20", so cave wants to keep the older version to satisfy calligra's |
18 |
dependencies. |
19 |
|
20 |
In both of these cases, after reading the ebuild to verify that nothing should |
21 |
break beyond being fixed by "cave fix-linkage" (analogous to "revdep- |
22 |
rebuild"), I can instruct cave to ignore the conflicts it perceives and |
23 |
proceed. |
24 |
|
25 |
When I come across such a situation, should I submit a patch for the ebuild in |
26 |
question to specify the acceptable slots and versions for the DEPENDS and |
27 |
RDEPENDS (both of my examples are EAPI=5, so the slot specifier := can be |
28 |
used)? Or are these ebuilds correct and cave in the wrong? |
29 |
|
30 |
It should be noted that the first position (that the dependencies specified in |
31 |
the ebuilds are not sufficient) is the position of cave's developers. I tend |
32 |
to agree -- How is cave to know that there hasn't been a brekaing change in a |
33 |
library's API? |
34 |
|
35 |
Thanks, |
36 |
|
37 |
Taahir Ahmed |