FS#50875 - pacman removes twice the same conflicting/to-be-replaced package
Attached to Project:
Pacman
Opened by Christos Nouskas (nous) - Thursday, 22 September 2016, 20:51 GMT
Last edited by Andrew Gregory (andrewgregory) - Tuesday, 25 December 2018, 18:12 GMT
Opened by Christos Nouskas (nous) - Thursday, 22 September 2016, 20:51 GMT
Last edited by Andrew Gregory (andrewgregory) - Tuesday, 25 December 2018, 18:12 GMT
|
Details
This report is about AUR packages hosted in unofficial user
repos.
There's dbus-openrc-1.10.10-5 installed, which on -Syu is to be replaced by dbus-openrc-20160917-2. The latter replaces/conflicts with the former and depends on dbus-nosystemd (1.10.10-4). For the sake of clarity, dbus-openrc-1.10.10 is both dbus-nosystemd + dbus-openrc initscript. Pacman asks whether to replace dbus-openrc with openrc-eudev/dbus-openrc and informs of the following: :: Replace dbus-openrc with openrc-eudev/dbus-openrc? [Y/n] resolving dependencies... looking for conflicting packages... Packages (3) dbus-nosystemd-1.10.10-4 dbus-openrc-20160917-2 dbus-openrc-1.10.10-5 [removal] :: Processing package changes... (1/1) removing dbus-openrc [---------] 100% (1/2) installing dbus-nosystemd [---------] 100% error: could not remove database entry dbus-openrc-1.10.10-5 error: could not remove entry 'dbus-openrc' from cache (2/2) upgrading dbus-openrc [---------] 100% Running pacman with --debug, I see: 1. dbus-openrc-1.10.10-5 being removed 2. dbus-nosystemd being installed 3. dbus-openrc-20160917 being upgraded, but only after dbus-openrc-1.10.10-5 is removed again (debug: removing old package first) Step 3 removes all dbus-nosystemd's files common to dbus-openrc-1.10.10. However, if I upgrade with just 'pacman -S dbus-openrc', the operation completes successfully because the installation order is changed and dbus-nosystemd is installed second, after the old dbus-openrc is removed. Please, see the attached debug log (a shorter version for easier reading also included). I know this is a rare case (and in unofficial repos at that), but shouldn't pacman keep a record of removed packages until the upgrade operation is finished and not remove the same package again later? |
This task depends upon
Closed by Andrew Gregory (andrewgregory)
Tuesday, 25 December 2018, 18:12 GMT
Reason for closing: Fixed
Additional comments about closing: v5.1.2
Tuesday, 25 December 2018, 18:12 GMT
Reason for closing: Fixed
Additional comments about closing: v5.1.2
Comment by Doug Newgard (Scimmia) -
Thursday, 22 September 2016, 23:30 GMT
Comment by Allan McRae (Allan) -
Thursday, 22 September 2016, 23:41 GMT
Comment by Christos Nouskas (nous) -
Friday, 23 September 2016, 21:35 GMT
You're replacing dbus-openrc with dbus-openrc? Does that make any
sense at all?
I guess the simple fix is to filter stupid replaces...
The versioned replaces() was introduced at an earlier time, when
1.x.y was needed in order to update over previously timestamped
versioning and, well, was forgotten there. Updated package with
removed replaces() works as expected; thanks for assigning.