public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] USE=desktop-file request
@ 2016-01-06 16:23 tot-to
  2016-01-06 18:59 ` Sergey Popov
  2016-01-09  8:24 ` Mart Raudsepp
  0 siblings, 2 replies; 7+ messages in thread
From: tot-to @ 2016-01-06 16:23 UTC (permalink / raw
  To: gentoo-dev

I'm a user of a KISS wm, which does not provide Windows™-like menus,
desktop icons, etc. GUI software is called just by typing the binary
name in PATH, just like any other software. For me the desktop-files are
some kind of useless junk.

Recently a lot of software were made harddep on
dev-util/desktop-file-utils, i.e. from now on there are not only junk
text files, but also a junk software required without any reason. I've
added it to /etc/portage/profile/package.provided and everything
compiles and works just fine. It means that in reality there is no real
need in this software.

Please make these dependencies optional.

Reproducible: Always

Steps to Reproduce:
1. echo dev-util/desktop-file-utils-0.22
>> /etc/portage/profile/package.provided
2. emerge -C dev-util/desktop-file-utils
3. emerge -1 `equery d dev-util/desktop-file-utils | awk '{print $1}' |
sed s/^/=/g`

Actual Results:  
No crashes or any kind of problems

Expected Results:  
Build crash due to lack of hard dependency

To be more specific, here is all the software on my system, that
depends on dev-util/desktop-file-utils, but compiles and works just
fine without it: $ equery d dev-util/desktop-file-utils
 * These packages depend on dev-util/desktop-file-utils:
app-office/dia-0.97.3 (dev-util/desktop-file-utils)
app-text/evince-2.32.0-r4 (dev-util/desktop-file-utils)
app-text/gnome-doc-utils-0.20.10-r1 (dev-util/desktop-file-utils)
dev-cpp/atkmm-2.24.1 (dev-util/desktop-file-utils)
dev-cpp/cairomm-1.12.0-r1 (dev-util/desktop-file-utils)
dev-cpp/glibmm-2.46.1 (dev-util/desktop-file-utils)
dev-cpp/gtkmm-2.24.4-r3 (dev-util/desktop-file-utils)
dev-cpp/pangomm-2.38.1 (dev-util/desktop-file-utils)
dev-libs/atk-2.18.0 (dev-util/desktop-file-utils)
dev-libs/libIDL-0.8.14 (dev-util/desktop-file-utils)
dev-libs/libcroco-0.6.9 (dev-util/desktop-file-utils)
dev-libs/libsigc++-2.6.2 (dev-util/desktop-file-utils)
dev-python/pygobject-2.28.6-r55 (dev-util/desktop-file-utils)
dev-python/pygtk-2.24.0-r4 (dev-util/desktop-file-utils)
dev-util/gtk-update-icon-cache-3.16.7 (dev-util/desktop-file-utils)
gnome-base/gsettings-desktop-schemas-3.18.1
(dev-util/desktop-file-utils) gnome-base/libglade-2.6.4-r2
(dev-util/desktop-file-utils) gnome-base/librsvg-2.40.11
(dev-util/desktop-file-utils) gnome-extra/libgsf-1.14.34
(dev-util/desktop-file-utils) media-libs/libart_lgpl-2.3.21-r2
(dev-util/desktop-file-utils) sys-block/gparted-0.24.0
(dev-util/desktop-file-utils) x11-libs/gdk-pixbuf-2.32.2
(dev-util/desktop-file-utils) x11-libs/gtk+-2.24.28-r1
(dev-util/desktop-file-utils) x11-libs/pango-1.38.1
(dev-util/desktop-file-utils) x11-themes/gtk-engines-2.20.2-r2
(dev-util/desktop-file-utils)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 16:23 [gentoo-dev] USE=desktop-file request tot-to
@ 2016-01-06 18:59 ` Sergey Popov
  2016-01-06 19:47   ` tot-to
  2016-01-09  8:24 ` Mart Raudsepp
  1 sibling, 1 reply; 7+ messages in thread
From: Sergey Popov @ 2016-01-06 18:59 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 3452 bytes --]

Unfortunately i doubt that we could help with that. I did not look into
every software package from your list, but many of those packages did
not have compile time switch for (not)using desktop-file-utils.

If you are still needed to clean up files, that cause no harm to your
system - i can only suggest you to mask /usr/share/applications via
INSTALL_MASK(to prevent these desktop files from installing at all)

06.01.2016 19:23, tot-to пишет:
> I'm a user of a KISS wm, which does not provide Windows™-like menus,
> desktop icons, etc. GUI software is called just by typing the binary
> name in PATH, just like any other software. For me the desktop-files are
> some kind of useless junk.
> 
> Recently a lot of software were made harddep on
> dev-util/desktop-file-utils, i.e. from now on there are not only junk
> text files, but also a junk software required without any reason. I've
> added it to /etc/portage/profile/package.provided and everything
> compiles and works just fine. It means that in reality there is no real
> need in this software.
> 
> Please make these dependencies optional.
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. echo dev-util/desktop-file-utils-0.22
>>> /etc/portage/profile/package.provided
> 2. emerge -C dev-util/desktop-file-utils
> 3. emerge -1 `equery d dev-util/desktop-file-utils | awk '{print $1}' |
> sed s/^/=/g`
> 
> Actual Results:  
> No crashes or any kind of problems
> 
> Expected Results:  
> Build crash due to lack of hard dependency
> 
> To be more specific, here is all the software on my system, that
> depends on dev-util/desktop-file-utils, but compiles and works just
> fine without it: $ equery d dev-util/desktop-file-utils
>  * These packages depend on dev-util/desktop-file-utils:
> app-office/dia-0.97.3 (dev-util/desktop-file-utils)
> app-text/evince-2.32.0-r4 (dev-util/desktop-file-utils)
> app-text/gnome-doc-utils-0.20.10-r1 (dev-util/desktop-file-utils)
> dev-cpp/atkmm-2.24.1 (dev-util/desktop-file-utils)
> dev-cpp/cairomm-1.12.0-r1 (dev-util/desktop-file-utils)
> dev-cpp/glibmm-2.46.1 (dev-util/desktop-file-utils)
> dev-cpp/gtkmm-2.24.4-r3 (dev-util/desktop-file-utils)
> dev-cpp/pangomm-2.38.1 (dev-util/desktop-file-utils)
> dev-libs/atk-2.18.0 (dev-util/desktop-file-utils)
> dev-libs/libIDL-0.8.14 (dev-util/desktop-file-utils)
> dev-libs/libcroco-0.6.9 (dev-util/desktop-file-utils)
> dev-libs/libsigc++-2.6.2 (dev-util/desktop-file-utils)
> dev-python/pygobject-2.28.6-r55 (dev-util/desktop-file-utils)
> dev-python/pygtk-2.24.0-r4 (dev-util/desktop-file-utils)
> dev-util/gtk-update-icon-cache-3.16.7 (dev-util/desktop-file-utils)
> gnome-base/gsettings-desktop-schemas-3.18.1
> (dev-util/desktop-file-utils) gnome-base/libglade-2.6.4-r2
> (dev-util/desktop-file-utils) gnome-base/librsvg-2.40.11
> (dev-util/desktop-file-utils) gnome-extra/libgsf-1.14.34
> (dev-util/desktop-file-utils) media-libs/libart_lgpl-2.3.21-r2
> (dev-util/desktop-file-utils) sys-block/gparted-0.24.0
> (dev-util/desktop-file-utils) x11-libs/gdk-pixbuf-2.32.2
> (dev-util/desktop-file-utils) x11-libs/gtk+-2.24.28-r1
> (dev-util/desktop-file-utils) x11-libs/pango-1.38.1
> (dev-util/desktop-file-utils) x11-themes/gtk-engines-2.20.2-r2
> (dev-util/desktop-file-utils)
> 


-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop-effects project lead
Gentoo Quality Assurance project lead


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 18:59 ` Sergey Popov
@ 2016-01-06 19:47   ` tot-to
  2016-01-06 21:29     ` Rich Freeman
  0 siblings, 1 reply; 7+ messages in thread
From: tot-to @ 2016-01-06 19:47 UTC (permalink / raw
  To: gentoo-dev

Hi Sergey,

It would be great to make the intallation of desktop-files optional,
but I mostly concerned about the dependency on
dev-util/desktop-file-utils. This dependency was introduced very
recently, i.e. none of those packages had such dependency before and
everythigh was working fine. Moreover, currently they still compile work
fine without this package (added to package.provided). So, I don't
understand why one needs a compile-time switch in order to disable
just a redundant software.

I think such dependency should be either removed, because it's not
really required or at least be optional.

-----Original Message-----
Date: Wed, 06 Jan 2016 21:59:47 +0300
From: Sergey Popov <pinkbyte@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] USE=desktop-file request


Unfortunately i doubt that we could help with that. I did not look into
every software package from your list, but many of those packages did
not have compile time switch for (not)using desktop-file-utils.

If you are still needed to clean up files, that cause no harm to your
system - i can only suggest you to mask /usr/share/applications via
INSTALL_MASK(to prevent these desktop files from installing at all)

06.01.2016 19:23, tot-to пишет:
> I'm a user of a KISS wm, which does not provide Windows™-like menus,
> desktop icons, etc. GUI software is called just by typing the binary
> name in PATH, just like any other software. For me the desktop-files are
> some kind of useless junk.
> 
> Recently a lot of software were made harddep on
> dev-util/desktop-file-utils, i.e. from now on there are not only junk
> text files, but also a junk software required without any reason. I've
> added it to /etc/portage/profile/package.provided and everything
> compiles and works just fine. It means that in reality there is no real
> need in this software.
> 
> Please make these dependencies optional.
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. echo dev-util/desktop-file-utils-0.22  
>>> /etc/portage/profile/package.provided  
> 2. emerge -C dev-util/desktop-file-utils
> 3. emerge -1 `equery d dev-util/desktop-file-utils | awk '{print $1}' |
> sed s/^/=/g`
> 
> Actual Results:  
> No crashes or any kind of problems
> 
> Expected Results:  
> Build crash due to lack of hard dependency
> 
> To be more specific, here is all the software on my system, that
> depends on dev-util/desktop-file-utils, but compiles and works just
> fine without it: $ equery d dev-util/desktop-file-utils
>  * These packages depend on dev-util/desktop-file-utils:
> app-office/dia-0.97.3 (dev-util/desktop-file-utils)
> app-text/evince-2.32.0-r4 (dev-util/desktop-file-utils)
> app-text/gnome-doc-utils-0.20.10-r1 (dev-util/desktop-file-utils)
> dev-cpp/atkmm-2.24.1 (dev-util/desktop-file-utils)
> dev-cpp/cairomm-1.12.0-r1 (dev-util/desktop-file-utils)
> dev-cpp/glibmm-2.46.1 (dev-util/desktop-file-utils)
> dev-cpp/gtkmm-2.24.4-r3 (dev-util/desktop-file-utils)
> dev-cpp/pangomm-2.38.1 (dev-util/desktop-file-utils)
> dev-libs/atk-2.18.0 (dev-util/desktop-file-utils)
> dev-libs/libIDL-0.8.14 (dev-util/desktop-file-utils)
> dev-libs/libcroco-0.6.9 (dev-util/desktop-file-utils)
> dev-libs/libsigc++-2.6.2 (dev-util/desktop-file-utils)
> dev-python/pygobject-2.28.6-r55 (dev-util/desktop-file-utils)
> dev-python/pygtk-2.24.0-r4 (dev-util/desktop-file-utils)
> dev-util/gtk-update-icon-cache-3.16.7 (dev-util/desktop-file-utils)
> gnome-base/gsettings-desktop-schemas-3.18.1
> (dev-util/desktop-file-utils) gnome-base/libglade-2.6.4-r2
> (dev-util/desktop-file-utils) gnome-base/librsvg-2.40.11
> (dev-util/desktop-file-utils) gnome-extra/libgsf-1.14.34
> (dev-util/desktop-file-utils) media-libs/libart_lgpl-2.3.21-r2
> (dev-util/desktop-file-utils) sys-block/gparted-0.24.0
> (dev-util/desktop-file-utils) x11-libs/gdk-pixbuf-2.32.2
> (dev-util/desktop-file-utils) x11-libs/gtk+-2.24.28-r1
> (dev-util/desktop-file-utils) x11-libs/pango-1.38.1
> (dev-util/desktop-file-utils) x11-themes/gtk-engines-2.20.2-r2
> (dev-util/desktop-file-utils)
>   


-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop-effects project lead
Gentoo Quality Assurance project lead



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 19:47   ` tot-to
@ 2016-01-06 21:29     ` Rich Freeman
  2016-01-06 21:59       ` Matthias Maier
  2016-01-07  2:42       ` Peter Stuge
  0 siblings, 2 replies; 7+ messages in thread
From: Rich Freeman @ 2016-01-06 21:29 UTC (permalink / raw
  To: gentoo-dev

On Wed, Jan 6, 2016 at 2:47 PM, tot-to <gentoo-dev.list@tot-to.com> wrote:
>
> It would be great to make the intallation of desktop-files optional,
> but I mostly concerned about the dependency on
> dev-util/desktop-file-utils...
>
> I think such dependency should be either removed, because it's not
> really required or at least be optional.

Most of the packages you referenced inherit the gnome2 eclass, which
inherits the xdg eclass, which adds a DEPEND on desktop-file-utils.

Technically that should mean that it is fine to uninstall
desktop-file-utils after building most of these packages, because it
is only needed at build time.  However, I imagine that if an xdg
eclass function is called which uses these utilities the package build
will fail if you just stick it in package.provided.

If this were purely about installing the desktop files themselves I'd
say to just use the install mask.  I think you could debate whether it
is OK to pull in desktop-file-utils.  That package is just 4 binaries
and their manpages/docs, and of course the runtime dependency of glib.

I'm not sure it is really worth trying to control this via a USE flag
for such a light dependency.  However, strictly speaking this is an
optional build-time dependency, so it probably could be controlled by
flag.  I'm not so keen on making the build-time behavior automagic
based on whether the package happens to be installed and then spamming
elog on every package that uses the xdg eclass to let you know that
you could manually install that package to get your desktop files
back.

I'd have to check but I suspect that portage hangs onto build-time
dependencies by default, probably so that you're not uninstalling them
and reinstalling them anytime you do anything.  Strictly speaking,
however, it would be safe to depclean anything that is only a
build-time dependency (with the understanding that you're going to be
rebuilding it every time it is needed).

--
Rich


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 21:29     ` Rich Freeman
@ 2016-01-06 21:59       ` Matthias Maier
  2016-01-07  2:42       ` Peter Stuge
  1 sibling, 0 replies; 7+ messages in thread
From: Matthias Maier @ 2016-01-06 21:59 UTC (permalink / raw
  To: gentoo-dev


> I'd have to check but I suspect that portage hangs onto build-time
> dependencies by default, probably so that you're not uninstalling them
> and reinstalling them anytime you do anything.  Strictly speaking,
> however, it would be safe to depclean anything that is only a
> build-time dependency (with the understanding that you're going to be
> rebuilding it every time it is needed).

This behavior is controlled by the --with-bdeps=<y|n> option.

Best,
Matthias


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 21:29     ` Rich Freeman
  2016-01-06 21:59       ` Matthias Maier
@ 2016-01-07  2:42       ` Peter Stuge
  1 sibling, 0 replies; 7+ messages in thread
From: Peter Stuge @ 2016-01-07  2:42 UTC (permalink / raw
  To: gentoo-dev

Rich Freeman wrote:
> I'm not sure it is really worth trying to control this via a USE flag
> for such a light dependency.

I don't care how light dependencies are - I want to be able to choose
every single one that is optional. That is Gentoo's killer feature,
and I am thoroughly disappointed whenever I come across a dependency
which is not absolutely neccessary but hard in ebuild. It's rare, but
happens. :( I consider it a bug. I still have to file the last one I
found.


//Peter


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [gentoo-dev] USE=desktop-file request
  2016-01-06 16:23 [gentoo-dev] USE=desktop-file request tot-to
  2016-01-06 18:59 ` Sergey Popov
@ 2016-01-09  8:24 ` Mart Raudsepp
  1 sibling, 0 replies; 7+ messages in thread
From: Mart Raudsepp @ 2016-01-09  8:24 UTC (permalink / raw
  To: gentoo-dev

Ühel kenal päeval, K, 06.01.2016 kell 16:23, kirjutas tot-to:
> I'm a user of a KISS wm, which does not provide Windows™-like menus,
> desktop icons, etc. GUI software is called just by typing the binary
> name in PATH, just like any other software. For me the desktop-files
> are
> some kind of useless junk.
> 
> Recently a lot of software were made harddep on
> dev-util/desktop-file-utils, i.e. from now on there are not only junk
> text files, but also a junk software required without any reason.
> I've
> added it to /etc/portage/profile/package.provided and everything
> compiles and works just fine. It means that in reality there is no
> real
> need in this software.
> 
> Please make these dependencies optional.
> 

This is not going to happen, because this dependency is not optional.
The fact that it seems to build for you without an apparent immediate
breakage on emerge, doesn't mean things aren't broken for you.
At least in the GNOME team we are not in the business of having silent
breakages to avoid build time dependencies of a 19kB simple utility
(192kB with a couple other tools and documentation).

desktop-file-utils is used to update the MIME types handling
applications cache database after .desktop files are installed or
removed.
xdg desktop files are not only for showing GUI applications in
application menus, but also handling of automatic startup on login of
things, MIME type associations (which this is used in particular at
buildtime to update the association database as stated above)

If you choose to INSTALL_MASK /usr/share/applications and/or other
.desktop files, you aren't just avoiding tiny text files from being
installed that you believe are only needed for application menu
entries, you are also breaking MIME type associations and various other
features these FreeDesktop.org standard files provide to the overall
system.

If such a USE=desktop-file is added and then these desktop-file-utils
utility calls are not made via xdg.eclass, then your system will have
no idea of MIME type capabilities. Your browser (opened via your dear
terminal from command line) will not be able to know what to use to
open a PDF file or whatever other file. That's just one example.

You are free to continue having things broken in such a way, but this
is not going to be made optional in the main tree in the name of
avoiding a 192kB package (as is its size when installed in the system,
including all of its documentation and manual pages). If you are
building an embedded system or whatever, it's a buildtime dep and can
be removed in the end. However care should be taken then to have a
properly up to date MIME association cache shipped as well in the final
image for things to work properly or in a properly performant manner.

If we are looking for something to improve here, it would be in the
package manager to support postinst triggers that could be grouped to
not be ran after each package, but only once in a while (but at least
once). Calling this after each package might be unnecessary, and a
couple times in the whole emerge session should be fine - that MIME
association can be a bit delayed, and not called after each package
postinst.


On behalf of the GNOME team,
Mart Raudsepp


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-01-09  8:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-06 16:23 [gentoo-dev] USE=desktop-file request tot-to
2016-01-06 18:59 ` Sergey Popov
2016-01-06 19:47   ` tot-to
2016-01-06 21:29     ` Rich Freeman
2016-01-06 21:59       ` Matthias Maier
2016-01-07  2:42       ` Peter Stuge
2016-01-09  8:24 ` Mart Raudsepp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox