Gentoo Archives: gentoo-dev

From: Martin Schlemmer <azarah@g.o>
To: gentoo-dev@××××××××××.org
Subject: Re: [gentoo-dev] A wishlist
Date: Sun, 14 Oct 2001 11:39:15
Message-Id: 1003081279.1003.678.camel@nosferatu.lan
In Reply to: [gentoo-dev] A wishlist by Karl Trygve Kalleberg
1 On Sun, 2001-10-14 at 18:41, Karl Trygve Kalleberg wrote:
2 >
3 > Hi gang.
4 >
5 > Lukewarm on the heels of my last post about things that should be in place
6 > before 1.0, I now come with a non-triaged wishlist that are mostly my own
7 > wishes. If there's anything smart in what follows, that's probably due to
8 > pekdon and/or Azarah :)
9 >
10 > (If you think the formatting looks like shit, it's because it is. I've
11 > written this as a Gentoo Guide, since I plan on maintaining it as web
12 > document on our site. We do not currently seem to have an XSL that
13 > transforms our guides to pure text [and the html converter also leaves a
14 > lot to be desired]).
15 >
16 > Anyway, here follows:
17 >
18 >
19 >
20 > Gentoo Linux Wishlist
21 >
22 > Karl Trygve Kalleberg
23 >
24 >
25 > This document maintains a prioritized list of features which Gentoo
26 > Linux will have (and not have) in the near and middle future. The list
27 > is posted semi-regularily to the developers' list, where new items are
28 > proposed, prioritized or rejected.
29 >
30 >
31 > 1.0
32 > 2001-10-13
33 >
34 >
35 > The unsorted items
36 >
37 >
38 > Gentool.Configure
39 >
40 > Currently, Gentool is (not being) maintained by karltk. Its goal
41 > is to act as an entry point into portage proper for fancy things that
42 > we want to have in our package management system.
43 > I suggest we rename Gentool into Gentools and rather make it into
44 > a collection of scripts with common syntax/semantics. It could then
45 > easily evolve into the Gentoo configuration toolset that handled
46 > user management, daemon management, hardware managment, etc,
47 > without being imposed on each user.
48 > Currently, I suggest the following tools:
49 > gentool.daemonlist: Lists running and runnable daemons.
50 > gentool.driverlist: Lists the running subsystems. For some
51 > machines, most notably portables, it is desirable to turn off
52 > subsystems that are not in use to conserve battery power. irda, cdrom,
53 > usb, sound, network/cardbus are examples of this.
54 > gentool.depends: Lists packages depending on a particular
55 > package.
56 > I realise that this is currently more a collection of inspection
57 > tools than configuration tools, but I find myself lacking information
58 > about the packages far too often, ie which package do I have to
59 > install to get Java ?, which package contains xsltproc ?,
60 > etc. Sometimes, a simple grep through the ebuilds suffice, other
61 > times a complex search with google is the only way.
62 >
63 >
64
65 Gui/scripts that control the whole system, or just show info will be
66 nice, but I think some docs on the whole init system and maybe a
67 long checkup/fixup/reimplementation to it will be nice.
68
69 Look at /etc/modules.autoload (or whatever). From what I have heard,
70 it is supposed to replace /etc/modules for autoloading of modules.
71 Thing just is, I cant find it being parsed anywhere (/etc/init.d/modules
72 parse /etc/modules and /etc/modules.d).
73
74 Yes, these tools will be nice, but I think we need to checkup on the
75 basesystem first, fix it up, add features, and MOST IMPORTANTLY,
76 DOCUMENT IT! Only then will these tools be of use, otherwise it
77 will have to be modified whenever problems with the initsystem is
78 descoverd and changed.
79
80 >
81 >
82 > Subterfuge functionality in Portage
83 >
84 > Subterfugue is a low-level system administration tool that can bar
85 > write access to directories, restrict download speed, inspect and act
86 > upon operating system level triggers, such as opening of files,
87 > creation of directories, consumption of memory and similar.
88 > It would be very beneficial to the Gentoo developers if Portage
89 > used some of the features of Subterfuge to create a sandbox for
90 > creating ebuilds
91 > Most specifically, Subterfuge could be used to ensure that no
92 > ebuild writes outside its image-directory.
93 > In addition, for people with slow links, it would be preferrable to
94 > specify a maximum bandwidth amount that Portage could use for
95 > downloading large tarballs. Although Subterfuge has the ability to
96 > dynamically change the allocated bandwidth, a simple entry in
97 > /etc/make.conf should suffice.
98 >
99 >
100
101 YES! I am _very_ in favour of this. With all the different ways to
102 ./configure and install source out there, it is very difficult to
103 ensure that all files is installed in ${D}, and even after reading
104 the Makefile's install: section, you can still miss something.
105 A feature that will monitor file/directory creation during
106 src_install() will be a major improvement. On a file that gets
107 installed outside ${D}, portage should quit, and give an error with
108 the offending file/directory.
109
110 >
111 >
112 > Sensible default configuations
113 >
114 > Only a miniscule subset of our daemons run straight out of the
115 > box. For many daemons, sensible (paranoid) defaults are fairly easy
116 > to set by the ebuild.
117 > Alternatively, we could start thinking about configuration
118 > profiles that can be applied to a set of applications. While we (and
119 > our users) really want to configure/tweak most aspects of all
120 > configurations files ourselves at some point, having a paranoid
121 > setting in the interim would be better than force the user to
122 > hastily put together a configuration that's full of holes.
123 >
124 >
125
126 I am not one that installs many services, and usually just the basic
127 config file with commented options is sufficient for me. However,
128 we should relise that not only developers will use Gentoo Linux,
129 especially when version 1.0 is released. Then we will have to deal
130 with end users, and like Karl said, rather a safe, secure config,
131 then the wide open ones some other distro's have (wont mention names ;p)
132
133
134 >
135 >
136 > Ebuild review upon commit
137 >
138 > Many of our ebuilds contain small oversights and suffers from not
139 > being tested enough. We should accept that fact that to err is human,
140 > and figure out a way to minimize the number of errors
141 > To that end, I propose we at some point institute a two-level
142 > checkin mechanism, even for developers. For any package to be
143 > unmasked (and thus readily available to end-users), at least one
144 > other developer must look through it and vouch for its
145 > stability.
146 > The proposal is not about assigning blame. It is about
147 > minimizing the number of errors. I personally try to have a few of
148 > the denizens on #gentoo test my ebuilds before committing and
149 > unmasking.
150 >
151 >
152
153 Maybe create a Ebuild Team, who take over Dan's job of filtering ebuilds
154 to incoming. Also developers should mail updates/changes to
155 gentoo-ebuild, and these people test it first before it gest unmasked.
156 Guess this team dont have to be big, 1 or 2 people should sufficient for
157 now. Maybe just people with high speed connections (I know how long it
158 takes me to download on 56k ... usually way longer than creating the
159 ebuild).
160
161
162 And yes, it is not assigning blame, but what works on your system,
163 could be broken on another system.
164
165 >
166 >
167 >
168 > The prioritized items
169 >
170 >
171 >
172 > The rejected items
173 >
174 >
175
176 My own wishlist: Layout for a .ebuild
177
178 Especially with the gnome move to /usr, I had to modify a LOT of
179 ebuilds. And usually not two's form was the same (even with the
180 same author).
181
182 Main points this form should touch (my opinion of course ;-):
183
184 1) Lay out the musts and must nots for a ebuild. The ${A} issue
185 etc.
186
187 2) Explain some of the hidden features that I have to find out
188 by hacking lots of other ebuilds.
189
190 3) Have a Changelog ... things that worked one way, now a different way.
191 Not nice to have used something, then next time find out it changed.
192
193 4) Neatness. Go into how the form of NEAT ebuild should be. You
194 must remember that with every ebuild, you are creating a building
195 block that others will build apon ....
196
197 5) Upgradebility. Any Ebuild should be able to just be copied to the
198 new version, and then work out of the box (excluding compile errors).
199 I think the mplayer ebuild is a nice example of this, it will work for
200 release and pre versions. The VIM ebuild is another example.
201
202 6) Everything else i forgot.
203
204
205
206 I am no doc writer, so excuse if not too clear.
207
208
209 Greetings
210
211 --
212
213 Martin Schlemmer
214 Gentoo Linux Developer, Desktop Team Developer
215 Cape Town, South Africa
216 Town, South Africa

Replies

Subject Author
Re: [gentoo-dev] A wishlist Mikael Hallendal <hallski@g.o>