Bug 882271

Summary: PyYAML-3.10-6.fc18.x86_64 package is broken
Product: [Fedora] Fedora Reporter: Mary Ellen Foster <mefoster>
Component: PyYAMLAssignee: John Eckersberg <jeckersb>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: greg.martyn, hadfieldster, jeckersb, mriedem
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-29 21:23:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mary Ellen Foster 2012-11-30 14:37:27 UTC
Description of problem:
Trying to update PyYAML from F17 -- or to install the new one on F18 after uninstalling the old one -- results in an error message about the RPM:

Error unpacking rpm package PyYAML-3.10-6.fc18.x86_64
error: unpacking of archive failed on file /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info: cpio: rename

Version-Release number of selected component (if applicable):
PyYAML-3.10-6.fc18.x86_64

How reproducible:
Every time

Steps to Reproduce:
1. yum install PyYAML
  
Actual results:
See above

Expected results:
Package properly installed

Comment 1 John Eckersberg 2012-11-30 21:44:48 UTC
I can't reproduce this on either of my F18 or rawhide test systems.

The only time I've seen that cpio error is when switching between directories in symlinks, but that doesn't apply here, since PyYAML-3.10-py2.7.egg-info is a regular file.  Is it possible that file is already present on the filesystem, and is immutable for some reason?

What do you get for:

$ stat /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info

and

$ lsattr /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info

Comment 2 John Eckersberg 2012-11-30 21:47:08 UTC
"switching between directories in symlinks" above should be "switching between directories and symlinks"

Comment 3 Mary Ellen Foster 2012-12-01 14:49:29 UTC
Hmm, weird -- it installs cleanly on my laptop, which has a fresh install of Fedora 18. This is on my work desktop machine, which I just upgraded (via fedup) from F17. I'll check on Monday whether there are any weird left-over directories or symlinks hanging around ...

Comment 4 Mary Ellen Foster 2012-12-03 09:49:26 UTC
Right, it looks like my desktop machine (which was updated from F17 and previously had PyYAML-3.10-3.fc17.x86_64) has the following directory:
    /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info

If I move that directory out of the way, then the package installs cleanly. It seems that the egg-info should be a file rather than a directory; I have no idea how that directory would have got there, and I can't reproduce it by reinstalling the F17 version of the package.

Not really a python programmer, so I have no idea what's going on here. Feel free to close this as NOTABUG since it doesn't seem reproduceable.

Comment 5 Steven Hadfield 2013-01-21 18:13:06 UTC
I just upgraded from 17 to 18 using fedup and facing the same issue. 

Running Transaction
  Updating   : PyYAML-3.10-6.fc18.x86_64                                                                                                                                                                       1/2 
Error unpacking rpm package PyYAML-3.10-6.fc18.x86_64
error: unpacking of archive failed on file /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info: cpio: rename
  Verifying  : PyYAML-3.10-6.fc18.x86_64                                                                                                                                                                       1/2 
PyYAML-3.10-3.fc17.x86_64 was supposed to be removed but is not!
  Verifying  : PyYAML-3.10-3.fc17.x86_64   

I did notice some additional files: 
/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info;50fd5cf6
/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info;50fd6aa0
/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info;50fd6994
/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info;50fd8361

(I believe one for each time I've try to update the package).

But just like Mary, removing the /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info directory resolves the issue.

Comment 6 John Eckersberg 2013-01-22 15:18:16 UTC
I'm going to:

(1) install a fresh, minimal F17 vm
(2) install PyYAML on said vm
(3) update to F18 via fedup

and see where that gets us.  Stay tuned.

Comment 7 John Eckersberg 2013-01-22 17:13:31 UTC
On F17 minimal, all updates applied, forced version PyYAML-3.10-3.fc17.x86_64 as noted in comment#5:

[root@pyyaml ~]# cat /etc/fedora-release 
Fedora release 17 (Beefy Miracle)
[root@pyyaml ~]# rpm -q PyYAML
PyYAML-3.10-3.fc17.x86_64
[root@pyyaml ~]# stat /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
  File: `/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info'
  Size: 1765            Blocks: 8          IO Block: 4096   regular file
Device: fc02h/64514d    Inode: 269600      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:lib_t:s0
Access: 2012-04-27 14:44:03.000000000 -0400
Modify: 2012-04-27 14:44:03.000000000 -0400
Change: 2013-01-22 11:41:58.304014680 -0500
 Birth: -
[root@pyyaml ~]# lsattr /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
-------------e- /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
[root@pyyaml ~]# 


Next, installed fedup, did a network upgrade, everything went as planned.

On boot into F18:

[root@pyyaml ~]# cat /etc/fedora-release 
Fedora release 18 (Spherical Cow)
[root@pyyaml ~]# rpm -q PyYAML
PyYAML-3.10-6.fc18.x86_64
[root@pyyaml ~]# stat /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
  File: ‘/usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info’
  Size: 1765            Blocks: 8          IO Block: 4096   regular file
Device: fc02h/64514d    Inode: 268453      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:lib_t:s0
Access: 2012-08-04 06:38:03.000000000 -0400
Modify: 2012-08-04 06:38:03.000000000 -0400
Change: 2013-01-22 11:57:31.288071354 -0500
 Birth: -
[root@pyyaml ~]# lsattr /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
-------------e-- /usr/lib64/python2.7/site-packages/PyYAML-3.10-py2.7.egg-info
[root@pyyaml ~]# 


So during fedup, PyYAML was updated (successfully) from PyYAML-3.10-3.fc17.x86_64 to PyYAML-3.10-6.fc18.x86_64.

I still don't know why the egg-info file would be a directory instead of a regular file.

Comment 8 Fedora End Of Life 2013-04-03 19:23:45 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 9 Matt Riedemann 2014-09-29 18:40:23 UTC
I've seen people hit this issue when they have pips installed via pip install and then try to install RPMs, the egg-info is a file in one and a directory in the other which fails the RPM install.

Comment 10 John Eckersberg 2014-09-29 21:23:29 UTC
(In reply to Matt Riedemann from comment #9)
> I've seen people hit this issue when they have pips installed via pip
> install and then try to install RPMs, the egg-info is a file in one and a
> directory in the other which fails the RPM install.

Yep, that's what was determined over in bug 1068846, same thing except for EPEL5.