Kemerge Read Me!
Kemerge is a graphical front-end to Gentoo portage/emerge tool. Its purpose is to simplify installation and removal of package and helping in getting the system up-to-date. It also help keeping it clean of old package version and locating which package contains which file.
Kemerge is a test for me to learn KDE programming application interface. Therefore I'd like to get suggestions and code tricks but I'd like to do it myself. If you wanna help, provide me with art works as I'm not good at that and provide me translation and stuff like that. If you provide bug fixes, I'd appreciate that only if you do provide a little explanation with it so that I understand why it is needed. If you implement something for you, you're free to send me the code but I'd prefer to get the feature description and see the result in order to do it by myself.
I don't mind if someone wanna fork the project on his own and distribute the project under his name with more features such as kemerge-initials... I'd just like that the format of the name follow that rule and that kemerge without initial indicate my software.
If you want a feature or a bug fix, submit a user story. Inside the TODO list you can see many user stories that I wrote. Those never get erased, even when they are done. They server as the purpose to define my release and to allow me to verify if I satisfy those at each release. This method is what I think is called Xp or Extreme Programming, which is another thing I am trying in this project.
--
In 0.1, I simply made a graphical ebuild script list where the list is took from the /usr/portage directory. There's a bunch of menu/toolbar those are not used. They got there from the kdevelop KDE application skeleton. I'm not removing them untill I know the proper way to do it and maybe I'll get to used them later on?
--
In 0.2, I added a DCOP Client which will allow me to write bash script to unit test the application. I'm only starting to used DCOP so bare with me if you wanna use that. Right now, issuing
'dcop kemerge-pid ebuildlist count'
will returns the number of ebuild script. You can get the content of each column through
'dcop kemerge-pid ebuidlist <packageName|packageVersion|packageSuffix|scriptRevision |mergeState|category|scriptPath|scriptName> index'
where index is from 0 to count-1. Note that mergeState will return 'yes' or 'no' based on the content of your /var/db/pkg directory.
I've got problems while compiling the 0.2 because of the ebuildlistIface.h that contains a K_DCOP tags that needed to be processed by moc but it seems like kdevelop doesn't handle that situation per default. I edited the kemerge/Makefile.am to add the filename into it. It seems to work let me know if it doesn't for you.
Also, make dist never worked out of the box for me with errors about etags -o/-i options incorrectly specified. I found that the way to resolved that was to edit my /usr/share/automake/tags.am and replace -i by --c-types and move the -o option just after the etags word. My etags version is v5.2.3, your solution, I imagine, may differ.
--
This version, 0.3, took me a long time as I was attempting the figure out how I was going to pursue the development of Kebuild/Kemerge and the Kebuildpart with Kdevelop. Kdevelop seems very limited when it comes to having more than one target inside the same project. Or maybe the limitation lies in the lack of tutorials/documentation. I did a lot of change to Makefile.am/*.kdevprj only to figure out that the best way was to create 3 separates Kdevelop project. I could have let down Kdevelop, but I think that the benefit of that tools will be too great to drop.
So in 0.3 there's a new application called Kebuild which is simply a wrapper over KebuildPart which display the content of an ebuild script file into what I think is a more appropriate display. After the installation of the 3 packages, take Konqueror and attempt to open an .ebuild file, you should see Kebuild popping up.
--
v0.4 is shaping up nicely, I now have a QProgressDialog which will appear if it takes too long to load the ebuild script list. Also the loading of the list content has been moved inside the ebuildlistview class which make more sense.
I've received a new Icon for the application. Great thanks goes to Eugenia Loli-Queru (eloli@hotmail.com). As I've mentionned before, I'm no artist and appreciate such great contribution to the application. On the downside, I've yet to figure out how to install and ensure it is use properly inside Kemerge. For now I had to manually tell KDE that the icon for Kemerge was under /usr/kde/3/share/icons/locolor/32x32/kemerge.png. I'd like to hear about your experience on that.
--
Yannick Koehler
