]> code.ossystems Code Review - openembedded-core.git/commit
rpm: fix file conflicts for MIPS64 N32
authorChangqing Li <changqing.li@windriver.com>
Fri, 8 May 2020 02:30:32 +0000 (10:30 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 9 May 2020 17:55:44 +0000 (18:55 +0100)
commitf94511fe5c163de8fb34d00ff3ba995437c3922c
treed94f4ca8fc2cc467588ec7501c5e0bc441dd0937
parentfacc8a5859d95c416aff8313bec3f3a6d5ef5fec
rpm: fix file conflicts for MIPS64 N32

The following error occurred when prefer_color set to 2:
Error: Transaction check error:
  file /sbin/ldconfig conflicts between attempted installs of
ldconfig-2.31+git0+71f2b249a2-r0.mips64_n32 and
lib32-ldconfig-2.31+git0+71f2b249a2-r0.mips32r2
  file /usr/bin/gencat conflicts between attempted installs of
lib32-libc6-utils-2.31+git0+71f2b249a2-r0.mips32r2
...

This was because:
transactions_color = 001 (ELF32) & 010 (ELF64) & 100 (ELF32 N32 MIPS64)
FColor = Current file color (001) & transaction_color (111)
oFcolor = Previous file color (100) & transaction_color (111)

when "neither preferred" happened, handled as conflicts. this is too
restrictive for three way conflicts(mips64/mips64 n32/mips(32)).
Fixed by  perform a 'last-in-wins' resolution when "neither is preferred".

refer:
https://github.com/rpm-software-management/rpm/issues/193
https://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/rpm?id=36c225704daa58b98a4b7f2ef315eb944d8628b5

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch [new file with mode: 0644]
meta/recipes-devtools/rpm/rpm_4.15.1.bb