Subject: bug#26988: Add desktop-file-utils to all gtk applications

From: Marius Bakke <[email-masked]>
Date: Sun, 21 May 2017 01:00:22 +0200

Danny Milosavljevic <[email-masked]> writes:

> Hi Marius,
> Hi 宋文武,
>
> On Sat, 20 May 2017 01:05:22 +0200
> Marius Bakke <[email-masked]> wrote:
>
>> Danny Milosavljevic <[email-masked]> writes:
>> 
>> > these are two patches I propose we add in order to add
>> > desktop-file-utils to all gtk applications.  This means that the
>> > profile hook would pick up the desktop files (as soon as possible).  
>> 
>> So if I read (guix profiles) correctly, the hook only runs when
>> 'desktop-file-utils' is referenced. Would checking for a gtk reference
>> as well not achieve the same effect? Or is that too expensive?
>
> That would probably work as well.
>
> But the idea is KDE would eventually use the XDG desktop cache, too (maybe it already does - no idea).  Any other desktop environments that don't reinvent the wheel in that regard would use desktop-file-utils as well - and that's the package that actually contains the "update-desktop-database" executable for updating the XDG desktop cache.
>
> Right now the "xdg-desktop-database" profile hook doesn't need its own magical packages but it just uses the existing desktop-file-utils reference for actually updating the desktop database.

IIUC, the idea is to run the hook every time a package with a ".desktop"
file has changed. Even if we propagate "desktop-file-utils" from say,
GTK+ and Qt, it won't catch some cases where we add the ".desktop" file
manually such as "rxvt-unicode".

I wonder if there is a more generic thing we could test for.. Maybe
libx11? Obviously lots of false positives, but the hook is not *that*
expensive. Thoughts?

>> > One patch moves desktop-file-utils from (gnu packages gnome) to (gnu
>> > packages freedesktop).  I suggest we apply this patch to all branches
>> > - since they don't change anything in the build.  
>> 
>> Adding it to 'master' would be sufficient, no? It will be merged to
>> 'staging' and 'core-updates' in due time.
>
>> I don't see a good reason to move it though, but no strong opinion. 
>
> desktop-file-utils is a freedesktop project.
>
> If we don't move it and if KDE used desktop-file-utils (as it should), we'd have KDE depend on Gnome.

Ah, ok. Makes sense.

> If we did move it in all branches, I mean also in wip-installer etc, I think it would prevent any merging problems - since git uses file hashes as commits - and people would not have to take care whether this branch has already moved it or not.

IME, git usually recognizes cherry-picks as the same change, but not
always. I think the problem is that "cherry-pick" is smart, it can adapt
to some fairly complicated context changes unlike e.g. "patch". So, even
if the cherry-pick succeeds, the file and context can be very different.

For example, I recently tested merging a branch with 600+ cherry-picks
back to 'master'. That went mostly-well, but there were some very
difficult conflicts in all files that had changed in the other branch
(and the duplicate branch history did not help).

In short, I think we should prefer merging to cherry-picks whenever
possible. Merging is equally smart, so if cherry-pick works "out of the
box" merge will too. And they definitely do not prevent merging
problems, quite the opposite!