On Thursday 12 February 2009 07:01:36 Dale wrote:

> Sorry to butt in here.  I !think! I get what sets does, you add a group
> of packages to a file and then when you do the @sets thing, it
> emerges/upgrades that group of packages.  I get that part.  I guess from
> what I am reading that we the user OR the tree devs can create a sets
> file.  

Yes. The old split -meta ebuilds were a stop-gap hack while waiting for set 
functionality (the devs said as much in the kde split-ebuild handbook page) 
but required that a full-blown ebuild be written. Which then had to be 
manifested and either inserted in the tree or an overlay. i.e. 
waaaaaay too complex for what is really just a simple list.

> So I could create a set called network and put things like Kppp, 
> ppp, wireshark and all the networky things in there for my use alone.  

Yes

> I 
> assume that the tree devs can also create a sets file with say all the
> KDE packages or maybe all the system packages in it for everybody to
> use.  Would that be correct?

Yes. 

> I'm going to jump off a cliff here and ask this.  How would I emerge
> kde-meta-4.2 and all its friends without using layman or anything, just
> a plain emerge @kde-meta and go to bed for a while?  This would be using
> the sets feature too.  I am using portage-2.2_rc23 so I should be ready
> to go with the new sets feature.

Forget about anything with -meta in it's name if you want to use sets. As I 
said above, -meta ebuilds are a hack and an ugly one to boot (but useful 
nonetheless). Create a file called say "/etc/portage/sets/dale_stuff" and run

emerge -av @dale_stuff

Go to bed. To get all the kde stuff, I *think* that easiest would be to ask 
someone using kde-testing to mail you a copy of the set file included there. 
Or you could make one by hand with ls,grep,sed,awk and friends.

> Oh, is there a really good howto somewhere?  Real simple non-geek
> speak.  Cool examples would be really nice. I looked around gentoo.org
> but nothing really spells it out.  I did find a HUGE thread about it but
> still not registering for me.  I need a light bulb moment.  O_O

There isn't much in the way of docs. I read a blog post from one of the devs 
recently but have no idea where it is. I'll have a look.

It would appear from some code snippets I saw there that you can even do nifty 
things like subtract one set from another. Say you wanted all of kde except 
three specific apps. Put those three in a set file, let's call it 
kde_exclude, and run some command along the lines of

emerge @k...@kde_exclude

portage will "subtract" the exclude file from the big one and merge just the 
difference. Cool, hey?

-- 
alan dot mckinnon at gmail dot com

Reply via email to