Desktop standards, MIME info cache, and Lintian
I started looking today in more depth at the MIME type registration
process for applications providing *.desktop files, dh_desktop, and what
Lintian is currently doing (as part of addressing #488832).
Current situation: Lintian warns of packages that contain desktop files in
the debian/* directory of the source package and depend on debhelper but
don't call dh_desktop in debian/rules. Packages that don't use debhelper
don't receive any checks.
What I've implemented: In resolving #488832, I plan on removing that check
and instead checking whether packages that ship *.desktop files containing
MimeType keys call update-desktop-database in their postinst. This is a
more direct check that verifies the actions of dh_desktop and will also
catch packages that don't use debhelper or that don't have a conventional
debian/rules file (such as CDBS packages).
I think that's an improvement. However, in investigating further, I'd
like some advice. My questions:
1. The update-desktop-database program used to be documented in the
desktop entry spec in version 0.9.5 and was removed in 0.9.6 (the
current version is 1.0). Should I draw some conclusion from that? Is
this program and cache likely to go away? Is it still really used?
(It also seems odd that a cache regenerated from installed files is
written to /usr/share rather than in /var.)
2. Should Lintian be continuing to recommend that people installing
*.desktop files call dh_desktop just in case, even if there are no
MimeType entries in the *.desktop files? I've been leaning that way in
the past, but given how long it's been since dh_desktop was added and
given that it still doesn't do anything else, I wonder if this isn't
just noise. I'm currently leaning towards removing the check for
dh_desktop in favor of only checking for update-desktop-database when
there are *.desktop files with MimeInfo unless someone tells me that's
a bad idea.
3. Does the Shared MIME-info Database or the update-mime-info program have
anything to do with this? I think I've convinced myself that they
don't, but I'd love confirmation from someone who works more intensely
in the desktop environment world than I.
Thanks in advance!
Russ Allbery (firstname.lastname@example.org) <http://www.eyrie.org/~eagle/>