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