On 03/04/2010 08:44 PM, Mark Knecht wrote:
Yeah, that's interesting and to some extent anyway probably involved
with why I'm getting a lot of the package I get. What I'm not
understanding yet is what packages themselves are in @system. Where do
those come from? I'm assuming that because of all these flags some
system packages then require more and more support packages as an
avalance, but I'm not understanding what list of packages gets the
whole things started.

@world is /var/lib/portage/world.

@system is ?


System is set by the profile.  It is stored in the packages file.

Where it gets tricky is that profiles have inheritance.

So, start with whatever is in make.profile. If it has a packages file, then everything in it is in @system for you. There is a good chance that there isn't even a packages file in your profile.

Now, look in your profile directory for a file called parent. It may have one or more paths in it. Your profile inherits whatever is in those profiles. Check those for packages files, and add those to @system.

Oh, you're not done, since each of those directories probably also has a parent file. By now you're probably checking 4 more directories or so.

Eventually you'll run out of parents and will have identified everything in your @system set.

Yes, it seems messy at first, but the inheritance does make sense. If you're on something typical like default/linux/amd64/10.0/desktop, you'll want anything that is amd64 related, anything that is gentoo 10 related, anything that is desktop related, and so on. Plus some packages are 10.0 desktop related for any arch, and some might be 10.0 related on any sub-profile that runs on linux, and others might be amd64-only but only for 10.0.

The general goal is to keep @system fairly minimal. Granted, being source-based Gentoo has a pretty heavy system set, since it needs to be able to fully bootstrap the build environment and that means a fairly full toolchain.

You also mentioned that you wanted @system to be as minimal as possible, and to have @world control most of the stuff you use. If that is your desire, you might consider switching to a server profile, or even just plain default/linux/amd64/10.0. If you do this you'll get a system that is fairly stripped down, and then you can add back in whatever you actually want.

The desktop profile is the best starting point for 95% of ordinary end-users, however.

Also - desktop is probably going to split into kde and gnome sub-categories, with desktop just being more generic (appropriate for xfce/etc - or something like a plain old window manager). That will help kde/gnome users to avoid pulling in too much stuff from the other environment that they don't use (although I've never been able to fully get away with that).

I hope that helps a little...

Rich

Reply via email to