Differences between version 11 and revision by previous author of GentooNotes.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 11 | Last edited on Thursday, February 24, 2005 8:22:37 am | by ChetanSarva | Revert |
Older page: | version 9 | Last edited on Tuesday, November 2, 2004 12:14:21 pm | by AristotlePagaltzis | Revert |
@@ -2,8 +2,54 @@
* To be able to su(1), you must be in group <tt>wheel</tt>: <tt>usermod -G wheel user</tt>
* To be able to use the SoundCard, you must be in group <tt>audio</tt>: <tt>usermod -G audio user</tt>
* There is a thread in the Gentoo about [Non-standard Portage Utilities | http://forums.gentoo.org/viewtopic.php?t=67849]
+
+!!! Changing <tt>USE</tt> flags
+
+If you've added (or removed) some <tt>USE</tt> flags on your system, there will be some inconsistencies with how some packages are compiled.
+
+To check the <tt>USE</tt> flags a particular package will make use of, and which it is actually compiled with, run the following:
+<verbatim>
+equery uses packagename
+</verbatim>
+
+If you'd like to check which packages will make use of a particular <tt>USE</tt> flag, do the following:
+<verbatim>
+equery hasuse useflag
+</verbatim>
+
+eg, to check which (installed) packages will make use of the 'ldap' flag, run:
+<verbatim>
+equery hasuse ldap
+[ Searching for USE flag ldap in all categories among: ]
+ * installed packages
+[I--] [ ] app-crypt/gnupg-1.2.6 (0)
+[I--] [ ] dev-libs/cyrus-sasl-2.1.20 (2)
+[I--] [ ] dev-php/php-4.3.10 (0)
+[I--] [ ] kde-base/kdebase-3.3.2-r1 (3.3)
+[I--] [ ] kde-base/kdelibs-3.3.2-r2 (3.3)
+[I--] [ ] mail-client/evolution-1.4.6 (0)
+[I--] [ ] mail-client/pine-4.61-r2 (0)
+[I--] [ ] net-fs/samba-3.0.9-r1 (0)
+[I--] [ ] net-misc/openssh-3.9_p1-r1 (0)
+[I--] [ ] net-www/mozilla-firefox-1.0 (0)
+[I--] [ ] net-www/mozilla-1.7.5 (0)
+</verbatim>
+
+If you make major changes to your <tt>USE</tt> flags, and want to rebuild your entire system to make use of this, you can either run
+
+<verbatim>
+emerge --emptytree world
+</verbatim>
+
+This will, however, rebuild *everything*. If you've changed your <tt>CFLAGS</tt> then that might make sense, but if you've only changed some <tt>USE</tt> flags and want to rebuild everything that might make use of it, try the following instead:
+
+<verbatim>
+emerge --newuse world
+</verbatim>
+
+This will only rebuild packages whose <tt>USE</tt> flags would change
!!! An <tt>emerge</tt> clobbered something vital, but I didn't see what!
This happens a lot. If you run <tt>emerge -Du world</tt>, and don't have a tediously slow machine, chances are pretty good that at some point you'll emerge a package which will "automatically" overwrite some config option. It'll tell you about it, but you probably won't be watching. The <tt>shadow</tt> package was doing this for a while, and was overwriting the [PAM] configuration -- screwing anyone who used any non-standard [PAM] options.
@@ -27,11 +73,16 @@
Packages can be flagged as masked for a number of reasons. Mostly they are masked because they might break something, or they WILL break something. These tend to be masked in <tt>/usr/portage/profiles/packages.mask</tt>, and you can either forcibly install the package (see later), or unmask the package by commenting out the line. Note that this file is rebuilt everytime you emerge sync. There is rumour of support for a packages.unmask file, but this doesn't seem to work (16 Jun 2003)
The other reason packages can be masked is that they are in the 'unstable' branch of the gentoo tree. This is essentially the same as unstable in debian. Sometimes things will break, othertimes they'll be fine. You're on your own.
-The only recommended way to install masked packages is to add to <tt>/etc/portage/packages
.keywords</tt> an entry for the package you want to build. Do __not__, whatever you do, emerge the <tt>.ebuild</tt> directly, or try to override <tt>ACCEPT_KEYWORDS</tt> on the CommandLine. Eg., if you want to emerge [XFce]4 from the unstable tree, do:
+The only recommended way to install masked packages is to add to <tt>/etc/portage/package
.keywords</tt> an entry for the package you want to build. Do __not__, whatever you do, emerge the <tt>.ebuild</tt> directly, or try to override <tt>ACCEPT_KEYWORDS</tt> on the CommandLine. Eg., if you want to emerge [XFce]4 from the unstable tree, do:
<verbatim>
echo wm-x11/xfce4 ~x86 >> /etc/portage/package.keywords
echo =wm-x11/xfce4-4.0.0 ~x86 >> /etc/portage/package.keywords # specific version of the package
echo ~wm-x11/xfce4-4.0.0 ~x86 >> /etc/portage/package.keywords # all revisions of a specific version
</verbatim>
+
+!!! Useful utilities
+
+* revdep-rebuild - checks for broken library dependancies and rebuilds
+* equery - various queries you can do against the portage system, such as checking <tt>USE</tt> flag settings, dependancies and so on.