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