1 |
On Tue, Jan 30, 2007 at 05:06:51PM +0100, Marius Mauch wrote: |
2 |
> Sometimes a package has to depend on a specific version of a |
3 |
> slotted package being the "active" one to build correctly, like in |
4 |
> the current "tr1" discussion on -dev [1] or with packages that |
5 |
> depend on the running kernel. |
6 |
|
7 |
tr1 is partially addressed via addition of a 'binding' modifier for |
8 |
rdeps, to state that ||() deps are locked down after compilation. |
9 |
|
10 |
Doesn't gurantee the user doesn't pop back to 3.4 after compilation, |
11 |
but that's their own mess. |
12 |
|
13 |
> The idea is to add a special category (let's call it "active" for |
14 |
> now) that has the following properties: |
15 |
> - this category doesn't exist in portdir or vdb (= no ebuilds) |
16 |
> - when portage ($pkgmanager) encounters a "active/foo" atom in a |
17 |
> dependency string it executes some special code (e.g. |
18 |
> "$PORTDIR/scripts/active-check/foo =active/foo-1") to determine if |
19 |
> that atom is satisfied |
20 |
|
21 |
Non deterministic resolution; previous steps in the graph can cause |
22 |
that value to flip to a different setting by the time the 'dep' is |
23 |
encountered. |
24 |
|
25 |
That's ignoring the kick in the nads usage of this will due to |
26 |
resolution... |
27 |
|
28 |
> (and yes, this kinda goes with multi-repo/multi-format support) |
29 |
|
30 |
Don't really see how this enables multiple standalone repos in any |
31 |
sane way, so that one requires justification... |
32 |
|
33 |
~harring |