1 |
On Thu, 8 Nov 2007 04:07:42 -0800 |
2 |
Donnie Berkholz <dberkholz@g.o> wrote: |
3 |
> I'll look into that. Got any good starting points (files, functions, |
4 |
> docs)? |
5 |
|
6 |
Well, the whole of the eselect code is small enough that you should be |
7 |
able to understand it pretty quickly... Then it'd just be a case of |
8 |
making the main driver code a bit more flexible so that you can tell it |
9 |
to swap in certain libraries. |
10 |
|
11 |
Incidentally, I suspect it might be worth rewriting the core using some |
12 |
of the techniques that we've discovered when writing Paludis. Things |
13 |
like the fancier signalling die function and the cleaner module path |
14 |
searching would be worth adopting. This would also be a good |
15 |
opportunity to sneak in the more flexible driver that you probably |
16 |
need. Might be worth speaking to whoever maintains Gentoo's branch of |
17 |
eselect these days. |
18 |
|
19 |
One thing in the code, by the way... |
20 |
|
21 |
if [[ ${UID} -ne 0 ]]; then |
22 |
|
23 |
We've always told people not to do that. Capabilities required by |
24 |
eselect modules should be tested by attempting to perform the action, |
25 |
not by some arbitrary query done on UIDs or groups. Being UID 0 doesn't |
26 |
mean you're allowed to do something, and not being UID 0 doesn't mean |
27 |
you're not allowed to do something. |
28 |
|
29 |
-- |
30 |
Ciaran McCreesh |