Hello again folks :)
This second part of the post is about a project of mine i started at the beginning of the 2009 and that still lies there on gitorious (today moved from github to gitorious). I started a GUI for emerge, the packages administration utility in Gentoo. I know it is a bit of an ambitious project since emerge does not provide an API iirc, so this project is "just" a command-line parser. But I started it with no particular ambition except for my own will to have some sort of advanced GUI on top of emerge. It is called Gluk (almost-casual name so do not ask me what it stands for).
I spent some time writing some sort of wrapper library that tries to handle emerge transparently to the user. There are nice classes currently and I will just sum them up here in order to (hope so) whet the appetite :-P.
- Ebuild: this class inherits QFile and adds some useful methods that ease Ebuild files reading (useFlags(), description(), keywords(), sourceUrl()... and so on)
- Package: this class actually represents the package installed or to-be-installed on the system. You can think of as an instance of the ebuild file.
- GlukTreeModel: a QAbstractItemModel inheritance that makes easier browsing the portage tree.
- PortageEngine: a singleton class that actually does the dirty work representing an interface to Portage.
If you run Gentoo GNU/Linux and want to contribute please let me know since i'd appreciate much!! Ideas are of course welcome :)