1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 27/07/14 08:04 AM, Rich Freeman wrote: |
5 |
> On Sun, Jul 27, 2014 at 6:43 AM, Kent Fredric |
6 |
> <kentfredric@×××××.com> wrote: |
7 |
>> |
8 |
>> In a "no dynamic deps, period" scenario, this just strikes me as |
9 |
>> 2 flavours of the same weirdness, -r2 and -r1.1 are just equally |
10 |
>> weird choices to make if the ebuild itself doesn't change at |
11 |
>> all. |
12 |
> |
13 |
> You have a good point here. |
14 |
> |
15 |
> With this proposal we have three kinds of ebuild changes: 1. Those |
16 |
> that do not involve any revbump. 2. Those with a "minor" revbump |
17 |
> (ie -r1 -> -r1.1). 3. Those with a normal revbump (ie -r1 -> |
18 |
> -r2). |
19 |
> |
20 |
> What is the purpose of allowing the first? Presumably that should |
21 |
> be used in even more limited circumstances than a minor revbump, so |
22 |
> why allow it at all? Why not just make an in-place change |
23 |
> equivalent to a minor revbump and ditch the minor revbump entirely? |
24 |
> Devs would still need to distinguish between what requires a |
25 |
> revbump and what does not. |
26 |
> |
27 |
> Doing this would require having portage cache a hash of whatever |
28 |
> ebuild it last parsed, and perhaps its eclasses as well if we |
29 |
> permit revbump-less eclass changes. Then it would have to check |
30 |
> for when these change, perhaps this might be stored in the metadata |
31 |
> to speed things up. |
32 |
> |
33 |
> You could view such an approach as being equivalent to just |
34 |
> sticking a ".hash" on every ebuild in the tree as a minor revision |
35 |
> tag, so that any change triggers a minor revision. The only |
36 |
> difference between that and the proposal that I can see is that the |
37 |
> minor revisions would be unordered. However, if we go with the |
38 |
> theory that defective ebuilds get removed immediately then there is |
39 |
> no point in ordering minor revisions because there will only be one |
40 |
> in the tree at any time for a given major revision, so the package |
41 |
> manager couldn't take advantage of any information conveyed by |
42 |
> ordering. |
43 |
> |
44 |
> This probably isn't too different from what portage is doing |
45 |
> already, except: 1. Portage is only looking for dependency changes |
46 |
> when it has another reason to look closely at the ebuild - it has |
47 |
> no mechanism to detect that an ebuild changes, and this would add |
48 |
> one. 2. We don't have any clear policies today on when ebuilds |
49 |
> should be revbumped or not as the result of things like dependency |
50 |
> changes, and this would cause us to make some. |
51 |
> |
52 |
> The fact that this isn't a big change does concern me that it may |
53 |
> not fix all of the underlying problems. However, some of those |
54 |
> problems might not actually have clean solutions other than never |
55 |
> committing mistakes in the first place. For example, if a prerm |
56 |
> dependency was missing then removing the ebuild can potentially |
57 |
> fail whether you use dynamic deps or not until it is satisfied. |
58 |
> |
59 |
|
60 |
The primary underlying problem I see about this is that it doesn't |
61 |
force devs to start doing something to the tree that will suddenly |
62 |
help make all of the static-deps-only PMs (ie, those that aren't going |
63 |
to implement this new hash-changed-so-re-evaluate-ebuild method) |
64 |
suddenly work in a more consistent fashion. IIRC, the very first post |
65 |
of this thread was a reminder to dev's to revbump so that static-deps |
66 |
behaviour is more correct/consistent. |
67 |
|
68 |
|
69 |
However, if we put something into the next EAPI about this and make it |
70 |
a requirement for all PMs (although I have no idea how we would roll |
71 |
this out; maybe make it a profile-level requirement instead of an |
72 |
ebuild-level one, if there is such a thing??) then it would become |
73 |
much less of an issue.. Mind you, we need to solve all of the |
74 |
problems first and make sure PMS documents all of the requirements in |
75 |
an appropriately complete and ambiguity-preventing manner that |
76 |
everyone agrees with.. Easy, right? :) |
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
-----BEGIN PGP SIGNATURE----- |
83 |
Version: GnuPG v2 |
84 |
|
85 |
iF4EAREIAAYFAlPWlfYACgkQ2ugaI38ACPApTwD9H+PX4f1XGtauwbjfXczPqAYf |
86 |
yBqDW9MOwIlWPCqeu6IA/ipySyWxA/J12RSuLTNyj98li9Qmeq0GLR37KSZ2Cc/p |
87 |
=05lZ |
88 |
-----END PGP SIGNATURE----- |