Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#52400 - [python2-setuptools] 1.33.0-1 upgrade fails on existing files (*.pyc)

Attached to Project: Arch Linux
Opened by Troy Engel (TE) - Friday, 06 January 2017, 14:47 GMT
Last edited by Doug Newgard (Scimmia) - Friday, 06 January 2017, 16:51 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

Not 100% sure what's going on here, as the *.pyc aren't owned by the older package:

$ pacman -Q python2-setuptools
python2-setuptools 1:32.3.1-1

$ sudo pacman -S python2-setuptools
[sudo] password for tengel:
resolving dependencies...
looking for conflicting packages...

Packages (1) python2-setuptools-1:33.0.0-1

Total Installed Size: 1.57 MiB
Net Upgrade Size: 1.05 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
error: failed to commit transaction (conflicting files)
python2-setuptools: /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/pkg_resources/extern/__init__.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/__init__.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/archive_util.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/__init__.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/build_py.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/install.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/py36compat.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/sdist.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/command/setopt.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/depends.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/dist.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/extension.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/extern/__init__.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/glob.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/lib2to3_ex.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/monkey.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/msvc.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/package_index.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/py26compat.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/py27compat.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/py31compat.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/sandbox.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/ssl_support.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/unicode_utils.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/version.pyc exists in filesystem
python2-setuptools: /usr/lib/python2.7/site-packages/setuptools/windows_support.pyc exists in filesystem
Errors occurred, no packages were upgraded.


I did not manually compile these *.pyc to my knowledge, a spot check shows they seem to have been compiled after the 1.32 upgrade and are not owned by any package:


[2017-01-03 08:19] [ALPM] upgraded python2-setuptools (1:30.4.0-1 -> 1:32.3.1-1)


$ stat /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc
File: /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc
Size: 115271 Blocks: 232 IO Block: 4096 regular file
Device: fe02h/65026d Inode: 407576 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-05 14:48:32.742758171 -0600
Modify: 2016-11-28 11:49:45.735123486 -0600
Change: 2016-11-28 11:49:45.735123486 -0600
Birth: -


$ pacman -Ql python2-setuptools | grep pyc
(no output)

$ pacman -Qo /usr/lib/python2.7/site-packages/pkg_resources/__init__.py/usr/lib/python2.7/site-packages/pkg_resources/__init__.py is owned by python2-setuptools 1:32.3.1-1

$ pacman -Qo /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc
error: No package owns /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc

$ pacman -Qlp /var/cache/pacman/pkg/python2-setuptools-1\:33.0.0-1-any.pkg.tar.xz | grep pyc
python2-setuptools /usr/lib/python2.7/site-packages/easy_install.pyc
python2-setuptools /usr/lib/python2.7/site-packages/pkg_resources/__init__.pyc
(lots more)


So it appears that the 1.32.3.1-1 did not include the *.pyc files, which "something" compiles after the fact, but the new package contains the precompiled objects, causing the error. I can use a '--force' to pacman to do the upgrade, but it doesn't seem like what is intended by the packager.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Friday, 06 January 2017, 16:51 GMT
Reason for closing:  Not a bug
Additional comments about closing:  https://wiki.archlinux.org/index.php/Pac man#.22Failed_to_commit_transaction_.28c onflicting_files.29.22_error

Loading...