Skip to contentSkip to conversation

Fix run-time relocation of rpm-native

PATCH New Mark Hatle 1 participant 2 messages Feb 1, 2011

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

cover Fix run-time relocation of rpm-native

Fix runtime relocation of rpm-native, bug 668.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: mhatle/rpm5
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/rpm5

Thanks,
Mark Hatle <[email protected]>
---

Mark Hatle (1):
rpm: Add relocation to rpm-native

 meta/recipes-devtools/rpm/rpm_5.4.0.bb    |   28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
Signature · 1 line
1.7.3.4
author
#1 lore raw

PATCH 1/1 rpm: Add relocation to rpm-native

BUG 668

Use the create_wrapper to setup automatic run-time relocation of rpm-native.

---
 meta/recipes-devtools/rpm/rpm_5.4.0.bb |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)
meta/recipes-devtools/rpm/rpm_5.4.0.bb +27 -1
index 0f3425f..09d1fc0 100644
@@ -43,7 +43,7 @@ LICENSE = "LGPL 2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt"
-PR = "r9"
+PR = "r10"
 
 # rpm2cpio is a shell script, which is part of the rpm src.rpm.  It is needed
 # in order to extract the distribution SRPM into a format we can extract...
@@ -430,4 +430,30 @@ do_install_append() {
 	rm -f ${D}/${libdir}/rpm/libsqldb.*
 }
 
+do_install_append_virtclass-native() {
+        create_wrapper ${D}/${bindir}/rpm \
+		RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+		RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+		RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+        create_wrapper ${D}/${bindir}/rpm2cpio \
+		RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+		RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+		RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+        create_wrapper ${D}/${bindir}/rpmbuild \
+		RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+		RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+		RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+        create_wrapper ${D}/${bindir}/rpmconstant \
+		RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+		RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+		RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+	# Adjust popt macros to match...
+	cat ${D}/${libdir}/rpm/rpmpopt | sed -e "s,^\(rpm[^ 	]*\)\([ 	]\),\1.real\2," > ${D}/${libdir}/rpm/rpmpopt.new
+	mv ${D}/${libdir}/rpm/rpmpopt.new ${D}/${libdir}/rpm/rpmpopt
+}
+
 BBCLASSEXTEND = "native"
Signature · 1 line
1.7.3.4