> Description of problem: yum fails to delete files when uninstalling both multilib packages in the same transaction. > Version-Release number of selected component (if applicable): yum-3.2.22-39.el5. > How reproducible: Always. > Steps to Reproduce: 1. yum install metacity 2. yum remove metacity 3. ls -l /usr/bin/metacity > Actual results: -rwxr-xr-x 1 root root 518528 Jul 13 2010 /usr/bin/metacity > Expected results: ls: /usr/bin/metacity: No such file or directory > Additional info: Removing each package individually in separate transactions removes the binaries: # yum install metacity # yum remove metacity.x86_64 # yum remove metacity.i386 # ls -l /usr/bin/metacity ls: /usr/bin/metacity: No such file or directory # yum install metacity # yum remove metacity.i386 # yum remove metacity.x86_64 # ls -l /usr/bin/metacity ls: /usr/bin/metacity: No such file or directory
Reassigning to rpm component: # yum install metacity # rpm -e metacity.i386 metacity.x86_64 # ls -l /usr/bin/metacity -rwxr-xr-x 1 root root 518528 Jul 13 2010 /usr/bin/metacity # yum install metacity # rpm -e metacity.x86_64 metacity.i386 # ls -l /usr/bin/metacity ls: /usr/bin/metacity: No such file or directory
Created attachment 570031 [details] rpm command that doesn't delete the binary files D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth) D: 0 0 0 1 1 0 -metacity-2.16.0-16.el5.x86_64 D: ========== successors only (0 bytes) D: 1 0 0 0 1 1 -metacity-2.16.0-16.el5.i386 [...] D: erase: %preun(metacity-2.16.0-16.el5.x86_64) asynchronous scriptlet start [...] D: fini 100755 1 ( 0, 0) 25336 /usr/bin/metacity-window-demo skip D: fini 100755 1 ( 0, 0) 28968 /usr/bin/metacity-theme-viewer skip D: fini 100755 1 ( 0, 0) 7304 /usr/bin/metacity-message skip D: fini 100755 1 ( 0, 0) 518528 /usr/bin/metacity skip [...] D: erase: %preun(metacity-2.16.0-16.el5.i386) synchronous scriptlet start [...] D: fini 100755 1 ( 0, 0) 25336 /usr/bin/metacity-window-demo unknown D: fini 100755 1 ( 0, 0) 28968 /usr/bin/metacity-theme-viewer unknown D: fini 100755 1 ( 0, 0) 7304 /usr/bin/metacity-message unknown D: fini 100755 1 ( 0, 0) 518528 /usr/bin/metacity unknown
Created attachment 570032 [details] rpm command that deletes the binary files D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth) D: 0 0 0 0 1 0 -metacity-2.16.0-16.el5.x86_64 D: ========== successors only (0 bytes) D: 1 0 0 1 1 1 -metacity-2.16.0-16.el5.i386 [...] D: erase: %preun(metacity-2.16.0-16.el5.i386) asynchronous scriptlet start [...] D: fini 100755 1 ( 0, 0) 25336 /usr/bin/metacity-window-demo unknown D: fini 100755 1 ( 0, 0) 28968 /usr/bin/metacity-theme-viewer unknown D: fini 100755 1 ( 0, 0) 7304 /usr/bin/metacity-message unknown D: fini 100755 1 ( 0, 0) 518528 /usr/bin/metacity unknown [...] D: erase: %preun(metacity-2.16.0-16.el5.x86_64) synchronous scriptlet start [...] D: fini 100755 1 ( 0, 0) 25336 /usr/bin/metacity-window-demo D: fini 100755 1 ( 0, 0) 28968 /usr/bin/metacity-theme-viewer D: fini 100755 1 ( 0, 0) 7304 /usr/bin/metacity-message D: fini 100755 1 ( 0, 0) 518528 /usr/bin/metacity
Reproduced with rpm 4.4.2.3-27.el5.
FWIW, this is the same issue as bug 523980 and 680261: fixing would require backporting erasure ordering. This was considered too risky for el5 at this point in bug 523980...
Please correct if I am wrong, from what I see bz523980 took only into account the files left over from an upgrade, which could not be fixed in rpm afterwards as its to late then. Our customer here now hits the issue in day-to-day operations. Can we reevaluate with this if it makes sense to get this fixed?
The fundamental issue is the same: erasures can get done in wrong order whether update or plain erase.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux release for currently deployed products. This request is not yet committed for inclusion in a release.
This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux.
This request was evaluated by Red Hat Engineering for inclusion in a Red Hat Enterprise Linux maintenance release. Red Hat does not currently plan to provide this change in a Red Hat Enterprise Linux update release for currently deployed products. With the goal of minimizing risk of change for deployed systems, and in response to customer and partner requirements, Red Hat takes a conservative approach when evaluating enhancements for inclusion in maintenance updates for currently deployed products. The primary objectives of update releases are to enable new hardware platform support and to resolve critical defects. However, Red Hat will further review this request for potential inclusion in future major releases of Red Hat Enterprise Linux.