Anton A. Arapov posted <[EMAIL PROTECTED]>,
excerpted below,  on Mon, 21 Mar 2005 16:55:54 +1000:

> But I need this! .. What can I do?
> 
> On Monday 21 March 2005 16:42, Renzo Rosales wrote:
>> According to `man emerge`:
>> A USE flag in parenthesis, like (-selinux), is always disabled and
>> shows that the flag is not available for the current system profile.

Well, doing this, as they say, if it breaks, you get to keep the pieces...
=8^0

The use flag is masked in the profile, cascaded to
$PORTDIR/profiles/default-linux/amd64/use.mask, from whatever profile you
are using (assuming you aren't using an old pre-2004.3 non-cascaded
profile, in which case it should be in the use.mask file there).

The "proper" way to fix it would probably be to create a sub-profile,
probably in your overlay, ensure that it has a "parent" of the
appropriate profile in the tree, and then change the masked status there. 
The trouble is, I'm not sure if you'd unmask a use flag with an entry in
use.unmask, or a -useflag in use.mask.  I don't see documentation either
way, but would probably try it and see.  If neither of those works, try
fixing it in the profile's bashrc file., using a cut or sed command on the
appropriate environmental variable.  Unfortunately, without any cascading
use.unmask examples I could find, this is going to be a trial and error
thing and may not work.

If that doesn't work, you can change the file, deleting that masking, and
do your emerge.  Of course, doing it this way will mean your change will
be deleted at the next emerge sync, but by then you should have what you
need emerged, with the use flags you want.  Do note, however, that you'll
need to be on your guard, however, and not allow automatic emerge updating
of that package, or the update will of course not have your proper use
flags since they will be masked once again.  You'll need to handle any
further updating manually, removing the use-mask before the update as you
did with the original merge.  (Or, if you get ambitious enough, you can
script an emerge wrapper that checks for that masking and unmasks it each
time emerge is called, if a sync remasked it since the last time, by
placing it earlier in the path than the normal emerge.  I have an ebuild
script wrapper designed to do something similar, for local system
management purposes. That would eliminate worrying about having to
manually update anything using your unmasked use flag.)

Again, this should be obvious, but it's worth repeating.  Intentionally
bypassing profile use-masks like this is at your own risk.  If it breaks,
you get to keep the pieces!  =8^0

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman in
http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html



--
gentoo-amd64@gentoo.org mailing list

Reply via email to