#44104: digikam 4.0.0 update --------------------------+------------------- Reporter: rjvbertin@… | Owner: jan@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: kde Port: digikam | --------------------------+------------------- Comment (by nicos@…): Replying to [comment:6 rjvbertin@…]:
I'd agree with that were it not that there are probably enough KDE ports that do not really require a kbuildsycoca4 invocation. Well, at least all the ones making any use of plugins, which should not be negligible. As it would be cumbersome to track each port, the simplest should be to consider this a general issue in my point of view. And since the command builds a binary database, it still should be run each time something new is installed to maintain the database up to date.
In fact, one could also argue that the message need appear only when installing the base KDE ports, because once those are installed the OS takes care of loading the required agent(s). At least that's how it seems to work on my 10.6.8 system (and I'd better not try to launchctl unload them because the commands shown in the note don't seem to be enough to restore KDE functionality after that). 10.9 may indeed be different and require a manual launchctl load of at least the dbus agent. That is the current state, with the message appearing at activation of kdelibs4, but not for the reason you state. The system does not in principle load agents without explicitely asking for it. That is true in particular for the one we talk about, as it must be run at user (and not root) level.
In short, I'm not sure if it's useful to clutter the output when installing/upgrading all KDE packages with this note. One could think of a more terse message reminding only to execute kbuildsycoca4 by hand if a newly installed port seems to lack functionality like I had with digikam. Is it possible to display such a note only after a new install, and not after an upgrade (supposing an upgrade doesn't introduce new components or suppress existing ones)? I do not know of any way to differentiate between install and upgrade at Portfile level. But as this would imply further complication by tracking possible changes, I would keep the current policy of the provided agent, which is to always run it just in case.
-- Ticket URL: <https://trac.macports.org/ticket/44104#comment:18> MacPorts <http://www.macports.org/> Ports system for OS X