Bug 646523

Summary: rpm can't change symlink to directory
Product: [Fedora] Fedora Reporter: Hicham HAOUARI <hicham.haouari>
Component: rpmAssignee: Florian Festi <ffesti>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: cfeller, fedoraproject, ffesti, jnovy, pmatilai, zbyszek
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-03 06:40:21 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:
Bug Depends On:    
Bug Blocks: 646185    

Description Hicham HAOUARI 2010-10-25 15:00:32 UTC
Description of problem:
while trying to update mozilla-firetray-sunbird to fix bug 646185, i faced this conflict error :

**********************************************************************
#
[root@localhost i686]# rpm -Uvh mozilla-firetray-sunbird-0.2.8-3*.rpm
#
Preparing... ########################################### [100%]
#
file /usr/lib/mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/{9533f794-00b4-4354-aa15-c2bbda6989f8}/components/libnptray.so from install of mozilla-firetray-sunbird-0.2.8-3.fc14.i686 conflicts with file from package mozilla-firetray-core-0.2.8-3.fc14.i686
#
file /usr/lib/mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/{9533f794-00b4-4354-aa15-c2bbda6989f8}/components/nsIMinimize.xpt from install of mozilla-firetray-sunbird-0.2.8-3.fc14.i686 conflicts with file from package mozilla-firetray-core-0.2.8-3.fc14.i686
#
file /usr/lib/mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/{9533f794-00b4-4354-aa15-c2bbda6989f8}/components/nsITray.xpt from install of mozilla-firetray-sunbird-0.2.8-3.fc14.i686 conflicts with file from package mozilla-firetray-core-0.2.8-3.fc14.i686
#
file /usr/lib/mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/{9533f794-00b4-4354-aa15-c2bbda6989f8}/components/nsMinimize.js from install of mozilla-firetray-sunbird-0.2.8-3.fc14.i686 conflicts with file from package mozilla-firetray-core-0.2.8-3.fc14.i686
******************************************************************************

in version 0.2.8-2 :
- %{mz_ext_dir}%{sb_guid}%{ft_guid} is a symlink to %{_libdir}/mozilla-firetray-%{version}

in version 0.2.8-3 :
- %{mz_ext_dir}%{sb_guid}%{ft_guid} is a directory containing symlinks to files and subdirectories in %{_libdir}/mozilla-firetray-%{version}

which owns which :
%{mz_ext_dir}%{sb_guid}%{ft_guid} is owned by mozilla-firetray-sunbird
%{_libdir}/mozilla-firetray-%{version} is owned by mozilla-firetray-core

Version-Release number of selected component (if applicable):
rpm-4.8.1-5.fc14.i686

How reproducible:
Always


Additional info:
i tried :
****************************************
%pretrans sunbird
rm -f %{mz_ext_dir}%{sb_guid}%{ft_guid} 
****************************************
as well as removing %{mz_ext_dir}%{sb_guid}%{ft_guid} by hand, none have worked

Comment 1 Florian Festi 2010-10-25 15:37:49 UTC
It is possible that the problem is not the symlink being replace by a directory but that the newly created symlinks are not correctly handled. Needs further invenstigation.

Comment 2 Hicham HAOUARI 2010-10-27 12:50:29 UTC
i am using the following workaround for now :

********************************************************************
%pretrans sunbird -p <lua>
st=posix.stat("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
if st and st.type == "link" then
  os.remove("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
  posix.symlink("/dev/null","%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
end
*********************************************************************

Comment 3 Hicham HAOUARI 2010-10-28 09:00:23 UTC
Ooops, better scriptlet :

********************************************************************
%pretrans sunbird -p <lua>
st=posix.stat("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
if st and st.type == "link" then
  os.remove("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
  posix.mkdir("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
end
*********************************************************************

Comment 4 Fedora Update System 2010-10-28 10:50:18 UTC
mozilla-firetray-0.2.8-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/mozilla-firetray-0.2.8-3.fc14

Comment 5 Hicham HAOUARI 2010-10-28 11:01:55 UTC
(In reply to comment #4)
> mozilla-firetray-0.2.8-3.fc14 has been submitted as an update for Fedora 14.
> https://admin.fedoraproject.org/updates/mozilla-firetray-0.2.8-3.fc14

sorry for this, i confused bug numbers

Comment 6 Fedora End Of Life 2012-08-16 22:32:00 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Zbigniew Jędrzejewski-Szmek 2015-10-04 14:46:23 UTC
So, this still certain happens with recent rpm, e.g. rpm-4.12.0.1-12.fc22.x86_64.

There are documented workarounds, https://fedoraproject.org/wiki/Packaging:Directory_Replacement, but people are still confused by this, the error messages from rpm do not provide a good explanation, and it would be much better to solve it once in rpm instead of asking hundreds of package maintainers to work around the problem with shoddy scriptlets.

Comment 8 Jan Kurik 2015-12-22 11:30:47 UTC
This bug is currently assigned to an unsupported release. If you think this bug is still valid and should remain open, please re-assign it to a supported release (F22, F23) or to rawhide.

Bugs which will be assigned to an unsupported release are going to be closed as EOL (End Of Life) on January 26th, 2016.

Comment 9 Panu Matilainen 2016-10-03 06:40:21 UTC

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

Comment 10 Florian Festi 2016-10-24 12:10:15 UTC
Remove needinfo.