unity-api-bugs team mailing list archive
-
unity-api-bugs team
-
Mailing list archive
-
Message #04904
Re: [Bug 1333215] Re: "Unable to find keyfile for application": Does not look for .desktop files in click pkgdir
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
Follow ups
References