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