RFD: Using "Type=MetaApplication" for package managers and application stores
Jacob Edwards
j.johan.edwards at gmail.com
Sat Aug 6 16:45:45 PDT 2011
Hello everyone.
Over the past few years Ubuntu has been using desktop entries to fetch
applications from its repositories and display them in the software
center. All packages with a desktop file are considered applications;
they appear with their entries' Name, Icon, and Comment in the
software center, while other packages are hidden as "technical items".
It turns out this approach is problematic.
* Some applications have extra desktop launchers. Wesnoth, for instance,
comes with a map editor. From the perspective of an app store, however,
'wesnoth.desktop' and 'wesnoth-1.8_editor.desktop' are just one app.
* Some applications have no primary launcher. Wine, for instance, comes
with a notepad, a configuration launcher, a registry editor, a program
uninstaller, a help app, and a drive browser. None of these embody
"Wine" as one thing a user is interested in installing.
* Finally, at a package level, it is often advantageous to package
desktop launchers separately from the main package. So an app store
ends up installing a 'app-common' package instead of the entire
application.
In the past we've manually maintained an entry blacklist and package->app
mapping for the software center. It's become clear that this solution
won't scale.
There's been some discussion around a solution at the package level:
# https://dev.launchpad.net/ArchiveIndex#Overrides
However, I think it would be much cleaner to extend the Desktop Entry
standard to include *generic, non-executable descriptions of a user
application*. Such a file might look like this:
[Desktop Entry]
Version=1.0
Type=MetaApplication
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
URL=http://fooview.com
Icon=fooview
MimeType=image/x-foo;
# And perhaps.....
Package=fooview
Screenshot=http://fooview.com/screenshot.jpg
Description=[Longer description of fooview here]
Would any other parties be interested in modifications like this landing
in the Desktop Entry spec?
More information about the xdg
mailing list