1 |
I've intermittently spent my last two days trying to figure out a |
2 |
weird bug on Entropy dependency resolution algorithm (which is |
3 |
actually just a simple topological sorting out of a digraph) due to an |
4 |
user reporting me a problem occurring during app-office/libreoffice |
5 |
pkg_setup phase. The problem is actually two problems, but anyways, to |
6 |
make it short (since it's not the topic here), bug #206024 is also a |
7 |
reason why I've been hit by all this mess. |
8 |
|
9 |
Entropy always tried to strictly follow PMS (bugs apart). Given the |
10 |
same document, about PDEPEND it says something like this: there is no |
11 |
guarantee that a PDEPEND gets installed at a certain, specified point |
12 |
during the schedule, if not specifically listed as RDEPEND by some |
13 |
package. |
14 |
The problem here is that Portage enforces the same rule by trying to |
15 |
schedule the PDEPEND "as soon as possible", which leads ebuild writers |
16 |
to think to have gotten the deps order right. |
17 |
In simple words, it doesn't seem that Portage itself follows PMS or |
18 |
PMS is detailed enough. |
19 |
|
20 |
Try to ask your fellow developers this question: what is a PDEPEND? |
21 |
And you will get several different answers. The fact is, at least |
22 |
among us, it's still unclear what a PDEPEND is and how it behaves, |
23 |
also given the fact that other PMs strictly following the |
24 |
specifications end up generating wrong merge schedules. |
25 |
There are two main interpretations of what a PDEPEND is: |
26 |
1. a way to fix circular dependecies (actually, it's wrong because |
27 |
there is no guarantee on the scheduling) |
28 |
2. a way to have some handy packages being pulled in at some point |
29 |
(audacious plugins?) |
30 |
|
31 |
Who is this poor little PDEPEND? |
32 |
I think it's time to take action and fix the gray area around |
33 |
PDEPENDs, or at least clarify the fact to us developers. |
34 |
|
35 |
-- |
36 |
Fabio Erculiani |