Gentoo Archives: gentoo-dev

From: Mart Raudsepp <leio@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] USE=desktop-file request
Date: Sat, 09 Jan 2016 08:25:18
Message-Id: 1452327892.14929.14.camel@gentoo.org
In Reply to: [gentoo-dev] USE=desktop-file request by tot-to
1 Ühel kenal päeval, K, 06.01.2016 kell 16:23, kirjutas tot-to:
2 > I'm a user of a KISS wm, which does not provide Windows™-like menus,
3 > desktop icons, etc. GUI software is called just by typing the binary
4 > name in PATH, just like any other software. For me the desktop-files
5 > are
6 > some kind of useless junk.
7 >
8 > Recently a lot of software were made harddep on
9 > dev-util/desktop-file-utils, i.e. from now on there are not only junk
10 > text files, but also a junk software required without any reason.
11 > I've
12 > added it to /etc/portage/profile/package.provided and everything
13 > compiles and works just fine. It means that in reality there is no
14 > real
15 > need in this software.
16 >
17 > Please make these dependencies optional.
18 >
19
20 This is not going to happen, because this dependency is not optional.
21 The fact that it seems to build for you without an apparent immediate
22 breakage on emerge, doesn't mean things aren't broken for you.
23 At least in the GNOME team we are not in the business of having silent
24 breakages to avoid build time dependencies of a 19kB simple utility
25 (192kB with a couple other tools and documentation).
26
27 desktop-file-utils is used to update the MIME types handling
28 applications cache database after .desktop files are installed or
29 removed.
30 xdg desktop files are not only for showing GUI applications in
31 application menus, but also handling of automatic startup on login of
32 things, MIME type associations (which this is used in particular at
33 buildtime to update the association database as stated above)
34
35 If you choose to INSTALL_MASK /usr/share/applications and/or other
36 .desktop files, you aren't just avoiding tiny text files from being
37 installed that you believe are only needed for application menu
38 entries, you are also breaking MIME type associations and various other
39 features these FreeDesktop.org standard files provide to the overall
40 system.
41
42 If such a USE=desktop-file is added and then these desktop-file-utils
43 utility calls are not made via xdg.eclass, then your system will have
44 no idea of MIME type capabilities. Your browser (opened via your dear
45 terminal from command line) will not be able to know what to use to
46 open a PDF file or whatever other file. That's just one example.
47
48 You are free to continue having things broken in such a way, but this
49 is not going to be made optional in the main tree in the name of
50 avoiding a 192kB package (as is its size when installed in the system,
51 including all of its documentation and manual pages). If you are
52 building an embedded system or whatever, it's a buildtime dep and can
53 be removed in the end. However care should be taken then to have a
54 properly up to date MIME association cache shipped as well in the final
55 image for things to work properly or in a properly performant manner.
56
57 If we are looking for something to improve here, it would be in the
58 package manager to support postinst triggers that could be grouped to
59 not be ran after each package, but only once in a while (but at least
60 once). Calling this after each package might be unnecessary, and a
61 couple times in the whole emerge session should be fine - that MIME
62 association can be a bit delayed, and not called after each package
63 postinst.
64
65
66 On behalf of the GNOME team,
67 Mart Raudsepp