Bug 1028147 - firefox package cannot be upgraded or reinstalled
Summary: firefox package cannot be upgraded or reinstalled
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: firefox
Version: 7.0
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Martin Stransky
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-07 18:48 UTC by Stephen Tweedie
Modified: 2013-11-12 10:11 UTC (History)
0 users

Fixed In Version: firefox-24.1.0-3.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-12 10:11:54 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Stephen Tweedie 2013-11-07 18:48:15 UTC
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 20:40:42 UTC
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 09:24:11 UTC
Can be reproduced locally with "rpm -ihv package_name --replacepkgs"

Comment 3 Martin Stransky 2013-11-08 10:00:51 UTC
It should be fixed by  firefox-24.1.0-3.el7.

Comment 5 Stephen Tweedie 2013-11-08 11:43:23 UTC
(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 10:11:54 UTC
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.