1 |
On Fri, 2012-07-20 at 20:17 +0100, Ciaran McCreesh wrote: |
2 |
> On Fri, 20 Jul 2012 15:15:31 -0400 |
3 |
> Alexandre Rostovtsev <tetromino@g.o> wrote: |
4 |
> > > That's sensitive to old versions ebuilds being removed from the |
5 |
> > > tree, so it's utterly unworkable. |
6 |
> > |
7 |
> > I do not see why you think it's unworkable. Ebuilds already have |
8 |
> > dependencies that can be broken by removing an old version; if wombat |
9 |
> > depends on foo[bar], and you removed the only version of foo that had |
10 |
> > bar in IUSE, you broke wombat. Adding special LINGUAS handling would |
11 |
> > not change the fact that before deleting an ebuild, you need to |
12 |
> > verify that you did not render other ebuilds' dependencies |
13 |
> > unsatisfiable. |
14 |
> |
15 |
> That's not how undefaulted use dependencies work. If wombat depends |
16 |
> upon foo[bar], it is an error if there is *any* version of foo *ever* |
17 |
> that doesn't have bar in IUSE_EFFECTIVE. |
18 |
|
19 |
Very odd; AFAICT neither portage nor repoman treats that situation as an |
20 |
error. I am guessing that this is another case where paludis does things |
21 |
differently? |
22 |
|
23 |
Be that as it may, even with paludis, the foo maintainer could easily |
24 |
break wombat if wombat depended on foo:bar, and the last ebuild matching |
25 |
foo:bar got removed; or on foo[bar,baz], and the only remaining versions |
26 |
of foo in the tree have REQUIRED_USE="^^ ( bar baz )"; or on foo[bar], |
27 |
when the only remaining versions of foo in the tree have bar disabled |
28 |
via profiles/base/package.use.mask. |