Fink:Packaging:FreeDesktop

From the Fink Wiki
Jump to navigation Jump to search


The Problem

There is a new standard governing menus and maybe some other stuff. Various fink packages in KDE and GNOME rely on it and implement subsets of it. As a result, two packages implementing the same functionality (menus for example) conflict because they install their own take on the same standard file in the same standard location. Some portions of the standard rely on env vars that are not set or are set in non-obvious packages. We need a unified package that sets the env vars to "our" standard place and unified packages that supply coalesced KDE/GNOME files. Miga wrote about it on fink-gnome-core.

The Solution

We need a unified package that sets the env vars to "our" standard place and unified packages that supply coalesced KDE/GNOME files.

package "xdg-base" (done)

  • Set standard environment variables (via profile.d)
  • List as Depends in some basic GNOME and KDE packages:
    • shared-mime-info (>= 0.14-9)
    • gtk+2? (*TODO*)
    • glib2? (*TODO*)
    • KDE...um...?
Environment variable
Variable Linux standard Fink equiv
XDG_DATA_HOME ~/.local/share ${HOME}/.local/share
XDG_DATA_DIRS /usr/local/share:/usr/share %p/share
XDG_CONFIG_HOME ~/.config ${HOME}/.config
XDG_CONFIG_DIRS /etc/xdg %p/etc/xdg
XDG_CACHE_HOME ~/.cache ${HOME}/.cache

package "freedesktop-menus"

  • provide basic menus
    • unified gnome/kde?
    • custom-written top-level filen, move existing gnome and kde top-level to be sub-menus of it?
  • stand-alone pkg or part of "freedesktop"?
    • have extensive depends/recommends or just the data files?