[packagekit] Self-introduction: GSoC student (Fedora Project) working on Plasma PackageKit integration

Kevin Kofler kevin.kofler at chello.at
Mon Jun 13 23:42:17 PDT 2011


Hi,

let me briefly introduce myself: I am Kevin Kofler, I'll be 28 years old on July 
1st, I'm studying for a PhD in Mathematics at the University of Vienna, 
Austria, and I'm an Italian citizen. I am a Fedora KDE packager and a KDE 
developer.

This summer, I am working on a Google Summer of Code 2011 project with the 
Fedora Project, mentored by Rex Dieter. The main goal of my project is to 
enable Plasma to install required script engines and data engines for Plasma 
widgets downloaded through Open Collaboration Services (OCS) through 
PackageKit. (The script engines and data engines cannot be offered through OCS 
because they have to be compiled for the distribution.) Rex Dieter has been 
suggesting to use PackageKit for this purpose for a while:
http://rdieter.livejournal.com/14707.html
http://rdieter.livejournal.com/14897.html
and his idea has been received positively by Plasma developers, so I am hoping 
for a successful cooperation with the Plasma project. (A positive side effect 
will be that Plasma-related dependencies between distribution packages can 
also be automatically generated.)

On the PackageKit side, not much is needed, however we will need a new method 
in the org.freedesktop.PackageKit.Modify interface, similar to the existing 
InstallFontconfigResources, InstallGStreamerResources or InstallPrinterDrivers 
APIs. This is my next task in my project plan and will be required to 
implement the Plasma-side code, which is why I'm cross-posting this mail to 
the PackageKit list.

Of course, some support for this feature is also needed on the package manager 
level. I am implementing automatic extraction of Provides and Requires for 
RPM. While I do not plan to work on other package managers myself at this 
time, I expect it to be relatively easy to add support for other packaging 
systems once the Plasma and PackageKit code is in place. I will be available 
for questions and guidance to anyone working on supporting this feature for 
other package managers.

The plan for how I intend to implement the features can be found at:
http://www.google-melange.com/gsoc/project/google/gsoc2011/kevinkofler/7001
I hope this makes sense to you (it definitely does make sense to Rex and me, 
but we aren't Plasma or PackageKit developers), otherwise please provide 
constructive feedback.

Expect patches to be trickling in soon. So far, we have support for extracting 
RPM Provides information from Plasma .desktop file metadata:
https://kevinkofler.wordpress.com/2011/06/05/automatic-plasma-rpm-provides/
The naming scheme plasma4(servicetype-name) was modeled after the GStreamer 
Provides, which are used in a similar way as these Plasma Provides will be 
used (automatic installation through PackageKit) and which use a 
gstreamer0.10(servicetype-mimetype) naming scheme. Here too, I hope this 
naming scheme makes sense to you, otherwise please speak up now, before we 
start generating these Provides in Fedora Rawhide packages. Similarly to how 
this works for GStreamer, I intend to use the same naming scheme in the 
org.freedesktop.PackageKit.Modify API, but as for GStreamer, backends can map 
this to whatever the underlying packaging system requires.

I am looking forward to a productive summer working with the Plasma and 
PackageKit projects.

        Kevin Kofler


More information about the PackageKit mailing list