Archive for the ‘gsoc’ Category

PackageKit backend for Software Center: week 2 report

A week of fail and win has almost ended.

On the fail part, I had a hard time building pygobject, gobject-introspection and glib from At first I’ve trying pulling from git, configuring and building, without luck. Then I switched to jhbuild, which after a few sanitychecks, bootstraps and configuration, worked; a day after I found that I’m on the stable branch (-2-28/gnome-3) which wasn’t good enough for my aim at patching master, and have switched branches to master, trying build -n. Of course it didn’t work until I hacked PKG_CONFIG_PATH to include paths such as /usr/share/pkgconfig, /usr/lib/pkgconfig and /usr/lib/i386-linux-gnu/pkgconfig – with help from walters on #introspection. This week my hard drive was about to die – because of a bug in the kernel driver for ata, it was reset every 30 seconds, causing everything to freeze. Different liveCDs have failed, the symptoms were ambigous and hard to reproduce – almost an entire day of fun.

On the win side, I figured out the hdd problem, and locked the kernel version to 2.6.38-9 for now. Hacked pygobject, posted patch in bugzilla B-), I’m one step further into making packagekit python bindings work; also I used the remaining time to push forward some more preparation refactor on software-center.

I have also updated the GSoC timeline – I’ll try to keep it up to date.

For the next week, same objectives remain.

PS: If you’re a python hacker and feel like helping out :-) , please check this bug report out.

PackageKit backend for Software Center: week 1 report

This week was a good week for coding, and the best part about it: most of my changes are now in s-c’s upstream trunk.

I started out trying to populate s-c database with only a few applications; this meant updating the update-software-center tool, and also changing some bits on the database update module. I was glad to discover that some functionality I have planned to develop in week 6 (parsing AppStream app-data xmls) was already there, thus making my job easier :-)

After that, work continued by abstracting backend parts, such as InstallBackend and TransactionsWatcher, and also isolating as much as posible apt and apt_pkg usage. I have then expanded the PackageInfo abstraction to implement a dictionary like interface, containing _Package objects (before that, apt.Package were returned). It took some small steps, and sometimes mistakes from my side, but in the end, I guess I have got it done right. Work still needs to be done regarding usage of candidate and installed properties (which currently are apt.Version objects), and also on AptCache try_install_and_*depends methods (this should be either abstracted, either made apt-backend specific.

At the end of the week, preparing the next point of focus, I have managed to get a developing environment with PackageKit with Python gobject introspection data. Here comes the bad news: the py GI for packagekit is not ready for prime time. Reasons for that: GI is relatively new, there are no other users of PK from Python (only C and Vala). With help from ximion, hughsie, dantti and tomeu (and many other kind souls on #PackageKit, #introspection or #python), we isolated the problem inside pygobject, apparently an incomplete implementation of GPtrArray. I hope to get it fixed next week :-) , so that I can continue work with PK.

Although I am a bit worried seeing segfaults in Python, it’s a sunny day out here (so I can finish my report on a non-technical note) so I’m sure that with help from these awesome people on IRC,  problem will be solved, and my project will continue according to the plan.

Next week: gi ninja and more PK!

PackageKit backend for Software Center: week 0 report

Not much to say about this first week of gsoc (Exams period hasn’t finished yet), so here it comes:

- had an IRC meeting with mentor vuntz of openSUSE and mvo of Ubuntu (the initial software-center author), got some things cleared up and planned the development

- according to my timeline, I now have the trunk version of software-center running in Debian wheezy; there is still work to do, but is an encouraging start;


- work on a dummy install backend and a dummy package info provider; probably create an elegant way of switching backends;

other stuff:

- got interviewed for the openSUSE news :-)

This is it. See you next week.

GSoC 2011: PackageKit and AppStream integration for Software Center

Hi everyone,

Just a quick announce that I will be working this summer as a GSoC student, for the openSUSE Project. My mentor will be Vincent Untz, the so called “father of GNOME 3″ :-)

What I’m aiming to do is modify Ubuntu Software Center to use PackageKit (an universal package management toolkit) as a installation backend, and also integrate it with the AppStream initiative (a cross-distro project for making software installation easier).

My full proposal can be read here (fixed). Feedback and suggestions are, as always, appreciated.

I would like to thank ROSEdu (which I am a member of) for the support ;-)