[opensuse-project] Re: [gsoc2011] PackageKit, AppStream and openSUSE integration for Software Center

Alex Eftimie alex at rosedu.org
Mon Aug 22 09:00:30 PDT 2011

Hi everyone,

With thanks for helping me bring this project to these point, here
follows my final summer of code report:

Today the official coding period of GSoC 2011 ends. It's been a four
months journey, with challenges, failures and achievements, but
nevertheless fun :-).

You may be wondering what is the status of my project; here it goes:
current version of Software Center can be tested in openSUSE Factory;
it can populate its database with data from an AppStream XML; it shows
application information (fetched from the package manager); it
installs and removes software, in the same friendly manner the ubuntu
does (showing progress, handling dependencies).

Moreover, my patches to gobject-introspection, PackageKit and
obviously software-center, are all upstream and released; kudos to the
project managers and the community for helping me get them there.

There are still parts that need work; some of then have been
intentionally left with lower priority from my initial plan, in order
to get a functional version up by the end of the program; others
weren't covered by the planed feature set. These are: performance
(current version is rather slow on first load, and also on showing
list, due to many resolve calls), transaction history (it can be
implemented using the almighty PackageKit), reviews (currently these
are fetched from ubuntu servers), screenshots (same as reviews).
Software Center itself passes a period of active development and
changes, once its fancy Gtk+3 interface stabilizes, more work can be
done into polishing the <other-distro> experience.

Although I'm generally happy with the result of the project, since
this is a report, I want to outline what differed from my expectations
and slowed me down from bringing a full feature set cross-distro
Software Center:

* fast development - when I started hacking on software-center's GUI,
it was pygtk Gtk+2 based; a Gtk+3 branch existed, but was far from
being usable; under the last few weeks, it was merged, and actively
developed into a newly designed interface (which will become
software-center 5.0);
* Gio, GLib, GMenu, GObject, usually libs starting with a capital G,
which introspection bindings are about to stabilize; having to get
them from trunk, and dealing with API breakage;
* waiting for the pygobject release; when it came, it broke my pygtk
mixed work (since static vs GI are no longer permitted in the same
program - which is the right choice. btw), and left me with no working
GUI; luckily, I took the best advices on IRC, and also software-center
devs fixed things along, so that the new UI isn't affected by the
underlying changes.

Something worth mentioning in this finale post is that OBS totally rocks.

Overall, I hope this effort won't stop here, and with a bit of luck,
it will be shipped by your favorite distribution :D

PS: for more implementation/testing/plan details, I have created this
page on openSUSE wiki, please check it out.

Links are at: http://alex.eftimie.ro/2011/08/22/packagekit-backend-for-software-center-pencils-down-report/

Your questions, bug reports and feedback are really appreciated. I'm
going to continue improving my code, and also assure that the PK
backend is kept up to date within software-center development.


More information about the Distributions mailing list