Bug 1028147 - firefox package cannot be upgraded or reinstalled
firefox package cannot be upgraded or reinstalled
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: firefox (Show other bugs)
7.0
All Linux
unspecified Severity medium
: rc
: ---
Assigned To: Martin Stransky
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-07 13:48 EST by Stephen Tweedie
Modified: 2013-11-12 05:11 EST (History)
0 users

See Also:
Fixed In Version: firefox-24.1.0-3.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-12 05:11:54 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stephen Tweedie 2013-11-07 13:48:15 EST
Description of problem:
firefox-24 can be installed only once; any update or reinstall after that will fail with a rpm cpio unpacking error.

Version-Release number of selected component (if applicable):
firefox-24.1.0-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
With firefox not installed:
1. yum install firefox
2. yum reinstall firefox

Actual results:
Yum command output:
--------------------------------
Running transaction
  Installing : firefox-24.1.0-2.el7.x86_64                                                    1/1 
Error unpacking rpm package firefox-24.1.0-2.el7.x86_64
error: unpacking of archive failed on file /usr/lib64/firefox/browser/defaults/preferences: cpio: rename
  Verifying  : firefox-24.1.0-2.el7.x86_64                                                    1/1 

Failed:
  firefox.x86_64 0:24.1.0-2.el7
-------------------------------- 

If firefox-24 is updated, the bulk of the files of firefox do get installed but rpmdb is left with the older version, leading to unfixable broken dependencies in rpmdn.

Expected results:
Should install.

Additional info:
The problem is the symlink /usr/lib64/firefox/browser/defaults/preferences
# ls -l /usr/lib64/firefox/browser/defaults/
total 0
lrwxrwxrwx. 1 root root 39 Nov  7 18:42 preferences -> /usr/lib64/firefox/defaults/preferences

After a reinstall, this becomes a directory, which for many years has been a fatal transition for rpm:

# ls -l /usr/lib64/firefox/browser/defaults/
total 4
drwxr-xr-x. 2 root root 4096 Nov  7 18:43 preferences
lrwxrwxrwx. 1 root root   39 Nov  7 18:43 preferences;527bdf56 -> /usr/lib64/firefox/defaults/preferences

If these entries are removed, then firefox will again reinstall perfectly, but only once, at which point the symlink is again a directory and subsequent reinstalls will again fail.

Notably, in f19 firefox, /usr/lib64/firefox/browser/defaults/preferences/ is already a directory, not a symlink, and it does not have this issue.


There is a related, closed f19 bug at bz#976420.
Comment 1 Stephen Tweedie 2013-11-07 15:40:42 EST
Bug needs fixed before rc; rpm doesn't handle changes between symlink and directory well, so updating to the fix is still going to be problematic to existing users.

Requesting rc blocker.
Comment 2 Martin Stransky 2013-11-08 04:24:11 EST
Can be reproduced locally with "rpm -ihv package_name --replacepkgs"
Comment 3 Martin Stransky 2013-11-08 05:00:51 EST
It should be fixed by  firefox-24.1.0-3.el7.
Comment 5 Stephen Tweedie 2013-11-08 06:43:23 EST
(In reply to Martin Stransky from comment #3)
> It should be fixed by  firefox-24.1.0-3.el7.

Confirmed, works for me.  After a 

# rm -rf /usr/lib64/firefox/browser/defaults/preferences*

I can update to and reinstall the new build without trouble.  Thanks!
Comment 6 Martin Stransky 2013-11-12 05:11:54 EST
Fixed in firefox-24.1.0-3.el7

Note You need to log in before you can comment on or make changes to this bug.