Gentoo Linux portage
relies on USE flags to customize compiling options for software. Here's an example showing how to organize USE flags in a make.conf
file:
# ************ USE **************
# ******** profile 'kde' ********
MYPROFILE="apache2 mysql"
HW="3dnow -bluetooth directfb fbcon hddtemp lm_sensors mmx nvidia smp svga xcomposite xvmc"
SYSTEM="caps -cups curl -fortran java nsplugin -oss syslog"
NET="-ipv6 -isdnlog -ldap ppp wifi"
CMDL="bash-completion gpm offensive vim-syntax"
KDE="htmlhandbook plasma semantic-desktop"
GNOME_DEPS="gstreamer -gtk"
DEV="tidy vhosts"
MMEDIA="aalib cdda cddb css dvb exif ffmpeg fontconfig gd gimp gphoto2 imagemagick libcaca lame matroska mplayer musicbrainz quicktime theora v4l v4l2 xine xpm xscreensaver"
USE="${MYPROFILE} ${HW} ${SYSTEM} ${NET} ${CMDL} ${GNOME_DEPS} ${KDE} ${DEV} ${MMEDIA}"
And this configuration is meant to upstage (because of precedence) the cumulative 13.0 profile containing the default flags for instance:
(This example is the sum of the settings in base, default/linux,
default/linux/x86 and default/linux/x86/13.0/)
USE="a52 aac acpi alsa branding cairo cdr dbus dts dvd dvdr emboss encode exif
fam firefox flac gif gpm gtk hal jpeg lcms ldap libnotify mad mikmod mng mp3
mp4 mpeg ogg opengl pango pdf png ppds qt3support qt4 sdl spell
startup-notification svg tiff truetype vorbis unicode usb X xcb x264 xml xv
xvid"
- What is the difference between removing support for a feature that appears in the defaults by using
-useflag
in themake.conf
file vs. not having a feature in the cumulative defaults at all and having nothing related to it either in the make.conf file? - Can an application sourced from the default profile be qualified in relation to a standard application compiled in one of the standard Linux distributions? (is the default profile close to some "standard" or is it already a pretty much customized subset?)
- Is it really an issue nowadays to select a no-multilib profile for the whole build?
+flag
or-flag
, you will get the ebuild's default settings, whereas if you specify-flag
, you will override the default.emerge --info
yields tons more than the cumulative profile in the Q. My tr command is 1k smaller than in Arch. Not sure how to investigate differences. Compiled 250-300 elements including Xorg, gcc, gimp and all the base with insuring further--deep --with-bdeps=y
, all in no-multilib/march=core2. With firefox-bin. So far no issue. Can't believe all that stuff was compiled with basically no error to speak of and no need to hunt for configuration deps. Quite enabling.