[Bug 1218674] Re: clickpreload doesn't work on armhf
Launchpad Bug Tracker
1218674 at bugs.launchpad.net
Fri Aug 30 22:08:08 UTC 2013
This bug was fixed in the package click - 0.4.0
---------------
click (0.4.0) saucy; urgency=low
[ Colin Watson ]
* Add "installed-size" as a mandatory field in the control area's
"manifest" file; it should not be present in source manifest files, and
is generated automatically by "click build".
* Add an optional "icon" manifest key.
* Consistently call clickpreload_init from preloaded functions in case
they happen to be called before libclickpreload's constructor.
* Run dpkg with --force-bad-path so that /sbin and /usr/sbin are not
required to be on $PATH; we don't use the tools dpkg gets from there.
[ Loïc Minier ]
* Add fopen64 wrapper (LP: #1218674).
-- Colin Watson <cjwatson at ubuntu.com> Fri, 30 Aug 2013 17:59:34 +0100
** Changed in: click (Ubuntu)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to click in Ubuntu.
https://bugs.launchpad.net/bugs/1218674
Title:
clickpreload doesn't work on armhf
Status in “click” package in Ubuntu:
Fix Released
Bug description:
Hi,
TLDR; download-manager only allows downloads to be readable by phablet
(of course root can too), so that clickpkg user can't read them.
Installing Click packages from appstore (click scope) in Ubuntu Touch
images is unreliable.
I couldn't figure exactly which conditions trigger this, but "pkcon
install-local some.click" works, and then installation from the scope
works, however if I install straight from the scope it doens't work.
I've straced packagekit doing this and spotted some click traceback being written to a .crash which ends with:
Traceback:
Traceback (most recent call last):
File "/usr/bin/click", line 84, in <module>
sys.exit(main())
File "/usr/bin/click", line 79, in main
mod.run(args)
File "/usr/lib/python3/dist-packages/click/commands/install.py", line 41, in run
installer.install(package_path, user=options.user)
File "/usr/lib/python3/dist-packages/click/install.py", line 264, in install
env=env, **kwargs)
File "/usr/lib/python3.3/subprocess.py", line 544, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['dpkg', '--force-not-root', '--instdir', '/opt/click.ubuntu.com/ar.com.beuno.hello-world/0.6', '--admindir', '/opt/click.ubuntu.com/ar.com.beuno.hello-world/0.6/.click', '--path-exclude', '*/.click/*', '--log', '/opt/click.ubuntu.com/.click/log', '--no-triggers', '--install', '/home/phablet/.local/share/download_manager/{97d4efcf-34bc-4919-a9b4-a1006890128e}/ar.com.beuno.hello-world-0.6.click']' returned non-zero exit status 1
Which suggests dpkg failing; which I found in the strace started as follows:
4519 execve("/usr/bin/dpkg", ["dpkg", "--force-not-root", "--instdir", "/opt/click.ubuntu.com/ar.com.beu"..., "--admindir", "/opt/click.ubuntu.com/ar.com.beu"..., "--path-exclude", "*/.click/*", "--log", "/opt/click.ubuntu.com/.click/log", "--no-triggers", "--install", "/home/phablet/.local/share/downl"...], [/* 7 vars */] <unfinished ...>
then running dpkg-split:
4520 execve("/usr/bin/dpkg-split", ["dpkg-split", "-Qao", "/opt/click.ubuntu.com/ar.com.beu"..., "/home/phablet/.local/share/downl"...], [/* 8 vars */]) = 0
but failing to open the package:
4520 open("/home/phablet/.local/share/download_manager/{8ec430e5-a192-493a-bdb6-478fffcb7ab1}/ar.com.beuno.hello-world-0.6.click", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
4520 write(2, "dpkg-split: error: unable to rea"..., 183) = 183
Immediately before, one can see:
4520 geteuid32() = 106
which was set when launching dpkg:
4519 setresgid32(107, 107, 107) = 0
4519 setresuid32(106, 106, 106) = 0
4519 getresuid32([106], [106], [106]) = 0
4519 getresgid32([107], [107], [107]) = 0
Indeed, click install had switched to the clickpkg user:
clickpkg:x:106:107::/nonexistent:/bin/false
So the problem is that .clicks may only be read by phablet user or
root, but not by clickpkg.
Cheers,
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/click/+bug/1218674/+subscriptions
More information about the foundations-bugs
mailing list