1 |
On Sun, 30 Mar 2008 02:39:46 -0700 |
2 |
Brian Harring <ferringb@×××××.com> wrote: |
3 |
> I'm unaware of any suffix *currently* that has some long time usage that |
4 |
> is used by a mere .06% of the tree. LZMA likely would apply, but |
5 |
> that also was introduced rather recent so isn't exactly |
6 |
> representative. |
7 |
|
8 |
7z. |
9 |
|
10 |
> Finally, drawing parallels between unpack and forcing a specific form |
11 |
> of suffix makes no sense- dropping a format from unpack has real |
12 |
> world consequences, specifically breakage. Forcing "one or the |
13 |
> other" suffix wise is a quick inspection of 15 ebuilds in gentoo-x86, |
14 |
> and minor compat code if the package manager upstream wants to be |
15 |
> friendly to the minority of users it may affect if they make suffix0 |
16 |
> an error when dealing with vdb. |
17 |
|
18 |
Getting fifteen ebuilds changed might be something you could get done |
19 |
via QA, but it's not PMS's job. |
20 |
|
21 |
(Unless it's something really annoying, of course...) |
22 |
|
23 |
> There are lots of things that upstream does with versioning that |
24 |
> doesn't map perfectly into ebuild versioning scheme- and that's |
25 |
> actually quite fine. |
26 |
|
27 |
Sure, but arbitrarily banning even more of them is wrong. |
28 |
|
29 |
> Besides, this discussion is *not* about banning _pre0, or _alpha0- |
30 |
> it's about banning explicit usage of implicit version components in |
31 |
> the on disk ebuild. |
32 |
> |
33 |
> Phrasing another way, it's pointless to have |
34 |
> dev-util/diffball/diffball-1.0_alpha0.ebuild ; |
35 |
> dev-util/diffball/diffball-1.0_alpha.ebuild |
36 |
> |
37 |
> is the exact same version. |
38 |
|
39 |
But a different PV. |
40 |
|
41 |
> Banning _suffix0 (and -r0) loses nothing, but gains consistancy in |
42 |
> on disk naming (thus less likely for devs to screw up as occured |
43 |
> today), and simplifies working with ebuilds on disk for managers/repo |
44 |
> modifiers. |
45 |
|
46 |
And means people need to start using versionator. |
47 |
|
48 |
> > Introducing multiple sets of versioning rules is a far worse gotcha |
49 |
> > than a ban on duplicates. Banning _alpha etc in some places but not |
50 |
> > others gets very confusing very quickly. |
51 |
> |
52 |
> You're reaching. Nothing is lost here. What you're arguing for is |
53 |
> thus- |
54 |
> |
55 |
> "you can have name the ebuild either pkg-1.0_alpha0.ebuild, or |
56 |
> pkg-1.0_alpha.ebuild. You must not have both on disk however" |
57 |
> |
58 |
> versus |
59 |
> |
60 |
> "you must name the ebuild pkg-1.0_alpha.ebuild." |
61 |
> |
62 |
> There is no "multiple sets of versioning rules" here, the versioning |
63 |
> rules stay *exactly* the same. All that's being done is that the |
64 |
> unique cpv constraint is pushed down to the on disk repository level, |
65 |
> thus removing the issue permenentaly (while increasing consistancy |
66 |
> across repos). |
67 |
|
68 |
But you're not pushing a unique CPV constraint unless you start banning |
69 |
all sorts of other things. |
70 |
|
71 |
> As I've done in attempting to respond to your |
72 |
> questions/counterargument, please site examples/data, or at the very |
73 |
> least be explicit about what you're claiming. I know the versioning |
74 |
> rules (unfortunately) quite well, and there is no 'multiple sets' |
75 |
> introduced via this change- so either you're confused, or you see |
76 |
> something I don't. |
77 |
> |
78 |
> Saves both of us a lot of time if you're explicit. |
79 |
|
80 |
You're talking about forcing one lot of rules for on-disk packages and |
81 |
another lot of rules for versions in general. |
82 |
|
83 |
> > The package manager has to deal with equality and equivalence |
84 |
> > separately anyway... If you're storing 1.0 when the actual version |
85 |
> > is 1.0-r0 you have issues regardless of whether -r0 itself is |
86 |
> > banned on disk |
87 |
> |
88 |
> You're pretty clearly missing the point. When I state "it makes |
89 |
> repository/package manager operations simpler", this is a classic |
90 |
> example- you don't have to worry about whether or not it was -r0 on |
91 |
> disk, or was revisionless. Via forcing consistancy into the spec, |
92 |
> you force it to be one or the other. |
93 |
|
94 |
No! Even ignoring -r0, you still have to know whether it's 010 or 10 on |
95 |
disk. Or do you want to ban that too? And all the other possible ways |
96 |
of having multiple equivalent but non-equal versions? |
97 |
|
98 |
> > -- if you want to prevent that, you have to start banning versions |
99 |
> > like 086 and 1.00 too. |
100 |
> |
101 |
> No need to ban 1.00; it's already banned by PMS- quoting from |
102 |
> names.tex: |
103 |
> |
104 |
> A version starts with the number part, which is in the form |
105 |
> \t{[0-9]+($\backslash$.[0-9]+)*} (a positive |
106 |
> integer, followed by zero or more dot-prefixed positive integers). |
107 |
> |
108 |
> Note the 'positive integers'; so 1.00 is actually blocked by PMS. |
109 |
> That said, that same text seems to invalidly ban 1.0 also. |
110 |
|
111 |
Zero is a positive integer! We'd've said 'natural' if we wanted to ban |
112 |
zero... Having said that, send a patch if you think we should cater to |
113 |
people using other definitions. |
114 |
|
115 |
-- |
116 |
Ciaran McCreesh |