1 |
On Tue, Jun 14, 2005 at 01:46:22PM -0400, Alec Warner wrote: |
2 |
> Sven Wegener wrote: |
3 |
> >On Mon, Jun 13, 2005 at 05:08:09PM -0400, Alec Warner wrote: |
4 |
> > |
5 |
> >>Sven Wegener wrote: |
6 |
> >> |
7 |
> >> |
8 |
> >>>use.force might not be the best name, but it's what we do with it for |
9 |
> >>>most of our users. Being able to -flag in /etc/portage/profile/use.force |
10 |
> >>>is just because /etc/portage/profile gets added to the cascaded profile |
11 |
> >>>chain. Everything we add to portage that allows a profile to revert |
12 |
> >>>some behaviour added by parent profiles, can also be done with |
13 |
> >>>/etc/portage/profile and it's good that way. So, that we're able to |
14 |
> >>>-flag in use.force is just part of the way cascaded profiles work. It's |
15 |
> >>>not a feature that will be added just to support use.force. Primary |
16 |
> >>>reason for use.force is to have a way to activate flags even if USE="-*" |
17 |
> >>>is in make.conf or environment. |
18 |
> >> |
19 |
> >>How is this not just a consequence of USE="-*"...that is what this does; |
20 |
> >>turns off ALL use flags. How is use.force ( or the concept thereof ) |
21 |
> >>not breaking the 'easy' interpretation of USE="-*" because now things |
22 |
> >>aren't -*, they are -* + use.force things. |
23 |
> >> |
24 |
> >>It's one of those "if you use USE="-*" you should know the consequences |
25 |
> >>of it...kind of deals. |
26 |
> > |
27 |
> > |
28 |
> >There are some USE flags that must survive the -* thing and already do |
29 |
> >it. One of them being ARCH, which is always there. And the USE_EXPANDed |
30 |
> >ones, the current important being being userland_*, kernel_* and elibc_* |
31 |
> >which are needed for special dependencies and checks. They are not to be |
32 |
> >modified by users by using USE in make.conf or the environment. They |
33 |
> >depend on the chosen profile and should always be enabled. We're not |
34 |
> >talking about every day USE flags, but really special USE flags, like |
35 |
> >multilib, selinux or the USE_EXPANDed ones that *must* be turned on for |
36 |
> >the chosen profile. Don't think of them like every day USE flags that |
37 |
> >allow you to tweak your system, they are used to pass some information |
38 |
> >from profiles to the ebuilds in a way portage can easily handle it. |
39 |
> > |
40 |
> >Hm, use.must sounds bad once I think about it more. |
41 |
> > |
42 |
> >Sven |
43 |
> > |
44 |
> I'm probably a little behind here, since this has been used for a while, |
45 |
> but I guess more discussion and ideas are good. |
46 |
> |
47 |
> It seems like this is an abuse of USE flags, somewhat. I guess programs |
48 |
> could have support for elibc_X or elibc_Y or userland_GNU or |
49 |
> userland_DARWIN/BSD but why a USE flag for these? If they must be |
50 |
> forced, force them in the environment outside of USE flag usage. USE |
51 |
> flags are for turning off optional support for programs, that is their |
52 |
> overall purpose. There isn't a use flag for kernel version, there is a |
53 |
> function for that. Why is there not a function to determine |
54 |
> userland/arch/libc? |
55 |
|
56 |
As Diegeo already wrote in his mail, the USE_EXPANDed ELIBC and KERNEL |
57 |
are also available as variables, but as variables we can't use them to |
58 |
enable or disable optional dependencies for specific kernels or libcs. |
59 |
Currently only USE flags are able to do it. I just had a quick look into |
60 |
our handbook[1] and it mentions the following definition for an USE |
61 |
flag: |
62 |
|
63 |
"Such a flag is a keyword that embodies support and |
64 |
dependency-information for a certain concept." |
65 |
|
66 |
And for sure, elibc_uclibc or kernel_linux stand for a certain concept. |
67 |
Same goes for multilib and selinux you mentioned further down in your |
68 |
mail. And they might have special dependency information and need |
69 |
special treatment in packages. IMHO they match the definition of USE |
70 |
flags just like any other USE flag we have. Even though, as I wrote in |
71 |
my previous mail, they are special, because they are not to be set or |
72 |
unset by users. You chose to activate them by chosing your profile. |
73 |
With use.force we're just making sure that they are actually enabled. We |
74 |
can give elibc_* or kernel_* another name, but in the end, they will |
75 |
serve the same purpose as USE flags and will be handled by portage in |
76 |
the same way. |
77 |
|
78 |
> In this case I think this use.force deal will create more complexity |
79 |
> in the USE flag area than help. This is not what use flags are for ( |
80 |
> also for multilib and SELINUX ). |
81 |
|
82 |
I don't see the complexity here. We're just creating a couple of files |
83 |
in our profiles that force some flags to be turned on. |
84 |
|
85 |
Sven |
86 |
|
87 |
[1] http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2#doc_chap1_sect2 |
88 |
|
89 |
-- |
90 |
Sven Wegener |
91 |
Gentoo Linux Developer |
92 |
http://www.gentoo.org/ |