Gentoo Archives: gentoo-dev

From: John Stalker <stalker@××××××××××××××.EDU>
To: gentoo-dev@g.o
Subject: Re: [gentoo-dev] The future of eclasses
Date: Thu, 07 Feb 2002 10:53:03
Message-Id: 200202071651.g17Gpuu02944@fine1008.math.princeton.edu
In Reply to: Re: [gentoo-dev] The future of eclasses by Karl Trygve Kalleberg
1 I agree with almost all of this, but I would like to add one additional
2 point. It's not solely a matter of encouraging users to contribute
3 ebuilds, but also of allowing them to understand them. I want to
4 understand what will happen when I type emerge foo/bar before I
5 actually do it. This is what always annoyed me about rpm and
6 deb. There are two ways of dealing with this. One is to keep
7 everything in a familiar format, ie bash for gentoo portage or
8 Makefiles for FreeBSD ports, and the other is to have a stable
9 well-documented interface to some mysterious black box. I would
10 much prefer the former wherever it is feasible, but of course I
11 don't have the burden of maintaining large numbers of ebuilds.
12
13 > > This is all almost certainly portage v2 stuff. However I'd like everyone
14 > > working on portage (e.g. Bevin, with whom I've spoken) to know where we
15 > > stand, to coordinate our efforts. As always, any ideas, forecasts,
16 > > suggestions etc. are always welcome.
17 >
18 > I like the idea. If its documentation becomes part of the ebuild howto,
19 > it will get adopted fairly quickly.
20 >
21 > The main concern Hallski and me (and possibly others, such as John
22 > Stalker, if memory serves) was that the current ebuild system mirrors
23 > the manual build process so closely that external contributors have
24 > little or no difficulty sending us ebuilds.
25 >
26 > I think this can be solved somewhat if it is clearly documented _what_
27 > is assumed by the various eclasses and perhaps a motivation when the
28 > assumptions are less than crystal clear.
29 >
30 > What plagues many non-kde ebuilds is that their build systems are fairly
31 > non-standard. And even packages with seemingly standard build systems
32 > quickly turn out to have both minor and major flaws (Mailman is a good
33 > example of a horrible build system that on the surface looks nice, but
34 > in practice turns out to be a real bitch).
35 >
36 > The minor nuisances of the various build systems mean that we might find
37 > it easier to patch the generated Makefiles instead of the Makefile.in or
38 > Makefile.am files, thus requiring an intermediate step between
39 > configure and make (ie, patching in src_unpack is too troublesome).
40 >
41 > Consequently a simple wrapper for src_compile will only work a certain
42 > percentage (possibly relatively low; <= 50%) of the time, and a
43 > full-blown manual src_compile() function must be written for the rest of
44 > the ebuilds.
45 >
46 > The situation for src_install() is even more dire, as it would appear
47 > that close to all packages have trouble conforming to any kind of FHS,
48 > and installing in a temporary directory is completely foreign.
49 >
50 > Now, for our regular ebuild writers, the 50% saving is a big deal. For a
51 > new submitter, it means he has to figure out which eclasses are
52 > available (+ what they are), which criteria his package must meet to be
53 > able to avail himself of the various eclasses, and finally test that
54 > this is really so.
55 >
56 In conclusion, I am very positive about eclasses for our regular
57 > contributors; it would possibly give us yet another advantage to our
58 > package system that would allow us to add more ebuilds more quickly (one
59 > could argue that quantity in itself is not a good thing, and of course I
60 > agree ;). But if our intention is that "regular" users should easily
61 > be able to submit ebuilds, and more easily so than writing a debian
62 > package or an rpm spec, then we must be very careful to consider the
63 > result eclasses have on our "regular" users.
64 >
65 > </rant>
66 >
67 > Kind regards,
68 >
69 > Karl T
70 > _______________________________________________
71 > gentoo-dev mailing list
72 > gentoo-dev@g.o
73 > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
74
75 --
76 John Stalker
77 Department of Mathematics
78 Princeton University
79 (609)258-6469