[gnome-continuous-yocto/gnomeostree-3.22-krogoth: 53/246] rpm: ensure rpm2cpio call rpm relocation code



commit 6f60d91adcd01f1338e62bc70004b6407f4ecd3f
Author: Zhixiong Chi <Zhixiong Chi windriver com>
Date:   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.
    
    (From OE-Core rev: aea2bf5c8101ac0bb27776a5614be345835c4a03)
    
    (From OE-Core rev: b55e1de5b7371e06ec999fdf588052b4babbc3d2)
    
    Signed-off-by: Zhixiong Chi <Zhixiong Chi windriver com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
    Signed-off-by: Armin Kuster <akuster808 gmail com>
    Signed-off-by: Richard Purdie <richard purdie 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(+), 0 deletions(-)
---
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 linuxfoundation org>
+Signed-off-by: Zhixiong Chi <zhixiong chi 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 b737b9c..2ffb3aa 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]