Hello guys, I'm introducing you Aqpm, a QT/C++ wrapper to libalpm. I did this since Shaman backend was starting to get too much bloated, and since I needed to use Alpm in some other apps (and in Shaman 2 too). What's cool about it: I aim at a strong binary compatibility. This way, even when alpm introduces some binary-incompatible changes, modifying Aqpm internals will be enough to get all applications relying on Aqpm work again without a rebuild. This way we'll also avoid bad situation like Shaman crack this summer. It also wraps around the callback system and implements an easier Queue. It has solid internal threading where needed, and I'm planning to make it support PolicyKit, so that I'll also get rid of the problem of running Shaman with suid and other apps using Alpm running as root (even though Policykit could be directly added to alpm itself, I don't know). Enough talking, it's here: http://github.com/drf/aqpm/tree/master. If you want to test it, I moved Shaman to github and I have a branch there working with aqpm: http://github.com/drf/shaman1/tree/aqpm-work . Sure, it has some regressions, but really small stuff. Please note that Aqpm at the current status supports latest git revision of alpm, so it is not compilable with current stable pacman. I am writing you also to ask you for some help. I have one problem since libalpm 3, namely the download progress callback streaming always 0 in the "total" parameter. I got almost crazy over it, and I still can't find a reason why it does not work. I verified that when Alpm streams the callback, the value is correct, though when it gets received it becomes 0. So I kindly ask you a small review of my code, since I really don't know where to crash my head. It is the last missing bit to aqpm to work 100%, so I'd really appreciate if you could give some help. The relevant code is at: http://github.com/drf/aqpm/tree/master/trunk/libaqpm/Backend.cpp line 797-1010 (Transaction thread, but in that file you'll find every action aqpm does) http://github.com/drf/aqpm/tree/master/trunk/libaqpm/callbacks.cpp Callbacks are here. Also some feedbacks/suggestions would be highly appreciated Thanks and Cheers Dario