Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Next major version
Date: Sat, 13 Aug 2005 17:53:31
Message-Id: 20050813175328.GE10438@nightcrawler
In Reply to: Re: [gentoo-portage-dev] Next major version by Kristian Benoit
1 On Fri, Aug 12, 2005 at 12:04:34PM -0400, Kristian Benoit wrote:
2 > I remember, when I started using Gentoo, reading that portage is a stand
3 > alone tool, it is not bind into Gentoo in anyway, someone could use it
4 > on redhat, debian, lfs...
5 Nice intention, but impossible with stable/alpha code- the
6 abstractions are missing. No config abstractions, but more
7 importantly no format abstractions; no true package object.
8
9 > Back then I was using lfs so I thought portage could be the way to go on
10 > lfs, but I realized that Gentoo fit my needs and I did'nt have to
11 > compile everything by hand anymore and still have everything compiled by
12 > my machines :) OH JOY !!!
13 Heh, came via the route I did...
14
15 > But 5 years or so later, the only official place to get portage releases
16 > is still in the gentoo mirrors. There is no RSS feed or anything like
17 > that. I still believe that portage has the potential to be so powerful
18 > that redhat, debian, ... could be building their packages using portage,
19 > managing their own tree, having night build.
20 >
21 > The problem is see, is that the initial portage vision (or perhaps my
22 > initial vision, a vision I still have) has not been carried along with
23 > it's developpement.
24 The vision got blocked by the implementation. Try busting all of the
25 globals out of portage, then abstracting all ebuild specific actions
26 (doebuild) behind package apis, so that different formats can be
27 swapped on the fly. Hell, binding dbapi and *tree classes together
28 into one, and having them properly inherited from a base is required,
29 rather then lots of duplicated code.
30
31 From there, how do you represent the *depends of a package, so that
32 the resolver can be reused across different configurations of package
33 format (this box being rpm, that being ebuild fex); need to break it
34 down into restrictions, handing the actual depends matching off to
35 repositories, with the resolver shifting sets of returned
36 packages/restrictions around to build up a graph.
37
38 Either way, look at
39 gentoo-src/portage/portage and
40 gentoo-src/portage/rewrite-misc
41
42 Work is underway, help is needed, jump in and start digging :)
43 The design *should* allow for lots of crazy crap, although anyone who
44 sees a flaw please speak up now :)
45
46 > Having an official web site, doc, ... will help getting visibility and
47 > effort from the rest of the world thus we'll have better tools and
48 > eventually extend portage beyond Gentoo.
49 API for tools, a *sane* api moreso :)
50
51 ~harring