Having problems with the Gentoo Handbook? If you're still working your way through it, or just need some info before you start your install, this is the place. All other questions go elsewhere.
I installed Gentoo 2005.1 on a Pentium MMX 233 that we will use only for ssh. No X.
The install went perfect, all steps, but when I tried to emerge links, it would try to emerge xorg-x11.
So I added USE="-xorg-x11 -X -gnome -kde" to /etc/make.conf and successfully emerged links with --newuse
How can I instruct the whole system to use the new USE flag without --newuse ?
After changing USE-Flags in your "/etc/make.conf", all new merges will take notice of that. But already installed packages have used the prior settings and therefore you've to rebuild them (Just changing the USE-Flags won't change the behavior of your programs. They must be recompiled to add / remove USE-Flag dependend features). You do that with the "--newuse" option. There's no other way.
e.g. recompile all packages whose USE-flag has changed:
The problem is that, precisely, new emerge's aren't using the new USE. I've just tried to emerge gnupg without "--usenew" and it surprises me that it wants to emerge xorg-x11 too. It appears that the emerge database needs an update of this variable on each non-installed package. It would be a pain to download every tarball and re-emerge every package.
I followed the install instructions in the handbook and I installed just the basic packages to get it working. It's at this point that the handbook loses its logical continuation because links is needed to read it.
cousin wrote:The problem is that, precisely, new emerge's aren't using the new USE. I've just tried to emerge gnupg without "--usenew" and it surprises me that it wants to emerge xorg-x11 too. It appears that the emerge database needs an update of this variable on each non-installed package. It would be a pain to download every tarball and re-emerge every package.
[...]
You should use the "-vpt" switches when calling emerge. In that case emerge won't install anything but show you what it would install.
- "-vp" causes emerge to show USE Flags available for each package it would install and also shows which are set or unset (USE-Flags colored blue are unset, colored red means they are set).
- "-t" causes emerge to display the packages in a tree like view. So you should be able to see what package requires xorg-x11.
USE-Flags contained in "/etc/make.conf" (USE-Flags for all packages) and "/etc/portage/package.use" (USE-Flags for a specific package) are checked every time you execute emerge.
I installed Gentoo 2005.1 on a Pentium MMX 233 that we will use only for ssh. No X.
The install went perfect, all steps, but when I tried to emerge links, it would try to emerge xorg-x11.
So I added USE="-xorg-x11 -X -gnome -kde" to /etc/make.conf and successfully emerged links with --newuse
How can I instruct the whole system to use the new USE flag without --newuse ?
Thanks a lot for suggestions
As far as I know (and looking at what is listed here: http://www.gentoo.org/dyn/use-index.xml) xorg-x11 is not a valid USE flag. The extra '-' could be causing problems with whatever parses the USE flags, making it bail out. This may not be the case, since invalid USE flags should just be ignored, but I would try removing the entry, -X should be sufficient enough.
Of course some packages require X and don't care about you use flag. For instance, if I tried 'emerge xterm', it would compile X.
xorg-x11 isn't a USE flag, and as opqdan pointed out, it may confuse the parser (or if not, it will just be ignored). X is the one you're looking for, but there might be others that pull in X related things - try turning off java, kde, gnome, arts, qt, gtk, gtk2 and any others you can see that might be related to X when you run emerge --info.
SinoTech's suggestion will give you the final answer on what exactly requires X, and you should be able to see from that which USE flags are pulling in the dependencies that pull in X.
emerge --newuse doesn't make any sense on new packages - the whole point of it is to check whether any USE changes affect packages that are already installed, and if it does, it will recompile them. Since new packages have never been installed, there is nothing for --newuse to check against.