python3-json-patch conflicts with python-json-patch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-json-patch (Debian) |
Fix Released
|
Unknown
|
|||
python-json-patch (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
alpine
The following packages will be upgraded:
python3-
1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/8,390 B of archives.
After this operation, 8,192 B of additional disk space will be used.
Do you want to continue [Y/n]?
(Reading database ... 405778 files and directories currently installed.)
Preparing to replace python3-json-patch 1.1-1 (using .../python3-
Unpacking replacement python3-json-patch ...
dpkg: error processing /var/cache/
trying to overwrite '/usr/bin/
Errors were encountered while processing:
/var/cache/
E: Sub-process /usr/bin/dpkg returned an error code (1)
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: python3-json-patch 1.3-1
ProcVersionSign
Uname: Linux 3.11.0-12-generic x86_64
ApportVersion: 2.12.6-0ubuntu1
Architecture: amd64
Date: Mon Nov 11 08:41:58 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2011-10-19 (754 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MarkForUpload: True
PackageArchitec
SourcePackage: python-json-patch
UpgradeStatus: Upgraded to trusty on 2013-05-20 (175 days ago)
Related branches
Changed in python-json-patch (Debian): | |
status: | Unknown → New |
Changed in python-json-patch (Debian): | |
status: | New → Fix Released |
Over in debian-python, issues like this come up from time to time in other packages which provide version-specific cli's. There's still debate over best practices here, but I think we're coming close to the following convention:
* The script should always be invocable by -m, e.g. `$python -m jsonpatch` so that if $python is `python3` or `python2.7` or whatever, it will always do the right thing.
* Install a /usr/bin/jsonpatch3 which has a #! line of /usr/bin/python3
* Install a /usr/bin/jsonpatch which has a #! line of /usr/bin/python
* Optionally, if the script is dependent on the Python minor version, then install /usr/bin/ jsonpatch- 2.7 (with or without dash, but the dash seems more common), with a #! line of /usr/bin/python2.7
* Similarly for Python 3.X
You've prompted me to try to revive this discussion on debian-python, so we can at least come to some (documented!) conventions. But I think the above is the general shape of what we seem to do these days.