Gentoo Archives: gentoo-dev

From: Cory Visi <merlin@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Moving functionality out of portage and into the tree
Date: Thu, 29 Jul 2004 16:33:55
Message-Id: 20040729163352.GA13546@toucan.gentoo.org
In Reply to: [gentoo-dev] Moving functionality out of portage and into the tree by Brian Harring
1 Theory aside, it really sounds like your two examples and everyone else's
2 follow-ups have do to with the QA time on portage releases. The real
3 problem is not that these utilities are part of portage releases, but that
4 portage releases take too long to come out.
5
6 Is moving them into the portage tree so every developer can have at it the
7 right solution? Will QA on these "base" utilities be neglected? How can we
8 assure the same type of care with these utilities is taken as with portage
9 releases?
10
11 I'm not against this move, I just want to discuss these issues.
12
13 Thanks,
14 Cory
15
16 On Thu, Jul 29, 2004 at 04:36:35AM -0500, Brian Harring wrote:
17 > Note: pardon the dual post, resending this since I managed to leave a
18 > subject off of... any discussion regarding this, please start the thread
19 > from this message... sorry about that :-)
20 >
21 > Currently portage bundles all do* and new* scripts that ebuilds use with
22 > each release. In other words, the current breakage w/ dohtml -R not
23 > handling files w/ spaces correctly is tied to a portage version
24 > (<=.51_pre13). Prior releases of portage will remain broke,
25 > since the fix is tied to a portage release.
26 >
27 > To head off the 'they should upgrade', yes, having a current portage is
28 > important- that doesn't mean we can't split these files out so that they
29 > *aren't* tied to a release.
30 >
31 > Gentoo's pkg system is basically composed of two things; portage, the
32 > executor of ebuild instructions, and the tree, the data for
33 > compilation/installation of src. Currently portage is basically
34 > providing a collection of scripts/functions that are strictly used by
35 > the ebuilds, basically a library of functions/scripts- basically 'data'
36 > in the exec portion.
37 >
38 > This 'library' should be placed into the tree, since portage isn't aware
39 > of the scripts/functions even existing for the most part. The do* and
40 > new* scripts are specific to the customs we have for our tree, not
41 > portage.
42 >
43 > The scripts are kind of a no brainer for moving- what I'm also
44 > proposing, is the creation of an ebuild-base eclass that is
45 > automatically inherited, and lives in the tree.
46 >
47 > Same thing, moving functions out of portage that are specific to our
48 > tree, into the tree.
49 >
50 > Fex: the amd64 crew is after being able to overload econf so that they
51 > can specify where the 64bit libs should live; as it stands, they're
52 > stuck until it's in a portage release. If econf lived in the
53 > ebuild-base class, this change could be flipped on regardless of the
54 > users portage version.
55 >
56 > The embedded crew are after something similar- see bug #55476, basically
57 > need an addition to econf to do tweaks to configure scripts; as it
58 > stands, they must wait for it a release.
59 >
60 > The point of all of this is that these functions/scripts *aren't*
61 > specific to portage the package, they're specific to our tree,
62 > specifically the tree *at that moment* I'd assume when it was decided
63 > we would have these functions available for our ebuilds, they wound up
64 > in the portage src for lack of a better place, which I view as the wrong
65 > location.
66 >
67 > Ebuild-base.eclass would hold econf, emake, ins*, and a few other
68 > functions.
69 >
70 > Assuming people have read this far, and agree, and this is actually
71 > undertaken, the scripts/ebuild-base class should be controlled by a
72 > herd- those who know the tree in and out would be best for the herd.
73 > Basically, grab those who already are already doing serious QA of the
74 > ebuilds in the tree.
75 >
76 > As for actually doing these moves, it's pretty straightforward.
77 > Transferring the scripts out of portage pretty much consists of a PATH
78 > addition in a portage release, for auto-inheriting ebuild-base.eclass,
79 > addition of another src statement. About it.
80
81 --
82 gentoo-dev@g.o mailing list

Replies