1 |
Am Montag, den 04.05.2009, 22:01 +0100 schrieb Sérgio Almeida: |
2 |
> Gentoo Dev's, |
3 |
> |
4 |
> My name is Sérgio Almeida, I am Portuguese and I am a student for this |
5 |
> year's Google SoC coding the Universal Select Tool project for Gentoo |
6 |
> being Sébastien Fabbro (bicatali) my mentor. |
7 |
> |
8 |
> Abstract: |
9 |
> |
10 |
> Universal Select Tool is an utility to manage system configuration. |
11 |
> This tool is similar to the unmaintained eselect utility of Gentoo or |
12 |
> Exherbo's eclectic. The idea is to create a tool that manages both |
13 |
> system settings and user settings with profile creation possibilities. |
14 |
> The utility will use mostly concepts from "modules", "softenv", and |
15 |
> both "eselect" and "eclectic". |
16 |
> |
17 |
> My initial proposal does not get in-depth with implementation details |
18 |
> and I need to make some decisions as soon as possible. Implementation |
19 |
> language will be python as it is easy to maintain, easy to code and |
20 |
> faster and more flexible than bash. See attachment for more details. |
21 |
> |
22 |
> Besides introducing myself, the purpose of this e-mail is a |
23 |
> call-to-ideas to all Gentoo developers, mainly all eselect-* and |
24 |
> *-config developers. |
25 |
> |
26 |
> Here are the main interest ideas: |
27 |
> |
28 |
> * keep eselect structure of modules - actions |
29 |
> |
30 |
> * symlinking, environment and aliases actions can consist of something |
31 |
> like: |
32 |
> |
33 |
> # module moo comments |
34 |
> description "Example Module description" |
35 |
> version "Example Module Version" |
36 |
> author "moo@××××.moo" |
37 |
> # action system moo |
38 |
> description "Moo Action Description" |
39 |
> symlink "regexp" "regexp" |
40 |
> env "regexp" "regexp" |
41 |
> alias "regexp" "regexp" |
42 |
> # end moo |
43 |
> |
44 |
> These should get the job done for most of the modules and opens the door |
45 |
> to automatic module creation prior to a successful emerge (if some USE |
46 |
> flag set) |
47 |
> |
48 |
> * Actions that consist of code blocks that support any scripting |
49 |
> language (what about binaries?) to do more complex actions (full module |
50 |
> example): |
51 |
> |
52 |
> # module moo comments |
53 |
> description "Example Module description" |
54 |
> version "Example Module Version" |
55 |
> author "moo@××××.moo" |
56 |
> |
57 |
> # action user moo |
58 |
> description "Example Module will moo for any user" |
59 |
> type runnable |
60 |
> runner /bin/bash |
61 |
> # file moo.bash |
62 |
> #!/bin/bash |
63 |
> do_moo() { |
64 |
> echo "This is the Example Module mooing" |
65 |
> } |
66 |
> do_moo() |
67 |
> # end moo.bash |
68 |
> # end moo |
69 |
> |
70 |
> * actions can be run system-wide and per-user: |
71 |
> # action user moo |
72 |
> # action system moo |
73 |
> |
74 |
> * automatic module loading and profile management can be managed by some |
75 |
> env.d python scripts that are user-aware and follow some database |
76 |
> |
77 |
> I've been given this difficult task of unifying all of these tools |
78 |
> together and as you all can understand, I won't be having the time to |
79 |
> read through all eselect-* modules and *-config utilities code. |
80 |
> |
81 |
> Please drop me a line here or at freenode if you have anything to add to |
82 |
> these ideas or have any further ideas that can help me on this project. |
83 |
> Thank you all in advance. |
84 |
|
85 |
What I'd like to see is the possibility to |
86 |
... localize messages (will be difficult since modules need translations |
87 |
as well, but maybe you find a way :) |
88 |
... encapsulation of methods to set/list/change such that instead of a |
89 |
CLI- a NCurses- or GUI-Frontend could be developed. |
90 |
|
91 |
Cheers, |
92 |
Tiziano |
93 |
|
94 |
|
95 |
|
96 |
-- |
97 |
Tiziano Müller |
98 |
Gentoo Linux Developer, Council Member |
99 |
Areas of responsibility: |
100 |
Samba, PostgreSQL, CPP, Python, sysadmin, GLEP Editor |
101 |
E-Mail : dev-zero@g.o |
102 |
GnuPG FP : F327 283A E769 2E36 18D5 4DE2 1B05 6A63 AE9C 1E30 |