On 03/14/2015 12:30 PM, Joakim Tjernlund wrote:
> On Sat, 2015-03-14 at 11:57 -0700, Zac Medico wrote:
>> On 03/14/2015 11:41 AM, Joakim Tjernlund wrote:
>>> On Sat, 2015-03-14 at 11:08 -0700, Zac Medico wrote:
>>>> On 03/14/2015 09:12 AM, Joakim Tjernlund wrote:
>>>>> On Wed, 2015-03-11 at 13:43 -0700, Zac Medico wrote:
>>>>>> On 03/11/2015 01:16 PM, Joakim Tjernlund wrote:
>>>>>>> On Wed, 2015-03-11 at 10:56 -0700, Zac Medico wrote:
>>>>>>>> On 03/11/2015 08:48 AM, Joakim Tjernlund wrote:
>>>>>>>>> On Sun, 2015-03-08 at 11:58 -0700, Zac Medico wrote:
>>>>>>>>>> On 03/08/2015 10:01 AM, Joakim Tjernlund wrote:
>>>>>>>>>>> On Sun, 2015-03-08 at 15:47 +0000, Joakim Tjernlund wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> package.use/package.use.force is a bit different though:
>>>>>>>>>>>> cat /etc/portage/package.use/qemu
>>>>>>>>>>>> app-emulation/qemu vde -alsa -pulseaudio -bluetooth -opengl 
>>>>>>>>>>>> qemu_user_targets_x86_64 
>>>>>>>>>>>> xattr 
>>>>>>>>>>>> virtfs 
>>>>>>>>>>>> static-
>>>>>>>>>>>> user
>>>>>>>>>>>>
>>>>>>>>>>>> #Needed by static-user
>>>>>>>>>>>> sys-libs/zlib static-libs
>>>>>>>>>>>> dev-libs/glib static-libs
>>>>>>>>>>>> sys-apps/attr static-libs
>>>>>>>>>>>>
>>>>>>>>>>>> Moving this to package.use/package.use.force does not respect 
>>>>>>>>>>>> -alsa, -pulseaudio, -
>>>>>>>>>>>> opengl 
>>>>>>>>>>>> all
>>>>>>>>>>>> flags which has a - on them, emerge wants to turn them on again.
>>>>>>>>>>>>
>>>>>>>>>>>> Am I missing something?
>>>>>>>>>>>> Using portage 2.2.18
>>>>>>>>>>>
>>>>>>>>>>> Appears one have to use package.use.mask for that.
>>>>>>>>>>>  cat package.use.mask
>>>>>>>>>>>  app-emulation/qemu alsa pulseaudio bluetooth opengl
>>>>>>>>>>> It would be handy if one could use the same syntax as in 
>>>>>>>>>>> /etc/portage/package.use/qemu(-
>>>>>>>>>>> alsa -
>>>>>>>>>>> opengl 
>>>>>>>>>>> etc.)
>>>>>>>>>>>
>>>>>>>>>>>  Jocke
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Yes, the inverted use.mask logic can be confusing if you are not 
>>>>>>>>>> familiar with it. The 
>>>>>>>>>> negative 
>>>>>>>>>> flags 
>>>>>>>>>> have a
>>>>>>>>>> special meaning within the context of of portage's "incremental 
>>>>>>>>>> stacking" behavior, so they 
>>>>>>>>>> can 
>>>>>>>>>> still 
>>>>>>>>>> be 
>>>>>>>>>> useful, though not in the same way that you you attempted to use 
>>>>>>>>>> them.
>>>>>
>>>>> Just noticed that USE flags in profiles/package.use.mask override 
>>>>> everything so this
>>>>>   USE=thin emerge -av sys-fs/lvm2
>>>>> will not turn on thin if thin is in profiles/package.use.mask
>>>>> How can just change the default so a user can easily turn it on ?
>>>>
>>>> Generally, setting the USE environment variable like that is poor 
>>>> practice, because the setting will 
>>>> not 
>>>> persist the next time that you rebuild the package. So, you should set the 
>>>> flag in 
>>>
>>>
>>> I know, this was just an example to illustrate that it did not work.
>>>
>>>> /etc/portage/package.use. You can unmask the flag for lvm2 like this:
>>>>
>>>>   echo "sys-fs/lvm2 -thin" >> /etc/portage/profile/package.use.mask
>>>
>>> You misunderstand, I have "sys-fs/lvm2 thin" in 
>>> /etc/portage/profile/package.use.mask
>>> and I want a user to able to override this setting, using USE=".." or 
>>> adding it
>>> to their local /etc/portage/package.use file/dir
>>
>> There's no other way to negate a use mask than to use 
>> /etc/portage/profile/{use.mask,package.use.mask} as I 
>> have described. I don't think that it makes much sense to negate a use mask 
>> for a single emerge invocation. 
>> If you want to do that, then why is the use flag masked anyway?
> 
> I am putting tougher a profile for my company where I want to specify default
> USE flags for different apps/libs. Then a user who knows what he/she is doing
> should be able to override these defaults. It is not possible as far
> as I can tell to override negative USE flags or is there?

You can set default USE flags in the profile, and then the users can
override those settings locally (both positively and negatively). You
should not be using use.mask at all here. The profile can set
USE="-flag" in make.defaults, or in packages.use, and the user can
override that without having to mess with use.mask.
-- 
Thanks,
Zac

Reply via email to