Bug 489718

Summary: Failing to replace an identical file/directory when upgrading causes rpm to fail
Product: Red Hat Enterprise Linux 5 Reporter: Olivier Fourdan <ofourdan>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED DUPLICATE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: kem
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-07 15:27:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Olivier Fourdan 2009-03-11 15:15:43 UTC
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):

rpm-4.4.2-48.el5

How reproducible:

100% reproducible

Steps to Reproduce:
1. mount /home via NFS without the "no_root_squash" option
2. rpm -Uvh filesystem*.rpm
  
Actual results:

error: unpacking of archive failed on file /home: cpio: chown failed - Operation not permitted

Expected results:

rpm does not try to replace the directory if it has the same flags/modes/uid/gid

Additional info:

Comment 2 Panu Matilainen 2009-04-07 15:27:54 UTC

*** This bug has been marked as a duplicate of bug 483071 ***