[oe-commits] [openembedded-core] 01/08: rpm: ensure rpm2cpio call rpm relocation code

git at git.openembedded.org git at git.openembedded.org
Mon Sep 5 16:46:27 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 481bc7672b63c7b4eaf8ceb97944760ef5dd4599
Author: Zhixiong Chi <Zhixiong.Chi at windriver.com>
AuthorDate: Mon Sep 5 12:08:13 2016 +0800

    rpm: ensure rpm2cpio call rpm relocation code
    
    We need to call rpmcliInit to ensure the rpm relocation code is called.
    when we allow rpm2cpio to be relocatable, The adjusted path used to find
    the macro files was being built into the binary and this path was valid
    for the machine it was built on and some of our other build machines,
    but invalid on some others, and was not being properly overridden at
    runtime.
    
    when we export the wrsdk and source the sdk, then execute rpm2cpio xxx.rpm|cpio -t.
    we will get the following error :
    "rpm-5.4.14/rpmdb/dbconfig.c:493:
    db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed.
    
    Signed-off-by: Zhixiong Chi <Zhixiong.Chi at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 ...-ensure-rpm2cpio-call-rpm-relocation-code.patch | 25 ++++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.16.bb            |  1 +
 2 files changed, 26 insertions(+)

diff --git a/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch b/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch
new file mode 100644
index 0000000..63af100
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch
@@ -0,0 +1,25 @@
+We need to call rpmcliInit to ensure the rpm relocation code is called
+and it correctly honours the relocation environmental variables.
+
+when we export the wrsdk and source the sdk, then execute rpm2cpio xxx.rpm|cpio -t.
+we will get the following error :
+"rpm-5.4.14/rpmdb/dbconfig.c:493:
+db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
+Signed-off-by: Zhixiong Chi <zhixiong.chi at windriver.com>
+Index: rpm-5.4.15/tools/rpm2cpio.c
+===================================================================
+--- rpm-5.4.15.orig/tools/rpm2cpio.c	2012-04-27 01:46:51.000000000 +0800
++++ rpm-5.4.15/tools/rpm2cpio.c	2016-09-05 11:07:30.419903338 +0800
+@@ -87,6 +87,8 @@
+ #endif
+ 	(void) rpmtsSetVSFlags(ts, vsflags);
+ 
++	rpmcliInit(argc, argv, NULL);
++
+ 	/*@-mustmod@*/      /* LCL: segfault */
+ 	rc = rpmReadPackageFile(ts, fdi, "rpm2cpio", &h);
+ 	/*@=mustmod@*/
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
index 84adef6..55acd25 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
@@ -118,6 +118,7 @@ SRC_URI += " \
 	   file://0001-Disable-__sync_add_and_fetch_8-on-nios2.patch \
 	   file://gcc6-stdlib.patch \
 	   file://0001-system.h-query.c-support-nosignature.patch \
+	   file://rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch \
 "
 
 # OE specific changes

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list