Red Hat Bugzilla – Bug 489718
Failing to replace an identical file/directory when upgrading causes rpm to fail
Last modified: 2013-03-03 21:48:02 EST
Description of problem:
The problem occurred when our customer tried to upgrade the "filesystem" package on a setup where /home is NFS mounted without no_root_squash option.
rpm (via cpio) tried to replace the /home directory but failed to chown() the directory and therfore failed to upgrade the package.
While this sounds the right thing to do in the common case (ie fail if the directory/file cannot be upgraded), rpm could avoid that problem by checking first if the file (or directory) to be written is identical to the one in the cpio archive.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. mount /home via NFS without the "no_root_squash" option
2. rpm -Uvh filesystem*.rpm
error: unpacking of archive failed on file /home: cpio: chown failed - Operation not permitted
rpm does not try to replace the directory if it has the same flags/modes/uid/gid
*** This bug has been marked as a duplicate of bug 483071 ***