Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Portage local package revisions
Date: Sat, 21 Oct 2006 00:29:27
Message-Id: 20061021002600.GB730@seldon
In Reply to: [gentoo-dev] RFC: Portage local package revisions by malverian@gentoo.org
1 On Fri, Oct 20, 2006 at 11:05:22PM +0000, malverian@g.o wrote:
2 > Hello all,
3 >
4 > In designing an enterprise infrastructure around Gentoo at my place of
5 > employment, I have discovered a feature that would improve Gentoo's
6 > usefulness greatly in this field.
7 >
8 > I'm writing to ask for your opinion on a change to sys-apps/portage that
9 > would allow users to maintain local revisions of ebuilds, such as
10 > "net-www/apache-2.0.58-r2-local1". This would require a modification to
11 > the ebuild version specifications and a patch to two portage source
12 > files which you can review here:
13
14 Use -rX.Y instead; existing portage will choke on it the same as it'll
15 choke on -local, upshot of -rX.Y is that it's less chars, bit more
16 clear in the intention of trying to sneak an additional version
17 component betwee -rN and -rN+1
18
19
20 > http://dev.gentoo.org/~malverian/portage_local_version.patch
21 >
22 > (Please don't complain about the code quality, I cleaned up areas where
23 > it was desparately needed such as the string.atof() areas, but for the
24 > sake of code coherence, I tried to use the same methodology used elsewhere
25 > in the code as much as possible, such as unqualified except statements :P)
26
27 Bah. If you know that catch-all except's are bad, that means you
28 can't use that excuse for having it in your new code :P
29
30
31 > 2) You are using binary packages and need to simulate a version bump to
32 > force re-installation of a binary package with modified USE flags.
33 >
34 > 3) You are using binary packages and need to simulate a version bump to
35 > force re-installation of binary packages that were rebuilt during
36 > revdep-rebuild
37
38 Failing here is that it's not a 'simulated' verbump, it *is* a verbump
39 for any deps that are locked via =; =dev-util/diffball-0.7.1 will not
40 pick up =dev-util/diffball-0.7.1-local1 since =dev-util/diffball-0.7.1
41 is implicitly =dev-util/diffball-0.7.1-local0 .
42
43 Folks can live with that issue, but should be clear that its there
44 (same for revbumps of course, just picking at the wording).
45
46
47 > In all of the above cases, one could simply bump the package up one
48 > revision by creating an ebuild in an overlay for apache-2.0.58-r3.
49 > However, using this solution will result in apache not being upgraded
50 > when apache-2.0.58-r3 is actually committed to the portage tree unless
51 > you perpetuate this bad habit ad nauseum.
52
53 This particular issue (force usage of an ebuild from PORTDIR if the
54 installed exact version is from an overlay) can be addressed without
55 changing version rules, although admittedly it's a single revbump, no
56 way to do multiple bumps (again, wording is all).
57
58
59 > - The new (completely backward compatible) version priority order would be:
60 >
61 > apache-2.0.58
62 > apache-2.0.58-r1
63 > apache-2.0.58-r2
64 > apache-2.0.58-r2-local1
65 > apache-2.0.58-r2-local2
66 > apache-2.0.58-r3
67 > apache-2.0.59
68
69 portage_version.ver_regexp specifically anchors -r\d+ to the end of
70 the string, as such this is *not* backwards compatible, 2.1
71 would choke if it saw these versions in the vdb or in an
72 overlay...
73
74 ~harring

Replies

Subject Author
Re: [gentoo-dev] RFC: Portage local package revisions Philip Walls <malverian@g.o>