On Monday 23 February 2009 11:10:47 Dale wrote:
> Hi
>
> I'm wanting to experiment a little with the new sets feature of
> portage.  I have searched around the forums, even looked at gentoo wiki
> and read a few man pages.  I can not find a good link to a how to for
> sets.  I would like to have a couple things if someone has them.  1) a
> link to a good how to.  2) could someone send me a copy of a sets file
> for something like KDE or something.  Just something I can use for a
> template if you would.
>
> Thanks much.  Oh, yea, I may be about to break something.  I got my
> backups up to date tho.  o_O

Sets are easy :-) For kde, you get a ton of set files if you add the kde-
testing overlay. For instance, the kde-4.2 set looks like this:

$ cat /var/portage/local/layman/kde-testing/sets/kde-4.2
# We don't include kdesdk on the global set
kde-base/kdelibs:4.2
kde-base/kdepimlibs:4.2
kde-base/kate:4.2
kde-base/kdeplasma-addons:4.2
kde-base/kde-l10n:4.2

@kdeaccessibility-4.2
@kdeadmin-4.2
@kdeartwork-4.2
@kdebase-4.2
@kdeedu-4.2
@kdegames-4.2
@kdegraphics-4.2
@kdemultimedia-4.2
@kdenetwork-4.2
@kdepim-4.2
@kdetoys-4.2
@kdeutils-4.2

#for developers
#...@kdebindings-4.2
#...@kdesdk-4.2
#...@kdewebdev-4.2



So it's nothing more than a bunch of conventional portage atoms, one per line.
I made some of my own for enlightenment-17. The main set is e17 and looks like 
so:

$ cat /etc/portage/sets/e17
@e17-libs
@e17-apps
@e17-modules
@e17-odds


A set can include other sets, that's what the leading '@' does. From the above 
I also have a set called 'e17-libs' which looks like so:

$ cat /etc/portage/sets/e17-libs
dev-db/edb
media-libs/imlib2
dev-libs/eina
dev-libs/eet
x11-libs/evas
x11-libs/e_dbus
x11-libs/ecore
dev-libs/efreet
dev-libs/embryo
media-libs/edje
media-libs/epsilon
x11-libs/esmart
media-libs/emotion
x11-libs/etk
x11-libs/ewl
dev-libs/exml
dev-util/enhance


Obviously, those ebuilds must all exist. I get to maintain them by myself and 
make sure they work, but that has nothing to do with sets :-)

If you make your own sets, dump the files into /etc/portage/sets/ and emerge 
them like so:

emerge -av @e17

Portage will record that you installed a set and remembers it, but the package 
names do not go into your world file. Think of them as being dependencies of 
the set, so an update picks up and changes and emerges things as normal. If 
you find that you need to remove the KDE set, just run 'emerge -C @kde-4.2' 
and portage will unmerge the whole lot.

-- 
alan dot mckinnon at gmail dot com


Reply via email to