On Thu, 2014-07-10 at 14:01 +0000, Martin Pitt wrote: > > and would delay starting up of legacy apps > > How would that be? If there's no symlink in ~/.cache/ the startup > currently does not work at all. With a fallback to pkgdir it would work, > just a tad slower (that's why we have the cache). But again, you can't > rely that all user's ~/.cache/ directories are accessible at the time of > installing a click (that's the use case that doesn't affect current > phone so much, but convergence, so is low-prio), but the issue which > *does* affect the phone is installing a click and trying to start it in > the current session (as the upstart hook doesn't run then).
The way it works today is that it checks the cache and starts either the application-click or application-legacy Upstart job which handles the specifics of each type. It chooses this based on whether there is an entry in the cache with application-legacy being the fallback. If we add a step based on the Click DB before we get to that fallback it will be delayed. We don't rely on the Upstart hook, we rely on a Click hook. The Click hook runs in two places, when the package is installed or when the session is started. So if the cache is not available when the Click is installed then it is run when the session is started. If the user session is open (for instance on the phone) the Click hook is run immediately on install and the cache is up-to-date. -- You received this bug notification because you are a member of Unity API bugs, which is subscribed to Ubuntu Application Launcher. https://bugs.launchpad.net/bugs/1333215 Title: "Unable to find keyfile for application": Does not look for .desktop files in click pkgdir Status in Ubuntu Application Launcher: Incomplete Status in “click” package in Ubuntu: New Status in “ubuntu-app-launch” package in Ubuntu: Incomplete Bug description: For testing/autopkgtest I want/need to run click apps and their tests in a schroot or container, as the turnaround with real phones and the emulator is way too large. But in a container, ubuntu-app-launch fails with $ ubuntu-app-launch `ubuntu-app-triplet com.ubuntu.calculator` ** (process:766): WARNING **: Unable to find keyfile for application 'com.ubuntu.calculator_calculator_1.3.283' init: application-legacy (com.ubuntu.calculator_calculator_1.3.283-1403523098604203) pre-start process (770) terminated with status 1 In strace I see that it looks for the .desktop file in the following locations: /home/ubuntu/.cache/ubuntu-app-launch/desktop/com.ubuntu.calculator_calculator_1.3.283.desktop /home/ubuntu/.local/share/applications/com.ubuntu.calculator_calculator_1.3.283.desktop /usr/local/share/applications/com.ubuntu.calculator_calculator_1.3.283.desktop /usr/share/applications/com.ubuntu.calculator_calculator_1.3.283.desktop but not in the click dir: $ click pkgdir com.ubuntu.calculator /opt/click.ubuntu.com/.click/users/@all/com.ubuntu.calculator The workaround is to create the symlink manually, then it works: $ ln -s `click pkgdir com.ubuntu.calculator`/*.desktop .cache/ubuntu-app-launch/desktop/`ubuntu-app-triplet com.ubuntu.calculator`.desktop $ ubuntu-app-launch `ubuntu-app-triplet com.ubuntu.calculator` But that's certainly not something that autopkgtest should do. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-app-launch/+bug/1333215/+subscriptions -- Mailing list: https://launchpad.net/~unity-api-bugs Post to : [email protected] Unsubscribe : https://launchpad.net/~unity-api-bugs More help : https://help.launchpad.net/ListHelp

