View previous topic :: View next topic |
Author |
Message |
whjeon Tux's lil' helper
Joined: 20 Nov 2017 Posts: 82 Location: Seoul,Korea(Republic of)
|
Posted: Sat Dec 02, 2017 11:40 am Post subject: What's different between '-' use flag and not having at all |
|
|
Let's say some package has 'A' use flag.
If I don't have any use flag on make.conf or package.use, then A won't be compiled right?
then where is difference with '-A' flag in make.conf? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Sat Dec 02, 2017 12:42 pm Post subject: |
|
|
whjeon,
Short answer ... maybe
Longer answer. USE flag settings are hierarchical, with lower level settings overriding higher level settings.
An the top level are the USE flags in your profile. These are set if there is no USE in make.conf.
USE in make.conf adds to or rake away from the profile USE settings, so USE=+foo sets a flag, USE=-foo unsets it.
The + is not required.
That's all the global settings.
The same is true in package.use and even on the command line.
You use USE=-foo to unset a USE flag that is inherited from further up the hierarchy.
Its not an error to set/unset a USE flag multiple times. Only the last setting takes effect. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
whjeon Tux's lil' helper
Joined: 20 Nov 2017 Posts: 82 Location: Seoul,Korea(Republic of)
|
Posted: Sat Dec 02, 2017 2:31 pm Post subject: |
|
|
NeddySeagoon wrote: | USE flag settings are hierarchical, with lower level settings overriding higher level settings.
|
Thanks for your kind reply!
But my question is not solved yet.
I understand what you said and I mean other thing.
Let's assume there is no 'profile list' flag, local 'package.use' or anything but only 'make.conf' is exist.
If a package named 'foo' has availabe use flags as 'A B C'
(1) I made 'USE=" "(nothing).
then any of them will compiled.
(2)But when I make my use flag as 'USE= -A -B -C'.
Those will also not compile any of them.
So where is the difference then. I think only 'A' thing (like positive/not negative flag) has real meaning.
Or that difference exist for various situation? for combination with package.use?
Something like "I want 'foo' with 'A' but 'bar' without 'A'"? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Sat Dec 02, 2017 2:34 pm Post subject: |
|
|
whjeon,
There is no difference between USE=foo not being set anywhere in the hierarchy to setting USE="-foo" somewhere.
All USE flags are off until they are turned on somewhere. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Sat Dec 02, 2017 5:01 pm Post subject: |
|
|
whjeon,
Some packages have use flags that are automatically turned on unless they are turned off. These are indicated by (using your example) +A in the IUSE line in the ebuild. That flag will be used even if it is not set in the profile or make.conf. You have to positively put -A somewhere (I prefer package.use) to turn it off. If IUSE does not have a + sign in front it will not be turned on unless set by the profile , make.conf, or package.use. |
|
Back to top |
|
|
whjeon Tux's lil' helper
Joined: 20 Nov 2017 Posts: 82 Location: Seoul,Korea(Republic of)
|
Posted: Sun Dec 03, 2017 2:57 pm Post subject: |
|
|
Tony0945 wrote: | These are indicated by (using your example) +A in the IUSE line in the ebuild. That flag will be used even if it is not set in the profile or make.conf. You have to positively put -A somewhere (I prefer package.use) to turn it off. If IUSE does not have a + sign in front it will not be turned on unless set by the profile , make.conf, or package.use. |
Thanks! I didn't know that and that was exactly what I'm looking for! |
|
Back to top |
|
|
|