Michael Hall wrote:
> .desktop files, .service files (for dbus), .lens and .scope files (for
> Unity) all needed to be changed to point to executables or images in
> /opt/extra.ubuntu.com/${appname}/ when being packaged for Extras.  Unity
> APIs that require a .desktop or image file name had to use absolute
> paths to the files in /opt/extras.ubuntu.com/{$appname}.  These all
> required changes to the app's source in order to support the
> installation under /opt/.

    The XDG menu specification provides very wide flexibility in where
and how .desktop files are stored, and all the compliant implementations
of which I am aware use a configuration file to determine where to find
the files, and which to include where.  Similarly, dbus service files
may be placed in any of ${XDG_DATA_DIRS}/share/dbus-1/services.  Icons
(for use in .desktop files) may be stored in ${XDG_DATA_DIRS}/icons.  I
know less about .lens and .scope files, but presume that there would be
advantages beyond this discussion to have them check a runtime-determined
set of locations.

    Where this gets extra annoying is the expectation that things
are found in application-specific locations: while it is possible
to add /opt/${PACKAGE}/applications to the menu search path for
each package, this quickly becomes unwieldy.  While it reduces the
separation between applications to some degree, use of a shared
namespace for this sort of file (e.g. /opt/extras.ubuntu.com/applications
or /opt/extras.ubuntu.com/share/dbus-1/services) reduces the issue to
a simple configuration change and a symlink from the shared location
to the package namespace.

    The disadvantage of doing it this way is that it imposes a requirement
for all extras packages to share a single namespace for these resources
(desktop files, icon names, dbus services, etc.), although on a given system
we would likely wish to impose that anyway (two packages providing the same
apparent program name, or the same apparent dbus service may lead to many
more complicated issues in terms of user confusion than fienames).

-- 
Emmet HIKORY

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Reply via email to