click package cannot be installed on desktop
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
click (Ubuntu) |
Fix Released
|
Medium
|
Colin Watson |
Bug Description
Installing this package on 13.10 desktop fails:-
http://
alan@deep-
Selecting previously unselected package fr.skimbo.skimbou.
(Reading database ... 0 files and directories currently installed.)
Unpacking fr.skimbo.skimbou (from fr.skimbo.
dpkg: error processing fr.skimbo.
unable to open '/opt/click.
Errors were encountered while processing:
fr.skimbo.
Traceback (most recent call last):
File "/usr/bin/click", line 84, in <module>
sys.
File "/usr/bin/click", line 79, in main
mod.run(args)
File "/usr/lib/
package_path, user=options.user, all_users=
File "/usr/lib/
env=env, **kwargs)
File "/usr/lib/
raise CalledProcessEr
subprocess.
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: click 0.4.8
Uname: Linux 3.11.0-994-generic x86_64
ApportVersion: 2.12.4-0ubuntu1
Architecture: amd64
Date: Fri Sep 27 17:39:45 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2012-06-29 (454 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
SourcePackage: click
UpgradeStatus: Upgraded to saucy on 2013-07-12 (77 days ago)
Related branches
- Colin Watson: Approve
- Ubuntu CI managed package branches: Pending requested
-
Diff: 485 lines (+269/-70)11 files modifiedREADME (+1/-0)
click/build.py (+10/-22)
click/framework.py (+138/-0)
click/install.py (+8/-28)
click/paths.py.in (+1/-0)
click/tests/helpers.py (+29/-0)
click/tests/test_build.py (+39/-5)
click/tests/test_install.py (+2/-4)
debian/changelog (+8/-0)
doc/file-format.rst (+1/-2)
doc/index.rst (+32/-9)
This is because:
* the package was built with a version of click before 0.4.7, which didn't strip .git directories out of built packages
* objects in .git directories are mode 0444
* dpkg (called by click to unpack packages) opens files for writing twice, I think in order to provide sync hints to the kernel
* in dpkg's normal use case this is fine because it's running as root which gets to override DAC permissions, but click drops privileges to run dpkg
The sanest answer is probably just to force the 0600 (owner-writeable) permission bit on unpacked files. The unpacked package is unwriteable from the package's point of view anyway, so it doesn't matter.