Review Request 129730: [WIP] : kbuildsyscoca should skip /Applications on Mac

David Faure faure at kde.org
Sun Jan 8 20:04:42 UTC 2017


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129730/#review101896
-----------------------------------------------------------



Where do KDE apps on Mac get installed to?

The reasoning "QStringList::removeAll() should remove only entries matching /Applications exactly", while true, *does* exclude /Applications from the recursive search for .desktop files. So if KDE Mac applications (including their .desktop file) do get installed into /Applications, and if we need their .desktop file located by ksycoca (e.g. to associate them with mimetypes), then we can't exclude /Applications.

- David Faure


On Dec. 30, 2016, 8:10 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129730/
> -----------------------------------------------------------
> 
> (Updated Dec. 30, 2016, 8:10 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X and KDE Frameworks.
> 
> 
> Repository: kservice
> 
> 
> Description
> -------
> 
> After upgrading to Qt 5.7.1 I noticed that kbuildsycoca5 (and the "inline" version used by many applications) took long minutes to trawl a location where it's unlikely to find anything of interest among the probably huge number of files present: `/Applications`.
> 
> This patch avoids that by removing all occurrences of /Applications from the result of `QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation)` (and also removes any duplicates, which seems like a good idea just in case).
> 
> I've marked this "WIP" because I'm not sure how this implementation would work out for standalone app bundle builds. I *think* they should be fine even if installed somewhere under /Applications because `QStringList::removeAll()` should remove only entries matching "/Applications" exactly. Possibly the filter could be widened to catch all "*/Applications", meaning also $HOME/Applications. That should still leave, say, `$HOME/Applications/Kate.app`.
> 
> 
> Diffs
> -----
> 
>   src/sycoca/kmimeassociations.cpp 25ce3fe 
>   src/sycoca/vfolder_menu.cpp 5acbf8a 
> 
> Diff: https://git.reviewboard.kde.org/r/129730/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9.5 and and Linux with Qt 5.7.1 and KF5 5.29.0 installed in /opt/local
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20170108/d01169ac/attachment.html>


More information about the kde-mac mailing list