1 |
Here's my 2 cents worth.... |
2 |
|
3 |
> Now, there exists a USE vorbis flag. I can depend on this in |
4 |
> deciding, in the |
5 |
> ebuild, whether to include vorbis support or not. |
6 |
> However, if USE vorbis isn't set but Vorbis is already |
7 |
> installed, should I |
8 |
> use it? |
9 |
|
10 |
To me, vorbis should only be used if the USE variable is set. I'd me annoyed |
11 |
if I installed vorbis to test something out and ended up with a package that |
12 |
decided to use it without a USE. |
13 |
|
14 |
> A worse situation: there is no smpeg USE flag. I have 4 options: |
15 |
> 1. Force usage of smpeg. |
16 |
> 2. Use smpeg if it's already installed. |
17 |
> 3. Never use smpeg. |
18 |
> 4. Create a USE smpeg flag. |
19 |
> |
20 |
> Option 4 I dismiss. If we create USE flags for every shared |
21 |
> library and util |
22 |
> which might possibly be used by another package, there will |
23 |
> be a hundred |
24 |
> falgs or more and a user won't be able to take time to |
25 |
> understand the meaning |
26 |
> of each and decide on setting it or not. |
27 |
|
28 |
Agree. |
29 |
|
30 |
> There seems no reason to do option 3. Option 2 might seem to |
31 |
> be a good |
32 |
> default, but what about option 1? Is there any good reason |
33 |
> not to use smpeg, |
34 |
> if it takes only 20 mins to d/l and install and adds |
35 |
> important functionality? |
36 |
|
37 |
This comes down to the ebuilder's decision. I am in favour of comments in |
38 |
the .ebuild file so that intermediate users can fine tune things like this. |
39 |
|
40 |
|
41 |
> If there is, we should create a DONT_USE smpeg flag :-) |
42 |
|
43 |
I don't like that. |
44 |
|
45 |
> This is why I think that instead of using cumbersome USE |
46 |
> flags, we should |
47 |
> very simply ask the user (interactively) what optional |
48 |
> dependencies he wants. |
49 |
> The USE flags would be used as default choices for a non-interactive |
50 |
> installation process. I think this is much more simple and |
51 |
> elegant than |
52 |
> making the user's choices for him! |
53 |
|
54 |
As soon as you presented the problem this is what I thought the solution |
55 |
should be. Of course, in order to be script-driven we should be able to |
56 |
specify these on the command line. |
57 |
|
58 |
This keeps the USE variable down to things that are system-wide choices |
59 |
(ALSA, MMX/3DNOW, etc) but still allows fine tuning of the end product. The |
60 |
only drawback that I see is that it will complicate the process of making |
61 |
ebuilds a bit. |
62 |
|
63 |
If emerge could support package specific USE variable (maybe WITH?) then it |
64 |
could not only accomodate the scenario you present but even allow a really |
65 |
eager ebuilder to create (for example) an ebuild for XFree86 that asks you |
66 |
for your mouse, keyboard, etc and sets XF86Config appropriately. |
67 |
|
68 |
Now perhaps Daniel, Achim, and everyone might not want something like this |
69 |
for Gentoo Linux proper, but if I were making a Gentoo based distibution |
70 |
targetted at a customer with multiple configurations (which I hope to one |
71 |
day do) it would become very attractive. |
72 |
|
73 |
At any rate I'd like to see something like... |
74 |
|
75 |
lucaya /root > emerge --interactive sys-lib/STLport.4.0.ebuild |
76 |
|
77 |
Use SGI IOstreams? [Y/n] |
78 |
|
79 |
...or the alternate form... |
80 |
|
81 |
lucaya /root > emerge --with SGI_IO sys-lib/STLport.4.0.ebuild |
82 |
|
83 |
...which could have the ebuild read something like... |
84 |
|
85 |
src_compile() |
86 |
{ |
87 |
if [ "`with SGI_IO`" ] |
88 |
then |
89 |
CONFIGURE_OPTIONS="--enable-SGI_IOSTREAMS" |
90 |
fi |
91 |
|
92 |
try ./configure --prefix ${D}/usr ${CONFIGURE_OPTIONS} |
93 |
} |
94 |
|
95 |
|
96 |
Keep in mind that this 2 cents Canadian, so depending on the current |
97 |
exchange rate it's really only around 1.2 cents worth.... |
98 |
|
99 |
Cheers, |
100 |
|
101 |
Sean |
102 |
|
103 |
------------------------------------------------------------------------ |
104 |
Sean Mitchell Software Engineer |
105 |
smitchell@×××××××××××××××××××.com Phoenix Interactive Design Inc |
106 |
tel. 519-679-2913 x237 4th Floor, 137 Dundas St |
107 |
fax. 519 679 6773 London, ON, Canada N6A 1E9 |
108 |
ICQ# 104246806 |
109 |
------------------------------------------------------------------------ |