From 6f60d91adcd01f1338e62bc70004b6407f4ecd3f Mon Sep 17 00:00:00 2001 From: Zhixiong Chi Date: Mon, 5 Sep 2016 12:08:13 +0800 Subject: 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 Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- ...-ensure-rpm2cpio-call-rpm-relocation-code.patch | 25 ++++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.16.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-devtools/rpm/rpm/rpm-ensure-rpm2cpio-call-rpm-relocation-code.patch (limited to 'meta/recipes-devtools') 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 0000000000..63af100245 --- /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 +Signed-off-by: Zhixiong Chi +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 b737b9c107..2ffb3aa5cd 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 -- cgit v1.2.3-54-g00ecf