mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-24 08:48:50 -05:00
e378170c25
This addresses FS#24904. In a normal upgrade case, this replacement seems to work just fine. However, when doing a sync "replace" type upgrade, we weren't properly handling this edge case due to path comparison not ignoring trailing slashes. Fix this by pruning any trailing slashes past a certain point of file conflict resolution where we no longer need them, which allows us to safely detect cases such as now tested in the new pactest. Signed-off-by: Dan McGee <dan@archlinux.org>
22 lines
510 B
Python
22 lines
510 B
Python
self.description = "Fileconflict file -> dir on package replacement (FS#24904)"
|
|
|
|
lp = pmpkg("dummy")
|
|
lp.files = ["dir/filepath",
|
|
"dir/file"]
|
|
self.addpkg2db("local", lp)
|
|
|
|
p1 = pmpkg("replace")
|
|
p1.provides = ["dummy"]
|
|
p1.replaces = ["dummy"]
|
|
p1.files = ["dir/filepath/",
|
|
"dir/filepath/file",
|
|
"dir/file",
|
|
"dir/file2"]
|
|
self.addpkg2db("sync", p1)
|
|
|
|
self.args = "-Su"
|
|
|
|
self.addrule("PACMAN_RETCODE=0")
|
|
self.addrule("!PKG_EXIST=dummy")
|
|
self.addrule("PKG_EXIST=replace")
|