1 |
I have just rebased the emaint re-write that I did some time ago. I |
2 |
have also updated the modules for changes since I originally did the |
3 |
rewrite into a plug-in modules system. |
4 |
|
5 |
The changes have been condensed down into several key commits. |
6 |
|
7 |
The emaint branch is available on github: |
8 |
|
9 |
https://github.com/dol-sen/portage |
10 |
|
11 |
It is now very easy to add or remove modules, by only adding/removing |
12 |
the modules directory to/from the emaint/modules directory. |
13 |
|
14 |
All the help and menu options are picked up and added automatically. |
15 |
The modules.py code also only imports the individual module's |
16 |
__init__.py which contains the module_spec. The target module is only |
17 |
imported when it is requested, keeping speed and overhead to a minimum. |
18 |
|
19 |
The overall benefit to portage is that emaint should be easier to |
20 |
maintain, the modules are also now available to portage/emerge or other |
21 |
tools for internal script use, not just the bin/emaint script. The |
22 |
plug-in code in modules.py is also universal in nature and can easily be |
23 |
moved elsewhere in portage's namespace. It can be used for any number |
24 |
of independant plug-in systems. The plug-in modules can also be more |
25 |
complex in nature as well as export more than one specific functionality |
26 |
as well as more than just ["check", "fix"] options. |
27 |
|
28 |
I have also just created a cleanconfig module inspired from this forum |
29 |
topic: |
30 |
http://forums.gentoo.org/viewtopic-t-905022.html |
31 |
|
32 |
Please test it out to ensure everything is working 100%. |
33 |
|
34 |
To test just how easy it is to add/remove modules, simply move one or |
35 |
more modules in/out of the emaint/modules directory and run emaint |
36 |
--help, etc... |
37 |
|
38 |
I have some other dummy example modules I had prepared and will add them |
39 |
to the branch in an example-modules directory. |
40 |
-- |
41 |
Brian Dolbec <dolsen@g.o> |