diff options
author | Saul Wold <sgw@linux.intel.com> | 2011-09-27 13:13:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-09-28 14:58:52 +0100 |
commit | a5cf5ebd4a3d91667cd40e5d751b91facab16155 (patch) | |
tree | 1c54cd9b5d0761b8719056a961d2837b16e7e961 /meta/recipes-devtools/rpm | |
parent | 3ae6040295723a79a4dc1202992aaad6c388b797 (diff) | |
download | poky-a5cf5ebd4a3d91667cd40e5d751b91facab16155.tar.gz |
rpm: ensure that magic file is relocatable
rpm-native was reading from /usr/share/misc/magic which is wrong
it needs to be set to read from the sysroot. This also adds wrappers
to the rpm-build tools to ensure they know were to find the macros that
point to the right directories.
Fixes [YOCTO #1532]
(From OE-Core rev: e94d1e7ac1b7952690c37554e618f84b84e561a0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm_5.4.0.bb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb index a7b360d64f..356512aa5d 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.0.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb | |||
@@ -44,8 +44,8 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" | |||
44 | 44 | ||
45 | DEPENDS = "bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}" | 45 | DEPENDS = "bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}" |
46 | extrarpmdeps = "python perl" | 46 | extrarpmdeps = "python perl" |
47 | extrarpmdeps_virtclass-native = "" | 47 | extrarpmdeps_virtclass-native = "file-native" |
48 | PR = "r21" | 48 | PR = "r22" |
49 | 49 | ||
50 | # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed | 50 | # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed |
51 | # in order to extract the distribution SRPM into a format we can extract... | 51 | # in order to extract the distribution SRPM into a format we can extract... |
@@ -119,7 +119,7 @@ EXTRA_OECONF = "--verbose \ | |||
119 | ${WITH_DB} \ | 119 | ${WITH_DB} \ |
120 | ${WITH_Z} \ | 120 | ${WITH_Z} \ |
121 | --with-file \ | 121 | --with-file \ |
122 | --with-path-magic=/usr/share/misc/magic \ | 122 | --with-path-magic=%{_usrlibrpm}/../../share/misc/magic \ |
123 | --without-lua \ | 123 | --without-lua \ |
124 | --without-tcl \ | 124 | --without-tcl \ |
125 | --with-syck=internal \ | 125 | --with-syck=internal \ |
@@ -289,6 +289,7 @@ FILES_${PN}-build = "${prefix}/src/rpm \ | |||
289 | ${libdir}/rpm/vpkg-provides2.sh \ | 289 | ${libdir}/rpm/vpkg-provides2.sh \ |
290 | ${libdir}/rpm/perfile_rpmdeps.sh \ | 290 | ${libdir}/rpm/perfile_rpmdeps.sh \ |
291 | " | 291 | " |
292 | RDEPENDS_${PN}-build = "file" | ||
292 | 293 | ||
293 | #%rpmattr %{_rpmhome}/gem_helper.rb | 294 | #%rpmattr %{_rpmhome}/gem_helper.rb |
294 | #%rpmattr %{_rpmhome}/symclash.* | 295 | #%rpmattr %{_rpmhome}/symclash.* |
@@ -420,6 +421,13 @@ do_install_append_virtclass-native() { | |||
420 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 421 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ |
421 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 422 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale |
422 | 423 | ||
424 | for rpm_binary in ${D}/${libdir}/rpm/bin/rpm*; do | ||
425 | create_wrapper $rpm_binary | ||
426 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | ||
427 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | ||
428 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | ||
429 | done | ||
430 | |||
423 | # Adjust popt macros to match... | 431 | # Adjust popt macros to match... |
424 | cat ${D}/${libdir}/rpm/rpmpopt | sed -e "s,^\(rpm[^ ]*\)\([ ]\),\1.real\2," > ${D}/${libdir}/rpm/rpmpopt.new | 432 | cat ${D}/${libdir}/rpm/rpmpopt | sed -e "s,^\(rpm[^ ]*\)\([ ]\),\1.real\2," > ${D}/${libdir}/rpm/rpmpopt.new |
425 | mv ${D}/${libdir}/rpm/rpmpopt.new ${D}/${libdir}/rpm/rpmpopt | 433 | mv ${D}/${libdir}/rpm/rpmpopt.new ${D}/${libdir}/rpm/rpmpopt |