From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.54) id 1Eshum-0001CW-BI for garchives@archives.gentoo.org; Sat, 31 Dec 2005 14:41:01 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.5/8.13.5) with SMTP id jBVEcf0F000524; Sat, 31 Dec 2005 14:38:41 GMT Received: from smtp15.wxs.nl (smtp15.wxs.nl [195.121.247.6]) by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id jBVEaXCa026406 for ; Sat, 31 Dec 2005 14:36:33 GMT Received: from [10.0.0.150] (ip3e83ab52.speed.planet.nl [62.131.171.82]) by smtp15.wxs.nl (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0ISD00GGE9WXID@smtp15.wxs.nl> for gentoo-user@lists.gentoo.org; Sat, 31 Dec 2005 15:36:33 +0100 (CET) Date: Sat, 31 Dec 2005 15:36:14 +0100 From: Holly Bostick Subject: Re: [gentoo-user] Need help with USE options. In-reply-to: <43B6391E.2010302@exceedtech.net> To: gentoo-user@lists.gentoo.org Message-id: <43B6975E.2000804@planet.nl> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7BIT X-Accept-Language: nl-NL, nl, en User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051203) X-Enigmail-Version: 0.92.0.0 References: <43B6391E.2010302@exceedtech.net> X-Archives-Salt: 8b0b1fe8-9916-493d-9021-6a75f5ed9c54 X-Archives-Hash: f7436b10d00687b260f84140776148ae Dale schreef: > Hi again, > > I read a thread that was talking about the global USE pulling some > things a user may not want installed. I am going to do a reinstall > and mostly copy some things over from my current install but I do > want to change my USE line. I am a bit worried about using the > option they posted, the "-*" at the beginning of the USE line. I may > disable something that I need then. The first thing you need to understand is that USE flags enable/disable *optional* support for supplemental applications. USE flags will never affect anything that you "need" (to run the system), though it may affect things that you "want" (for your own ease and comfort). For example: I run fvwm-crystal (not KDE, thus, and also not GNOME, though GNOME is installed). However, I do use the KDE program K3b for CD burning. emerge -pv k3b These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] app-cdr/k3b-0.12.10 +alsa -arts +css -debug +dvdr +encode +ffmpeg +flac +hal -kde +kdeenablefinal +mp3 +musepack +musicbrainz +sndfile +vcd +vorbis -xinerama 0 kB As you can see, I have kde and arts support diasabled. Since I do not use KDE (or even have more than a minimal KDE installed), adding such support would be pointless (bloat), since enabling the "arts" USE flag would bring in aRTs (the KDE sound server, which I wouldn't use even if I did use KDE), and enabling the "kde" USE flag would bring in "k3bSetup2", which is a nice little utility to correct the permissions on the CD/DVD burner if necessary, but it's not really "mission critical" enough to warrant bringing in the additional KDE backend required to support it (if the permissions need to be changed, I can do it myself in 15 seconds, I don't need a GUI from a DE that I don't even use just to do that). But you can see from the dependency list that in order to install K3b, I must install kde-env, kdebase, kdelibs, and kdesu; those are /hard/ dependencies, requried by the application in order for it to run at all; the applications/libraries installed by the *USE* flags noted are optional: Runtime Dependencies k3b-0.12.9 | >= app-cdr/cdrdao - 1.1.7-r3 kde-base/kde-env3 kde-base/kdebase | >= kde-base/kdelibs - 3.3 kde-base/kdesu media-libs/libsamplerate media-libs/taglib | >= media-sound/cdparanoia - 3.9.8 media-sound/normalize = x11-libs/qt - 3.3* *css* media-libs/libdvdcss *encode* media-sound/lame *encode* media-sound/sox *ffmpeg* media-video/ffmpeg *flac* media-libs/flac *hal* sys-apps/dbus *mp3* media-libs/libmad *musepack* media-libs/libmpcdec *musicbrainz* media-libs/musicbrainz *sndfile* media-libs/libsndfile *vcd* media-video/vcdimager *vorbis* media-libs/libvorbis virtual/cdrtools *alsa* media-libs/alsalib *dvdr* app-cdr/dvd+rwtools So the necessary KDE backend for the program to run is installed, just not any "extras" that I don't necessarily want to use. That's what USE flags do. > > I use KDE for my desktop. I plan to have OOc installed along with > java and that sort of thing. I don't have any database software > installed, that I know of anyway. I want to make this a reasonable > install this time. I have a lot of gnome stuff installed right now > and I don't use gnome at all. So, add "-gnome" to your global USE flags-- oh, I see you already do-- and then do an emerge -uaDNtv world (to recompile all apps compiled with "gnome" support without it), and then an emerge depclean -p and then an emerge depclean (or unmerge various packages individually) to remove the now-unnecessary GNOME libs that were previously installed. You might also want to disable "gtk", and "gtk2". When you say you "have a lot of gnome stuff installed", what precisely do you mean, anyway? You seem to have -gnome in your USE flags, so it's not as if you have applications installing unnecessary (for you) GNOME libs and such. And surely you did not explicitly install GNOME-- or did you? If so, unmerge it (if you emerged gnome or gnome-light, this will only unmerge the meta packages, not the applications installed by the meta packages), and then do an emerge depclean -p (and then an emerge depclean, or unmerge the packages individually) to remove the now-orphaned GNOME dependencies. But you may have a number of packages that depend natively on GNOME/GTK libs; and if so, then you're just stuck with those, in the same way I'm stuck with kdebase and qt if I want to use K3b. If that's a real problem for you, investigate what programs those may be and see if you can find a KDE or generic X-based alternative (for example, if you use gcolor2, a GTK/GNOME color-chooser, you may want to switch to kcoloredit, the KDE color chooser). > This is my current USE line: > >> USE="acl acpi alsa amd arts artsd artswrappersuid -bonobo cdr >> chroot clanJavaScript -crypt dbus doc -eds ethereal f-prot fdftk >> gaim gcj gimpprint gkrellm -gnome gphoto2 gtk -gtkhtml hal hbci >> hpijs gif innodb java javascript jbig justify kde mmx mozdomi >> mozilla nsplugin ofx offensive openoffice -oss parse-clocks ppds >> pysol scanner scribus sse tcltk tiff tkinter truetype tuxracer udev >> usb X xml xprint yahoo 3dnow " This means nothing to me, since I have no idea what your system does or what you do with it. Do you need optional "java" and "javascript" support globally, for example? Do you develop java or javascript? Maybe you do; I don't know-- at least then having the "gcj" USE flag enabled would make sense (since "gcj" is the gcc support for a java compiler, afaik). Myself, I don't, so I disabled that globally, and only enabled it in /etc/portage/package.use for those programs I know I want java and javascript support for (firefox, basically). Do you do desktop publishing? Do you even use scribus? Do all applications you may or may not have installed that *can* use Scribus actually *need* to have *optional* "scribus" support enabled? And if you don't use a database, why do you have the innodb USE flag enabled? USE flags customize your system to your personal needs, and I cannot know your personal needs-- only you can. So I would suggest reading through /usr/portage/profiles/use.desc and /usr/portage/profiles/use.local.desc to understand what the USE flags you have enabled actually do. Myself, I have an alias in ~/.bashrc, "stolen" from this list, to quickly scan USE flag definitions: alias useflag="grep /usr/portage/profiles/use.*desc -e" So if I do an emerge -uaDNtv world and see a USE flag I don't understand, I can just do a (taken from the k3b USE flags above): useflag sndfile /usr/portage/profiles/use.desc:sndfile - Adds support for libsndfile and make my own decision about whether I want libsndfile support enabled or not. I've gotta say, that when I install Gentoo, the longest part of the installation for me is in fact not the kernel compilation (that's the second longest), but the scanning of the USE flags and reading of the notes, to make sure I disable what I don't want and enable what I do. I could, of course, just leave everything be, and then fix it all later as you are now doing (that's easy enough), but I'm a recovering perfectionist as well, so I like to take the time and get it closer to right the first time. My USE flags are pretty generic USE="-kde -arts -eds -esd 16bit 3dnow acpi -apm audiofile -berkdb bigger-fonts caps cddb dbus dga dv dvd fbcon firefox font-server gimpprint glut gtkhtml gnutls hal iconv inkjar -ipv6 jack jikes kdeenablefinal kdexdeltas lcms libcaca maildir mmx mng -mozilla mpi nfs nptl offensive openexr -pam pic portaudio povray sndfile socks5 sqlite sse -sse2 svg threads toolbar unicode v4l wmf xprint xvid yv12" but my /etc/portage/package.use is 115 lines. I'm happy with that because even looking at it now, I can see that my global USE flags really */are/* global, enabling support for things I don't want to have to worry about (I want everything that could have unicode support to actually have it enabled without me worrying about it) and disabling support for things I know I don't want (if any package I may choose to compile could have KDE support, I know I don't want it, without having to worry about it, and I don't think I even have ipv6, so I know I don't want that), and so I know the reason that my package.use is so long is because it enables/disables *specific* options in *specific* applications, which is what it's supposed to do. Such as media-video/ffmpeg -mmx Globally, I want mmx support, but ffmpeg won't compile on my system if such support is enabled, so the support is disabled for that particular program. On the other hand, "extra" documentation support (the "doc" USE flag) is usually disabled by default if it appears at all, but I've enabled it for imagemagick: media-gfx/imagemagick doc because I consider imagemagick complex enough that I want to have the docs available (because I will surely need them). I use Samba, but I don't necessarily want everything that can have Samba support to have Samba support, so for certain packages, "samba" is specifically enabled in package.use, but not globally. That's the way it's supposed to work, afaik. It does mean you have to buckle down and think about what you specifically want/need, but "customization" always requires that, whether it's because you're detailing your hotrod (I've clearly seen too much "American Chopper", "Pimp My Ride" and "Wheeler Dealers" this week, damn boyfriend, damn Discovery and MTV) or because you're fine-tuning Gentoo. HTH, Holly -- gentoo-user@gentoo.org mailing list