[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1004903: xfce4-session: Using defaults.list for MIME type associations is deprecated



Package: xfce4-session
Version: 4.16.0-1
Severity: wishlist
X-Debbugs-Cc: debian-desktop@lists.debian.org

xfce4-session installs an essentially empty template file
"debian/defaults.list" as a conffile /etc/xfce4/defaults.list, with a
symbolic link at /usr/share/xfce4/applications/defaults.list to get
applications to read it. From the changelog, it appears that this was
intended to give sysadmins a way to configure MIME type associations
for XFCE users without affecting users of other desktops.

This is using pre-2014 locations for this configuration, and there are
better ways to achieve the same goals now.

MIME handler associations are specified in the freedesktop.org
MIME applications specification
(https://specifications.freedesktop.org/mime-apps-spec/latest/), which
no longer mentions defaults.list. Several implementations of that spec,
such as the one in GLib, still load defaults.list as an additional data
source, as a non-standard extension to the spec.

The post-2014 way for this to work is that if sysadmins want to set MIME
type associations for XFCE users, they should create
/etc/xdg/xfce-mimeapps.list and put configuration there. This will be read
by default by any correct implementation of the mime-apps spec, without
requiring symbolic links in /usr/share. It will also work for any desktop
environment, not just XFCE: the prefix of the filename is whatever the
desktop environment puts in the XDG_CURRENT_DESKTOP environment variable,
folded to lower case (for example xfce, gnome, kde).

One way that Debian's XFCE packaging could deprecate
/etc/xfce4/defaults.list would be to add a comment to its default version,
indicating that it is deprecated and per-desktop configuration should be
done by creating /etc/xdg/xfce-mimeapps.list.

Another way to do this would be to rename /etc/xfce4/defaults.list to
/etc/xdg/xfce-mimeapps.list during upgrades, and remove the
/usr/share/xfce4/applications/defaults.list symbolic link. However, this
would require the maintainer script to be able to do something reasonable
if /etc/xdg/xfce-mimeapps.list already exists.

If this is the only reason why XFCE adds /usr/share/xfce4 to XDG_DATA_DIRS,
then removing the /usr/share/xfce4/applications/defaults.list symbolic link
would allow debian/55xfce4-session to be dropped (but I don't know whether
there are other integration files in /usr/share/xfce4 that need to be in
the XDG_DATA_DIRS search path).

    smcv


Reply to: