1 |
On Sat, 07 May 2005 22:37:22 +0200 Danny van Dyk <kugelfang@g.o> |
2 |
wrote: |
3 |
| During the last few months, ciaranm, ka0ttic, slarti and me have been |
4 |
| working on "eclectic" [1], a modular administration and configuration |
5 |
| framework for Gentoo. Eclectic is completely written in bash and |
6 |
| unifies different tasks in one tool with a consistent user interfaces. |
7 |
|
8 |
Might as well post a sample module... This one's the kernel symlink |
9 |
manager thingie, which I wrote mainly as a test / demo thing but it can |
10 |
be vaguely useful too: |
11 |
|
12 |
http://svn.berlios.de/viewcvs/*checkout*/eclectic/trunk/modules/kernel.eclectic |
13 |
|
14 |
Note the ebuild-like format that should be nice and easy for everyone to |
15 |
get their heads around. |
16 |
|
17 |
So what's this like from a user perspective? |
18 |
|
19 |
ciaranm@snowdrop ~ 0 2.30 $ eclectic kernel |
20 |
Usage: eclectic kernel <action> <options> |
21 |
|
22 |
Standard actions: |
23 |
help Display help text |
24 |
usage Display usage information |
25 |
version Display version information |
26 |
|
27 |
Extra actions: |
28 |
list List available kernel symlink targets |
29 |
set Set a new kernel symlink target |
30 |
show Show the current kernel symlink |
31 |
|
32 |
ciaranm@snowdrop ~ 0 2.30 $ eclectic kernel show |
33 |
Current kernel symlink: |
34 |
linux-2.6.12-rc1 |
35 |
ciaranm@snowdrop ~ 0 2.10 $ eclectic kernel list |
36 |
Available kernel symlink targets: |
37 |
[1] linux-2.6.10 |
38 |
[2] linux-2.6.11 |
39 |
[3] linux-2.6.11-rc5 |
40 |
[4] linux-2.6.12-rc1 |
41 |
ciaranm@snowdrop ~ 0 2.01 $ sudo eclectic kernel set 1 |
42 |
ciaranm@snowdrop ~ 0 2.01 $ eclectic kernel show |
43 |
Current kernel symlink: |
44 |
linux-2.6.10 |
45 |
|
46 |
It's all in colour, of course. |
47 |
|
48 |
But wait, it gets sneakier. Say we install a kernel-config symlink to |
49 |
eclectic. Then this will also work: |
50 |
|
51 |
ciaranm@snowdrop ~ 0 1.50 $ kernel-config list |
52 |
Available kernel symlink targets: |
53 |
[1] linux-2.6.10 |
54 |
[2] linux-2.6.11 |
55 |
[3] linux-2.6.11-rc5 |
56 |
[4] linux-2.6.12-rc1 |
57 |
|
58 |
I added this sneaky little hack in that checks the binary name, and if |
59 |
it's foo-config or foo-update, it treats it as eclectic foo [...]. So |
60 |
you don't even get to whine about the stupid name :) |
61 |
|
62 |
By the way, this could also implement GLEP 24 (consistent tool naming). |
63 |
See, if you run eclectic with no arguments: |
64 |
|
65 |
ciaranm@snowdrop ~ 0 1.36 $ eclectic |
66 |
Usage: eclectic <module name> <options> |
67 |
|
68 |
Built-in modules: |
69 |
help Display a help message |
70 |
list-modules Find and display available modules |
71 |
usage Display a usage message |
72 |
version Display version information |
73 |
|
74 |
Extra modules: |
75 |
bashcomp Manage contributed bash-completion scripts |
76 |
blas Manage installed BLAS implementations. |
77 |
kernel Manage the /usr/src/linux symlink |
78 |
lapack Manage installed LAPACK implementations. |
79 |
mailer Manage the mailwrapper profiles in /etc/mail |
80 |
profile Manage the /etc/make.profile symlink |
81 |
|
82 |
Automagically generated list of all the modules available. |
83 |
|
84 |
*shrug* it's probably full of bugs still. |
85 |
|
86 |
| There is a both a developer guide and a user guide as RST shipped with |
87 |
| the source. |
88 |
|
89 |
Rendered versions here for the lazy: |
90 |
|
91 |
http://dev.gentoo.org/~ciaranm/tmp/eclectic/ |
92 |
|
93 |
| * What do we need to accomplish to get the status of an "Official |
94 |
| Gentoo Project" ? Is a manager voting necessary ? |
95 |
|
96 |
I'm staying out of this one... |
97 |
|
98 |
Oh, we have an IRC channel if you have development questions. You can |
99 |
figure out the name easily enough :) |
100 |
|
101 |
-- |
102 |
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron) |
103 |
Mail : ciaranm at gentoo.org |
104 |
Web : http://dev.gentoo.org/~ciaranm |