> On Jan. 8, 2017, 9:04 p.m., David Faure wrote:
> > 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.

In my approach, only the applications themselves are installed somewhere under 
/Applications, provided they're built as app bundles. Everything else goes 
under a traditional POSIX-style prefix like /opt/local, including 
non-app-bundle executables.

Others who have more experience building standalone app bundle versions which 
could go under /Applications should be able to say more, but I would expect 
that those are in fact individual builds that are configured to consider the 
app bundle as their root and to be self-centred w.r.t. sycoca5. IOW, I would 
expect that their search for .desktop entries is limited to the app bundle 
contents, and starts at the app bundle, so at least 1 level under /Applications 
or wherever the bundle has been saved.
I'm not sure if they could do anything else: app bundles that include Qt and 
all required frameworks aren't guaranteed to have the same versions, which 
could lead to all kinds of unexpected behaviour.
That's why I think that excluding /Applications shouldn't have any impact on 
such builds.


- René J.V.


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


On Dec. 30, 2016, 9: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, 9: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
> 
>

Reply via email to