Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: Pacho Ramos <pacho@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Looking for a generic solution to non-USE-conditional circular deps
Date: Sat, 11 Apr 2015 14:11:32
Message-Id: 20150411161104.0fdb57e1@pomiot.lan
In Reply to: Re: [gentoo-dev] Looking for a generic solution to non-USE-conditional circular deps by Pacho Ramos
1 Dnia 2015-04-11, o godz. 16:00:36
2 Pacho Ramos <pacho@g.o> napisał(a):
3
4 > El sáb, 11-04-2015 a las 14:28 +0200, Michał Górny escribió:
5 > > Hello,
6 > >
7 > > I know of two cases of circular deps that can be solved -- as far as I
8 > > know -- only by bundling:
9 > >
10 > > 1. dev-util/pkgconfig <-> dev-libs/glib:2,
11 > >
12 > > 2. dev-util/cmake <-> dev-libs/jsoncpp.
13 > >
14 > > The former is solved via having USE=internal-glib on pkgconfig,
15 > > the latter is yet unsolved [1].
16 > >
17 > > I suspect we can expect more of this kind of issues in non-systemd
18 > > world over time, and I feel like it'd be good to develop a generic
19 > > policy for handling them. Something that could avoid having users go
20 > > through this on a case-by-case basis.
21 > >
22 > > I think the simplest solution would be to develop a generic USE flag
23 > > that would only serve the purpose of forcing bundled dependencies for
24 > > bootstrapping/initial install.
25 > >
26 > > We have already:
27 > >
28 > > build - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for
29 > > creating build images and the first half of bootstrapping [make stage1]
30 > >
31 > > bootstrap - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used
32 > > during original system bootstrapping [make stage2]
33 > >
34 > > However, since both are marked for 'internal use only', I don't think
35 > > it's a good idea to use them here. So I guess we need a new flag. Does
36 > > anyone have suggestions how to name it?
37 > >
38 > > Any other ideas?
39 > >
40 > > [1]:https://bugs.gentoo.org/show_bug.cgi?id=546130
41 > >
42 >
43 > As that USE flag should only be used for being able to install the
44 > package the first time, maybe it should be treated in a "special" way. I
45 > mean, it shouldn't be easily changed by users but, instead, switched
46 > "internally" by the package manager to allow to unbreak the cycle.
47 >
48 > Otherwise, we could end up with people having packages built with
49 > "bundled" libs forever because they enabled that USE at some point and
50 > later they forgot (or were too lazy) to revert that :|
51
52 Yes, that's why I suggest a generic flag rather than another
53 USE=internal-*.
54
55 --
56 Best regards,
57 Michał Górny