Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] don't rely on dynamic deps
Date: Fri, 25 Jul 2014 17:39:51
Message-Id: 53D29657.7070503@gentoo.org
In Reply to: Re: [gentoo-dev] don't rely on dynamic deps by Ian Stakenvicius
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 25/07/14 01:36 PM, Ian Stakenvicius wrote:
5 > On 25/07/14 01:15 PM, Andreas K. Huettel wrote:
6 >
7 >>>> Maybe this could be solved by having two kinds of revisions:
8 >>>> - One would rebuild all as usually (for example, -r1...) -
9 >>>> The other one would only regenerate VDB and wouldn't change
10 >>>> the installed files (for example, -r1.1)
11 >>>>
12 >>>> But I am not sure if it could be viable from a "technical"
13 >>>> point of view :(
14 >>>
15 >>> I'm afraid it couldn't. The major problem is not knowing
16 >>> *when* to migrate metadata, portage usually gets that right.
17 >>> The problem is in getting the correct output which is often
18 >>> near to impossible.
19 >
20 >> I think we'd appreciate some more information here:
21 >
22 >> * What exactly is the metadata that we're talking about? * How
23 >> much of it can be generated by sourcing the ebuild, without
24 >> running phases? * When does that exactly break? Example?
25 >
26 >
27 > It may help this overall discussion to step back even further
28 > here:
29 >
30 > * What do we want to accomplish, exactly?
31 >
32 > - allow portage to emerge updated packages without rebuilding them
33 > (ie running src_* and pkg_*inst phases), when it can be determined
34 > from metadata changes (or for -rX.Y method perhaps it is assumed
35 > -just- on filename changes) that this is not necessary.
36 >
37 > * What are all of the cases that would validly trigger this
38 > dont-bother-to-run-phases shortcut?
39 >
40 > - addition of missing dependency [1] - new useflag not enabled by
41 > default - removed useflag that was not previously enabled -
42 > changing of dependency atom(s) -- ie swapping a specific atom to
43 > virtual one - EAPI bump (maybe??) - .... <-- add more please!
44 >
45 >
46 > * For each of the above, in what cases is a full rebuild probably
47 > necessary anyhow??
48 >
49 > - dependency atom minimum version is increased, and the in-VDB
50 > version of this dep is too old (??) - new dependency atom is
51 > missing from VDB (??) - EAPI bump adds new entries to VDB that need
52 > to be calculated from say, merge phase - ....
53 >
54 >
55 >
56 > ..i think from there we can perhaps determine what metadata could
57 > be updated and/or needs to be updated to maintain consistency in
58 > the dont-rebuild cases we want.
59 >
60
61 I forgot: [1] since the package has merged prior to this anyhow,
62 whatever dependency it was must have been installed already when this
63 package was emerged. So if it can still be found in vdb then we
64 should be safe to add the dependency to vdb of this package, otherwise
65 we may need to trigger a rebuild.
66 -----BEGIN PGP SIGNATURE-----
67 Version: GnuPG v2
68
69 iF4EAREIAAYFAlPSllcACgkQ2ugaI38ACPCL3QD+ITe3bzJrJIORniniY9rzTEd5
70 W5nmL5zB+HiZuMZKdZQA/jrn88lx8bfn/f6DetPdrYiFjjShcXoeMbh5nCNmtcz9
71 =LEAi
72 -----END PGP SIGNATURE-----