FS#33860 - File conflict between curl and lib32-curl

Attached to Project: Arch Linux
Opened by Ondřej Konečný (andrew9888) - Thursday, 14 February 2013, 12:28 GMT
Last edited by Dave Reisner (falconindy) - Thursday, 14 February 2013, 14:59 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
I cannot update lib32-curl because of it has a file conflict with curl. The file is /usr/share/licenses/lib32-curl/COPYING and is owned by curl.

Additional info:
* package version(s)
lib32-curl 7.28.1-1 => 7.29.0-2
curl 7.29.0-2

* config and/or log files etc.

pacman output:
error: failed to commit transaction (conflicting files)
lib32-curl: /usr/share/licenses/lib32-curl/COPYING exists in filesystem
Errors occurred, no packages were upgraded.

pacman -Qo /usr/share/licenses/lib32-curl/COPYING:
/usr/share/licenses/lib32-curl/COPYING is owned by curl 7.29.0-2

Steps to reproduce:
1) Have curl 7.29.0-2 installed.
2) Have lib32-curl 7.28.1-1 installed.
3) Do pacman -Syu, it fails because of the conflicting file.
This task depends upon

Closed by  Dave Reisner (falconindy)
Thursday, 14 February 2013, 14:59 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#33853 
Comment by Stig (HpX) - Thursday, 14 February 2013, 13:41 GMT
sudo mv /usr/share/licenses/lib32-curl/COPYING /usr/share/licenses/lib32-curl/COPYING.old
And then
sudo pacman -Syu
Did it for me..
Comment by Dave Reisner (falconindy) - Thursday, 14 February 2013, 13:48 GMT
This file is definitely NOT owned by core/curl on my system. It doesn't even exist.

$ pacman -Qo /usr/share/licenses/lib32-curl/COPYING
error: failed to read file '/usr/share/licenses/lib32-curl/COPYING': No such file or directory

Does 'grep lib32 /var/lib/pacman/local/curl-7.29.0-2/files' return anything?
Comment by Christian (close2) - Thursday, 14 February 2013, 14:12 GMT
the file is owned by curl because lib32-curl symlinks to curl:

ls -l /usr/share/licenses/lib32-curl
lrwxrwxrwx 1 root root 4 Feb 11 17:50 /usr/share/licenses/lib32-curl -> curl

removing lib32-curl and reinstalling worked for me.
I guess the easiest workaround would be to simply delete the symlink before updating.
Comment by Dave Reisner (falconindy) - Thursday, 14 February 2013, 14:20 GMT
No, deleting the symlink is harmful. I fail to see where this is a symlink in the lib32-curl package.

I still can't reproduce anything here.
Comment by Dave Reisner (falconindy) - Thursday, 14 February 2013, 14:22 GMT
To be clear...

$ ls -il /usr/share/licenses/{,lib32-}curl/
/usr/share/licenses/curl/:
total 4
14449 -rw-r--r-- 1 root root 1044 Feb 11 06:02 COPYING

/usr/share/licenses/lib32-curl/:
total 4
23097 -rw-r--r-- 1 root root 1044 Feb 13 18:18 COPYING

Notice the different inodes...

Loading...