Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Moving ebuild-related where they belong
Date: Thu, 07 Sep 2006 17:36:47
Message-Id: 20060907173532.GD31255@seldon
In Reply to: Re: [gentoo-portage-dev] Moving ebuild-related where they belong by Simon Stelling
1 On Thu, Sep 07, 2006 at 07:11:01PM +0200, Simon Stelling wrote:
2 > Brian Harring wrote:
3 > > Make this change, and it means that all overlays that can function as
4 > > standalone, must bundle the eapi helpers themselves.
5 >
6 > Standalone-repos will have that
7 > problem, but there is none yet to my knowledge. Sure, the problem
8 > persists for future repos, but it's not so much of a deal to copy an
9 > eclass once.
10
11 Err... that's rather whacky.
12
13 You're suggesting that a fix in an eapi class must be copied into
14 *every* standalone repo; lets pretend for a moment that glep19
15 actually got somewhere, and subtree generation is possible.
16
17 We'll pretend that a 1k admins use it to filter down to
18 lamp/mailserver/whatever, point is, they generated their own stand
19 alone.
20
21 See where the "we'll just copy it around" starts to break down and go
22 mildly apeshit?
23
24 > Also, as it stands today, portage IS connected to gentoo-x86 through
25 > exactly these helpers.
26
27 Not really.
28
29 Yes, portage knows the names of a few pkgs, but those pkgs are defined
30 in the tree; in that respect, it's actually semi-sanely designed.
31
32 Point there is that portage can be ran against a foreign tree without
33 needing gentoo-x86; frankly, claiming otherwise is a bit daft and
34 requires real world examples of where it breaks down.
35
36
37 > Upon the needs of the portage tree the functions
38 > in portage are changed, and this is simply not correct.
39
40 This assertion doesn't make any sense; clarify please.
41
42
43 > > This is ignoring the potential fun of an overlay that redefines an
44 > > eapi locked function.
45 >
46 > eclasses in overlays that also exist in the tree are fun anyway. If
47 > people are messing with eutils, we tell them that it is entirely their
48 > responsibility if something breaks. Same goes for install-helpers.eclass.
49 > That being said, this problem already exists today: A custom eclass
50 > could simply define a function 'dosbin' and ebuild.sh would use that
51 > one. While it's a possible cause for breakage, it's not an argument
52 > against the move.
53
54 There's a real difference however for the dosbin example; the eclass
55 can wrap the functionality, not flat out replacing it. If it's a
56 func, you're boned trying to get at the original, non-wrapped dosbin.
57
58 Move it into the tree, and you enable people to accidentally cause
59 mayhem on a repository wide scale via tinkering with bundled bits of
60 the eapi format; folks can do it now, but this makes it *far* easier.
61
62 > > A) requirement of trying to keep helper functionality exactly in sync
63 > > per tree,
64 >
65 > If the helpers were a part of the EAPI those trees would have to verify
66 > that the EAPI portage provides matches their needs.
67
68 The assertion there was that you would be stuck copying eclasses
69 across all repos that exist; thus not addressing that assertion
70 (should have been clearer, pardon).
71
72 Thing I think you're missing here is that the ebuild format is not
73 bound to gentoo-x86, nor is portage; thus trying to move intrinsic
74 bits of the format into gentoo-x86 goes pretty hardcore against the
75 goal of ever trying to sanely support N standalone repos due to the
76 fact each repo now can now carry it's own potential offshoot of the
77 eapi spec.
78 ~harring