Subject: [bug#31458] [PATCH] union: Do not warn about harmless collissions.

From: Danny Milosavljevic <[email-masked]>
Date: Tue, 15 May 2018 14:29:43 +0200

Hi Ludo,

On Tue, 15 May 2018 10:31:19 +0200
Ludovic Courtès <[email-masked]> wrote:

> Until now we'd get pointless messages like:
> 
>   warning: collision encountered:
>     /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
>     /gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache
>   warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache

Hmm, I guess the icon-theme.cache one is harmless enough - however, there shouldn't
be many of those left anyway.  Is there an easy way to check the store of hydra or something
which packages still have those files?

I've fixed inkscape now.

> +(define %harmless-collisions
> +  ;; This is a list of files that are known to collide, but for which emitting
> +  ;; a warning doesn't make sense.  For example, "icon-theme.cache" is
> +  ;; regenerated by a profile hook which shadows the file provided by
> +  ;; individual packages, and "gschemas.compiled" is made available to
> +  ;; applications via 'glib-or-gtk-build-system'.
> +  '("icon-theme.cache" "gschemas.compiled"))

However, about gschemas.compiled I'm not sure yet.

How do we ensure that glib-or-gtk-build-system is actually used for packages that
need it?

libreoffice has some problem that makes it crash every time it tries to open a
file dialog - I wonder if that's related (libreoffice uses gnu-build-system).

But glib-or-gtk-build-system expicitly generates gschemas.compiled, ensuring a
collision - what's up with that?

Shouldn't there be a profile hook for it instead?  There doesn't seem to be one.