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 |