Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Request to add ~> atom prefix operator on Portage.
Date: Wed, 16 Sep 2015 07:50:42
Message-Id: CAATnKFCCqoY_0w1gijmRVpatVf=x4p0iBo_sqG1qE6KCVPoWrQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] Request to add ~> atom prefix operator on Portage. by konsolebox
1 On 16 September 2015 at 19:40, konsolebox <konsolebox@×××××.com> wrote:
2 > And I find it so wrong that it makes me think that it shouldn't have
3 > been acknowledged by any packaging system. That versioning madness
4 > should have been just fixed in the ebuilds level.
5
6
7 Yeah. My experience with versions is its better to have a single
8 versioning scheme that is regular and well defined, without any
9 magical "Do everything different if this thing exists here" stuff.
10 Perl versions suffer seriously from such logic, and gentoo also does,
11 in different ways.
12
13 The reason I believe we permitted versions to have such a variety of
14 interpretations is to make it easier to track upstream versions 1:1.
15
16 But in some places, that just makes our life more miserable for the
17 attempt, and its more "Sane" to normalise upstream versions into a
18 scheme that is consistent and makes sense.
19
20 After all, that's what our downstream job is: To sanitize upstream for
21 our users.
22
23 And upstream *can* and *will* do utterly rediculous shit with versions
24 that no single versioning syntax can ever attempt to adjust for. ( For
25 instance, publishing versions with substrings of MD5s , where the
26 textual data itself conveys absolutely no relativistic numeric value,
27 because upstream don't care for progressive scales of versioning, only
28 a "Have the latest version published or GTFO" mandate, which is
29 something you can't map sanely )
30
31 Hence why perl herd bit that bullet a long time ago and applied a
32 normalisation scheme, to map the horrible multiple-version-schemes
33 system into a logical and consistent thing that gentoo handles simply.
34
35 It comes with a price of course, that every ebuild has to have a "The
36 upstream version is really ... " declaration, and people have to
37 remember to change that when they bump the version, but it leads to
38 much less dependency version confusions.
39
40 --
41 Kent
42
43 KENTNL - https://metacpan.org/author/KENTNL