On Tuesday 27 October 2009 05:23:25 Harry Putnam wrote:
> Alan McKinnon <alan.mckin...@gmail.com> writes:
> >>   [1]   default/linux/x86/10.0 *
> >>   [2]   default/linux/x86/10.0/desktop
> >>   [3]   default/linux/x86/10.0/developer
> >>   [4]   default/linux/x86/10.0/server
> >>   [5]   hardened/linux/x86/10.0
> >>   [6]   selinux/2007.0/x86
> >>   [7]   selinux/2007.0/x86/hardened
> >>   [8]   selinux/v2refpolicy/x86
> >>   [9]   selinux/v2refpolicy/x86/desktop
> >>   [10]  selinux/v2refpolicy/x86/developer
> >>   [11]  selinux/v2refpolicy/x86/hardened
> >>   [12]  selinux/v2refpolicy/x86/server
> >> rattus ~ #
> >
> > In almost all cases [2] or [4] is a better choice than [1]
> 
> Alan, what does it get you?  In fact what does `developer' buy you?

x86/10.0 gives you a baseline for that release
x86/10.0/desktop|developer|server give you a profile more suited (tweaked) for 
that kind of usage.

Examine the profiles and follow the paths in the "parent files" to see what's 
in them (I indented stuff and removed comments for clarity):

x86/10.0:

  make.defaults:
    # Adding this one, since it makes sense.
    USE="${USE} bzip2"

  packages:
    >=sys-apps/baselayout-1.12.10-r5
    >=sys-devel/binutils-2.18-r1
    >=sys-libs/glibc-2.4-r4
    >=sys-apps/portage-2.1.6.8
 
x86/10.0/desktop:

  make.defaults:
    USE="a52 aac acpi alsa branding cairo cdr dbus dts dvd dvdr eds emboss
    encode evo fam firefox flac gif gnome gpm gstreamer gtk hal jpeg kde ldap
    libnotify mad mikmod mp3 mp4 mpeg ogg opengl pdf png ppds qt3support qt4
    quicktime sdl spell svg thunar tiff truetype vorbis win32codecs unicode
    usb X x264 xml xulrunner xv xvid"

    # This is added for GNOME/Xfce
    USE="${USE} startup-notification"

    # Adding this for bluetooth support
    USE="${USE} bluetooth consolekit"

  package.use:
    # While we may need LDAP client support, who needs the server on a
    desktop?
    # Did I mention that this also fixes the horrible perl dependency hell,
    too?
    net-nds/openldap minimal

x86/10.0/server:

  make.defaults:
    USE="apache2 ldap mysql snmp truetype xml"

x86/10.0/developer:

  parent:
    ../server
    ../desktop
   FEATURES="collision-protect cvs digest multilib-strict sign splitdebug
   stricter test userpriv usersandbox"

   # Disable branding (from desktop)
   USE="-branding"

   # As much as it pains me, we hope that developers know what they're doing.
   I_KNOW_WHAT_I_AM_DOING="yes"

   # Enable asneeded for GNU ld.
   LD_AS_NEEDED="1"




The desktop choices are pretty sane. Most of those USE flags are things you 
would set anyway on the average desktop, and it's much easier to remove the 
few you might not want from the default than to add that long list to 
make.conf yourself.

"server" really just adds apache and mysql.

"developer" is the union between desktop and server.

But none of this is prescriptive. If you feel you need something quite 
different from "desktop", it's OK to use something else. The desktop profile 
is just a convenience but an extremely handy one.


-- 
alan dot mckinnon at gmail dot com

Reply via email to