1 |
Hi. I've just signed up to the mailing list and wanted to put in my 2^n |
2 |
cents. I've just switched over from Debian and am very impressed with |
3 |
the Portage system and find administration and configuration to be very |
4 |
straight forward and enjoyable. I have learned a great deal about Linux |
5 |
in general during the transition (which is almost done -- I think). So, |
6 |
without further adieu.... |
7 |
|
8 |
One thing I think needs some refinement is the USE system. I was |
9 |
thinking that using a format that is more strict would allow for more |
10 |
flexibility and make it easier to automate both the process of |
11 |
generating the make.conf file and for tools to administer the USE |
12 |
variables. It may also allow for some improvements in the Portage system |
13 |
as well. |
14 |
|
15 |
Using the docs in make.conf as the starting point, I think it would make |
16 |
sense to have a simple database format, or, if using python a list of |
17 |
dictionaries. For example, one entry might look like this: |
18 |
|
19 |
use_var={"name":"esd", |
20 |
"description":"Enable enlightenment sound daemon support.", |
21 |
"priority":"OPTIONAL", |
22 |
"depends":"media-sound/esound"} |
23 |
|
24 |
where: |
25 |
|
26 |
priority => RECOMMENDED | REQUIRED | OPTIONAL | STANDARD | |
27 |
EXPERIMENTAL | DEPRECIATED | DONTUSE | CANNOTLIVEWITHOUT |
28 |
|
29 |
depends => packages required to satisfy the USE variable |
30 |
|
31 |
Note the "depends" entry. This may allow the Portage system to become |
32 |
more flexible. Rather than just silently checking for use flags it may |
33 |
be nice to let the user know which USE variables are supported and |
34 |
possibly give the option to install supported packages, easily located |
35 |
through the "depends" field in the "database". This might serve as |
36 |
something similar to the Debian "recommended" package option. Maybe |
37 |
including a USE or OPTIONAL flag in the ebuild file that lists all of |
38 |
the possible USE options could be added. |
39 |
|
40 |
Also, maybe adding a "--satisfyuse" flag to the ebuild/emerge command. |
41 |
|
42 |
I know Gentoo is designed for more advanced users and what I have |
43 |
described may seem gratuitous, but I think it might make things easier |
44 |
in the long run. (Also, even advanced users can do with a _little_ |
45 |
convenience.) |
46 |
|
47 |
It may, then, also make sense to give a little more structure to the |
48 |
optimization settings. For example: |
49 |
|
50 |
optimization_var={ |
51 |
"host":"i686", |
52 |
"chost":"i686-pc-linux-gnu", |
53 |
"cflags":"-mcpu=i686 -march=i686 -O3 -pipe", |
54 |
"cxxflags":"-mcpu=i686 -march=i686 -O3 -pipe"} |
55 |
|
56 |
where: |
57 |
|
58 |
host => i386 | i486 | i586 | i686 | k6 | athalon [ | ppc ] |
59 |
|
60 |
And, for the sake of completeness, why not the FETCHCOMMAND: |
61 |
|
62 |
fetch_cmd={ |
63 |
"name":"Lukemftp", |
64 |
"command":"/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${y} \${x}"} |
65 |
|
66 |
If I recall correctly, my inspiration for all of this was when, during a |
67 |
recent update, I noticed that some new USE variables were available. I |
68 |
found it annoying to see which ones I had already included (searching |
69 |
through my long and possibly overkill USE string) and if there were any |
70 |
new ones that I wanted. Then I thought, "Gee, wouldn't a nice ncurses |
71 |
interface be great -- a couple of check boxes and then I have more time |
72 |
to attend to something only a little more important?" |
73 |
|
74 |
As this is my first (and hopefully longest) message please give me some |
75 |
feedback, both good and bad -- I can take it. |
76 |
|
77 |
I am thoroughly enjoying Gentoo Linux. Thank you to everyone. |
78 |
|
79 |
Regards, |
80 |
Zach Forrest |