> 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 > >
