Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] explicit -r0 in ebuild filename
Date: Sun, 30 Mar 2008 18:27:06
Message-Id: 20080330192652.659d7d82@snowcone
In Reply to: Re: [gentoo-dev] explicit -r0 in ebuild filename by Brian Harring
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

Attachments

File name MIME type
signature.asc application/pgp-signature