1 |
On Wednesday 18 July 2001 16:31, you wrote: |
2 |
> Here's my 2 cents worth.... |
3 |
> |
4 |
> > Now, there exists a USE vorbis flag. I can depend on this in |
5 |
> > deciding, in the |
6 |
> > ebuild, whether to include vorbis support or not. |
7 |
> > However, if USE vorbis isn't set but Vorbis is already |
8 |
> > installed, should I |
9 |
> > use it? |
10 |
> |
11 |
> To me, vorbis should only be used if the USE variable is set. I'd me |
12 |
> annoyed if I installed vorbis to test something out and ended up with a |
13 |
> package that decided to use it without a USE. |
14 |
> |
15 |
> > A worse situation: there is no smpeg USE flag. I have 4 options: |
16 |
> > 1. Force usage of smpeg. |
17 |
> > 2. Use smpeg if it's already installed. |
18 |
> > 3. Never use smpeg. |
19 |
> > 4. Create a USE smpeg flag. |
20 |
> > |
21 |
> > Option 4 I dismiss. If we create USE flags for every shared |
22 |
> > library and util |
23 |
> > which might possibly be used by another package, there will |
24 |
> > be a hundred |
25 |
> > falgs or more and a user won't be able to take time to |
26 |
> > understand the meaning |
27 |
> > of each and decide on setting it or not. |
28 |
> |
29 |
> Agree. |
30 |
> |
31 |
> > There seems no reason to do option 3. Option 2 might seem to |
32 |
> > be a good |
33 |
> > default, but what about option 1? Is there any good reason |
34 |
> > not to use smpeg, |
35 |
> > if it takes only 20 mins to d/l and install and adds |
36 |
> > important functionality? |
37 |
> |
38 |
> This comes down to the ebuilder's decision. I am in favour of comments in |
39 |
> the .ebuild file so that intermediate users can fine tune things like this. |
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 |
I agree. I think interactive ebuilds are very powerful and important. |
96 |
|
97 |
The ebuilds would ask questions - what libraries to link with etc., and |
98 |
possibly configuration options could be added. The USE flags would become the |
99 |
system-wide default answers. |
100 |
|
101 |
In the meantime, if drobbins/achim/everyone else don't want to change emerge |
102 |
to suit (maybe not yet), we should at least decide on a standard |
103 |
question/ansewr format and perhaps add a simple handler function to emerge. |
104 |
-- |
105 |
|
106 |
Dan Armak |
107 |
Gentoo Linux Developer |
108 |
Matan, Israel |