[OE-core] [PATCH 2/2] rpm: fix file conflicts for MIPS64 N32
Robert Yang
liezhi.yang at windriver.com
Wed Dec 2 13:32:58 UTC 2015
Fixed:
1) set %_transaction_color 7 in lib/rpm/macros to install MIPS64 N32
2) smart install libc6-2.22-r0.1 at lib32_mips32r2octeon3 libc6-dbg-2.22-r0.1 at lib32_mips32r2octeon3
error: file /sbin/ldconfig conflicts between attempted installs of libc6-2.22-r0.1.lib32_mips32r2octeon3 and libc6-2.22-r0.1.octeon3_n32
error: file /sbin/.debug/ldconfig conflicts between attempted installs of libc6-dbg-2.22-r0.1.lib32_mips32r2octeon3 and libc6-dbg-2.22-r0.1.octeon3_n32
This was because when elf file is MIPS64 N32:
FColor = 0x100 & 111 = 100
Now 100 != 0 then error happened, the similar to oFColor. Check whether
FColor == 4 will fix the problem.
Note, if _transaction_color is 3, MIPS64 N32 will be skipped (pretend as
installed).
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
...ction.c-fix-file-conflicts-for-mips64-N32.patch | 43 ++++++++++++++++++++
meta/recipes-devtools/rpm/rpm_5.4.14.bb | 1 +
2 files changed, 44 insertions(+)
create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch b/meta/recipes-devtools/rpm/rpm/rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch
new file mode 100644
index 0000000..150afcf
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch
@@ -0,0 +1,43 @@
+From 67ec7531e6297200eaa97ef917d49b0a75876cb4 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang at windriver.com>
+Date: Wed, 2 Dec 2015 00:56:07 -0800
+Subject: [PATCH] lib/transaction.c: fix file conflicts for MIPS64 N32
+
+Fixed:
+1) set %_transaction_color 7 in lib/rpm/macros to install MIPS64 N32
+2) smart install libc6-2.22-r0.1 at lib32_mips32r2octeon3 libc6-dbg-2.22-r0.1 at lib32_mips32r2octeon3
+error: file /sbin/ldconfig conflicts between attempted installs of libc6-2.22-r0.1.lib32_mips32r2octeon3 and libc6-2.22-r0.1.octeon3_n32
+error: file /sbin/.debug/ldconfig conflicts between attempted installs of libc6-dbg-2.22-r0.1.lib32_mips32r2octeon3 and libc6-dbg-2.22-r0.1.octeon3_n32
+
+This was because when elf file is MIPS64 N32:
+FColor = 0x100 & 111 = 100
+Now 100 != 0 then error happened, the similar to oFColor. Check whether
+FColor == 4 will fix the problem.
+
+Note, if _transaction_color is 3, MIPS64 N32 will be skipped (pretend as
+installed).
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
+---
+ lib/transaction.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/transaction.c b/lib/transaction.c
+index fa60006..c4d84bb 100644
+--- a/lib/transaction.c
++++ b/lib/transaction.c
+@@ -420,7 +420,8 @@ assert(otherFi != NULL);
+ fi->actions[i] = FA_SKIPCOLOR;
+ rConflicts = 0;
+ } else
+- if (FColor == 0 && oFColor == 0) {
++ /* ... 4 is for MIPS64 N32, and prefcolor != 4 goes here. ... */
++ if ((FColor == 0 && oFColor == 0) || FColor == 4 || oFColor == 4) {
+ /* ... otherwise, do both, last in wins. */
+ otherFi->actions[otherFileNum] = FA_CREATE;
+ fi->actions[i] = FA_CREATE;
+--
+1.7.9.5
+
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.14.bb b/meta/recipes-devtools/rpm/rpm_5.4.14.bb
index b0e67c5..56f36bf 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.14.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.14.bb
@@ -102,6 +102,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.14-0.20131024.src.rpm;e
file://configure.ac-check-for-both-gpg2-and-gpg.patch \
file://0001-define-EM_AARCH64.patch \
file://rpm-rpmfc.c-fix-for-N32-MIPS64.patch \
+ file://rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch \
"
# Uncomment the following line to enable platform score debugging
--
1.7.9.5
More information about the Openembedded-core
mailing list