File conflict when upgrading package

Sandro Mani manisandro at gmail.com
Sun Nov 17 21:23:15 UTC 2013


On 17.11.2013 22:18, Reindl Harald wrote:
> Am 17.11.2013 22:12, schrieb Sandro Mani:
>> On 17.11.2013 22:07, Reindl Harald wrote:
>>> Am 17.11.2013 22:02, schrieb Sandro Mani:
>>>> On 17.11.2013 22:00, Reindl Harald wrote:
>>>>> Am 17.11.2013 21:47, schrieb Sandro Mani:
>>>>>> There was an incorrect desktop-file-install call in a package I maintain, i.e.
>>>>>>
>>>>>> |desktop-file-install --dir=%{buildroot}%{_datadir}/applications/%{name}.desktop %{SOURCE1}
>>>>>>
>>>>>> which caused the .desktop file to get installed to
>>>>>>
>>>>>> /usr/share/applications/%{name}.desktop/%{name}.desktop
>>>>>>
>>>>>> I fixed the syntax (by removing the %{name}.desktop part), but now when upgrading the package I get
>>>>>> |
>>>>>>
>>>>>> Transaction check error:
>>>>>>      file /usr/share/applications/xflr5.desktop from install of xflr5-6.09.05-5.fc21.x86_64 conflicts with file
>>>>>> from
>>>>>> package xflr5-6.09.05-4.fc21.x86_64
>>>>>>
>>>>>> How can I make the update work smoothly? I tried explicitly specifying Conflicts: xflr5 < 5.09.05-5, but it
>>>>>> did not
>>>>>> help.
>>>>> xflr5-6.09.05-4.fc21.x86_64
>>>>> xflr5-6.09.05-5.fc21.x86_64
>>>>>
>>>>> why in the world do you specify any conflicts for a ordinary update?
>>>>>
>>>> I didn't do it in the package in the repos. It was just something I tried locally when trying to find a way to make
>>>> the update work, since I ran out of ideas how to solve it otherwise
>>> please describe the *real* problem without hacks
>>>
>> xflr5-6.09.05-4.fc21.x86_64 had an incorrect desktop-file-install call in the spec file, namely
>> desktop-file-install --dir=%{buildroot}%{_datadir}/applications/%{name}.desktop %{SOURCE1}
>> which caused the desktop file to get installed to /usr/share/applications/xflr5.desktop/xflr5.desktop
>>
>> In xflr5-6.09.05-5.fc21.x86_64, I fixed the desktop-file-install call to
>> desktop-file-install --dir=%{buildroot}%{_datadir}/applications/ %{SOURCE1}
>> so that the desktop file is correctly installed to
>> /usr/share/applications/xflr5.desktop
>>
>> Upgrading from xflr5-6.09.05-4.fc21.x86_64 to xflr5-6.09.05-5.fc21.x86_64 however fails with
>> Transaction check error:
>>     file /usr/share/applications/xflr5.desktop from install of xflr5-6.09.05-5.fc21.x86_64 conflicts with file from
>> package xflr5-6.09.05-4.fc21.x86_64
> can you please provide both SPEC files
>
> i still do not get why there can be any conflict
> this is not a common behavior in changed %files section for whatever reason
> no longer listed files are supposed to be removed without any noise
>
>
-4 spec file: 
http://pkgs.fedoraproject.org/cgit/xflr5.git/tree/xflr5.spec?id=510af4da0c081c0b70ec03a35d8878053e5e87d0
-5 spec file: http://pkgs.fedoraproject.org/cgit/xflr5.git/tree/xflr5.spec

I guess this could be an rpm bug, specifically when a directory is 
replaced with a file with the same name when the package is upgraded?



More information about the devel mailing list