Hi all, A small group discussed AppStream last year, and the result was archived at http://distributions.freedesktop.org/wiki/AppStream
There was a nice timeline, but then everyone got busy :/ So it got stuck a bit (except for distromatch, thank to Enrico!) A few weeks ago, some of us took some time to get appstream back on track. There are still many things to do, but I guess it's a good time to talk about the current status since there's something starting to work. There is a "How can I help?" section at the end :-) Software Center with PackageKit support ======================================= Last year, Alex Eftimie did a GSoC project to land a PackageKit backend in the software center. This was some good preliminary work, but still needed some love, especially in terms of performance. The code is now alive again, and lives in git at https://gitorious.org/appstream/software-center Unfortunately, because of the Harmony CLA required by Canonical, some of us can't contribute the changes back to the original software center project (for instance, I'm not fine with the CLA so won't sign it). Therefore this is becoming a fork; that being said, we're trying to stay in sync with the launchpad code, and Michal Hrušecký is merging the code from launchpad trunk every now and then. The goal of the fork is not to substantially diverge, but simply to make the software center usable on all distros. It's reaching the point where it's usable, however there is still a road ahead before this becomes usable by everyone: - some external tool needs to be used to fetched appdata.xml, and call the update-software-center tool to generate the xapian database - only the basic features have been tested; I'm not completely sure the channel-related features work well, for instance; also package updates haven't been tested - several features (recommendations, reviews) need to be re-implemented for distros (more on this below) - the current code is pretty much synchronous, which is a bit ugly Of course, to play with the software center in an AppStream context, we need some application metadata (appdata.xml) :-) Application metadata ==================== openSUSE is now generating an appdata.xml file for its repo. You can find an example here: http://download.opensuse.org/factory/repo/oss/suse/setup/descr/appdata.xml.gz It'd be great to have other distros generate this too so everyone can play with the PackageKit backend in the software center (although Debian and Ubuntu can still use the apt backend). That being said, in the short term, it can already be used on other distro, or even better, we can use distromatch to transform it to work for other distros. There's also a tarball with icons: http://download.opensuse.org/factory/repo/oss/suse/setup/descr/app-icons.tar.gz It's not used by the software center yet; the way files are arranged inside this tarball is pretty much still to be defined. Features based on web services ============================== Several features depend on external services: screenshots, recommendations, reviews, etc. For screenshots, the plan is to use debshots: http://debshots.workaround.org/ There's currently a 2.x version being written, that will have multi-distribution features, see http://workaround.org/pipermail/debshots-devel/2012-March/000004.html So this is looking good :-) For recommendations and reviews, well, I'm not aware of anyone working on this. So that's a hole we need to fill; it could possibly be a GSoC project. "How can I help?" ================= We want this project to succeed and be usable by all distros, and to achieve this, we need your help! Without you, things won't move as fast as they should ;-) Here are the different areas where people can step up and rock the world: - Get code to generate distromatch data for your distro => This can be used to generate an appdata.xml file for all distro supported in distromatch, based on an appdata.xml file from one distro. And this will be usable in debshots and other services later on. => We already have code for Debian, Fedora, openSUSE and Ubuntu, but we'd need more. => An export script for your distro is writable in a few hours. See as example the existing scripts: https://gitorious.org/appstream/distromatch/trees/master/scripts => For reference, here's a tarball containing Fedora and openSUSE data (it will move to a proper home at some point): http://tmp.vuntz.net/misc/distromatch/distromatch-opensuse-fedora.tar - Get some appdata.xml file published in your distro repository => This is something that needs to be plugged in the build service of each distro. => The scripts we use to extract the data after the build of packages in openSUSE can be found at: https://build.opensuse.org/package/files?package=brp-extract-appdata&project=openSUSE%3AFactory It's unclear to me if this can be reused by other distros, though. - Test the PackageKit-based software center on your distro (and hack on it so that it's rock-solid!) => Clone the code: git clone git://gitorious.org/appstream/software-center.git => You can start with a dummy appdata.xml file (see https://gitorious.org/appstream/resources/blobs/master/appdata.xml for an example). => To use the code from the checkout: # Generate xapian database from appdata.xml ./utils/update-software-center --local --appstream-only ./software-center => You might need to create a backend for your distro; this is very simple, see files in ./softwarecenter/distro/ - Help develop debshots 2.x => Join http://workaround.org/cgi-bin/mailman/listinfo/debshots-devel - Volunteer to work on the reviews and recommendations services => The client code in the software center can be analyzed to show the needs we have. => This should be created with multi-distribution features in mind, like debshots. Cheers, Vincent -- Les gens heureux ne sont pas pressés. _______________________________________________ Distributions mailing list Distributions@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/distributions