Caleb Cushing's Blog

pkgcore the victor

pkgcore is my pick for the next portage and codebase for emerge-ng. I admit I haven’t let paludis have a chance (yet).

Why haven’t I let paludis have it’s chance?

The reasons are quite simple. Everytime I have tried paludis prior to this it has required extra configuration (meaning it doesn’t work out of the box). I believe this was fixed recently. However,


paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.
paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.
* Done cleaning write cache for ebuild format repositories
paludis@1208029212: [WARNING] Use of Portage configuration files will lead to sub-optimal performance and loss of functionality. Full support for Portage configuration formats is not guaranteed; issues should be reported via trac. You are strongly encouraged to migrate to a Paludis configuration.



This is the end of a paludis –sync. Annoying. Paludis also has it’s alpha releases marked as ~arch, this is a no, no. I also found the people in #paludis on irc to be rude and unhelpful. I was annoyed at the time (so being rude myself) as gentoo kde-svn overlay was going to require paludis which means I was going to be forced to use it. Regardless I’ve never been met with lot’s of friendliness or help in #paludis. They are an RTFM crowd. I have been told to use paludis several times without even asking about it (as if it is the solution to all problems). So is pkgcore better? I can’t say without a doubt that it is.

Why is pkgcore the victor?

For starter’s it’s only the victor for me. paludis is a more mature product at this point and has a stronger following of fanatic’s/zealot’s.

1.) pkgcore it more similar to portage.

pkgcore was originally intended to be portage 3. This leads to a large amount of similarities and backwards compatibility.

2.) pkgcore devs are really friendly. Sometimes patience is a virtue getting an answer on #pkgcore but most of the times I get one. This allowed me to quickly learn what I could and could not (yet) do with pkgcore, including finding a bug within a week.

3.) pkgcore just works. I installed pkgcore and with a quick look at the site was quickly able to start doing work with it.

4.) pkgcore installs faster. I think it took like an hour to build paludis on this machine (maybe more) pkgcore took 2 minutes tops.

5.) pkgcore uses C. For the parts of portage that were really slow they re-wrote them in C using cpython. using both python and c leads to faster development and speed where needed.

How do I use pkgcore
real quick

pmaint sync

this is the biggest adaption from portage, imho and I’m not sure why it’s not –sync or pmerge –sync (in some ways it’s more similar to portage 2.0 syntax). This will not only sync your main gentoo tree but any repositories you’ve intalled with layman. as of yet you still have to install them via layman, but this may change in the future.

pmerge packagename

I told you this was easy. Most of the options I use work. The biggest that doesn’t is –verbose, this seems to be default now (with –ask) so an option is no longer needed. updating world

pmerge -auDs world

an -s is now needed to work with things like system and world. It’s for package set. My one complaint here is the –newuse doesn’t currently work with sets. This is a bug and will be fixed in the future.

Is anything wrong with pkgcore in your eyes?

well aside from the plethora of missing features (they’ll get done, it’s just a time thing). Documentation… I usually learn stuff by reading web documentation (or books) until I’m comfortable enough reading man pages. The web documentation for pkgcore needs a lot of work. I may actually volunteer to help with this. I haven’t decided yet, and it depends partially on if they want to answer all my questions as I write the docs.

It’d be nice if at some point pmerge could become emerge etc… (meaning reprise it’s roll as portage 3).

for more information on pkgcore go to pkgcore.org


Share

comments powered by Disqus