On Mon, 23 Jan 2017 18:17:58 +0100
"Paweł Hajdan, Jr." <phajdan...@gentoo.org> wrote:

> On 23/01/2017 13:12, Alexis Ballier wrote:
> > For example, if you allow use.mask or use.force in mixins, you can
> > end up having unsatisfiable deps that repoman will never catch.  
> 
> Whoa, that sounds bad. Could you elaborate why we wouldn't be able to
> catch these errors?

Because repoman wont be able to check the 2^{# of mixins} possibilities
to have something broken there.

> > Arguably, desktop profiles relying on having an useflag forced on a
> > given package are already semi-broken: they'd be better with the
> > useflag default enabled and proper usedeps, so the mask/force game
> > doesnt seem really useful for mixins.  
> 
> Could you give examples of such assumptions? I'd agree in general
> usedeps sound like the proper solution.

gentoo-x86/profiles/targets/desktop/package.use.force:

# Ensure shared-mime-info is pulled in by glib, otherwise GNOME, XFCE,and
# numerous gtk-based applications will break, see bug #511894
dev-libs/glib mime

> > It'd also be great to have "rules" ensuring all mixins commute, but
> > I doubt that's easily doable.  
> 
> Could you elaborate more on that, and what the difficulties are?

First you need to define *exactly* what goes into mixins.

Then, you want that a combination of mixins doesnt depend on the order
they are processed. It is left to the reader to show that it is
equivalent to that any two mixins commute, that is, the resulting
profiles with the 'parent' file containing:
mixinA
mixinB
or:
mixinB
mixinA

are the same.

If you define mixins having only default enabled or default disabled
useflags (globally or per package), then commuting is implied
by 'no two mixins handle intersecting sets of (package,useflag)'.

One can also go the simple way: Defining a mixin priority (either
explicitly or by alphabetical order for example), so that e.g. in the
above, mixinA is always processed first.



Without doing something in that regard I think this is too loosely
specified and asks for headaches.

Alexis.

Reply via email to