diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-13 22:46:18 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-14 14:42:18 +0000 |
commit | c90246caeb7bcde0f7c60dc748dbb0207eedfb70 (patch) | |
tree | 032fa11ef5d3f1f8a44be4052a7897987db24e31 /meta/classes/package.bbclass | |
parent | 4c09a95767d278f969d6f725c892547935e2fd58 (diff) | |
download | poky-c90246caeb7bcde0f7c60dc748dbb0207eedfb70.tar.gz |
package: Fix various rpmdeps relocation issues
There are several issues with rpmdeps after the rpm v5 -> v4 transition:
* _rpmfc_magic_path is an invalid option for rpm4
* --rpmpopt is an invalid option for rpm4
* we need to use the path to rpmrc since otherwise it poitns at the
original build path
* we need to set MAGIC in the environment so libmagic can find its
files.
This patch addresses those and ensures rpmdeps works in relocated builds
from sstate (or with rm_work).
(From OE-Core rev: 806e37264d7102ae982867350ad8363ed3e5f475)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 48fef97251..871263f086 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -1433,7 +1433,7 @@ if [ x"$D" = "x" ]; then | |||
1433 | fi | 1433 | fi |
1434 | } | 1434 | } |
1435 | 1435 | ||
1436 | RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmfc_magic_path ${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc' --rpmpopt ${STAGING_LIBDIR_NATIVE}/rpm/rpmpopt" | 1436 | RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --rcfile ${STAGING_LIBDIR_NATIVE}/rpm/rpmrc --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmconfigdir ${STAGING_LIBDIR_NATIVE}/rpm/'" |
1437 | 1437 | ||
1438 | # Collect perfile run-time dependency metadata | 1438 | # Collect perfile run-time dependency metadata |
1439 | # Output: | 1439 | # Output: |
@@ -1450,6 +1450,7 @@ python package_do_filedeps() { | |||
1450 | pkgdest = d.getVar('PKGDEST') | 1450 | pkgdest = d.getVar('PKGDEST') |
1451 | packages = d.getVar('PACKAGES') | 1451 | packages = d.getVar('PACKAGES') |
1452 | rpmdeps = d.getVar('RPMDEPS') | 1452 | rpmdeps = d.getVar('RPMDEPS') |
1453 | magic = d.expand("${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc") | ||
1453 | 1454 | ||
1454 | def chunks(files, n): | 1455 | def chunks(files, n): |
1455 | return [files[i:i+n] for i in range(0, len(files), n)] | 1456 | return [files[i:i+n] for i in range(0, len(files), n)] |
@@ -1461,7 +1462,7 @@ python package_do_filedeps() { | |||
1461 | if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'): | 1462 | if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'): |
1462 | continue | 1463 | continue |
1463 | for files in chunks(pkgfiles[pkg], 100): | 1464 | for files in chunks(pkgfiles[pkg], 100): |
1464 | pkglist.append((pkg, files, rpmdeps, pkgdest)) | 1465 | pkglist.append((pkg, files, rpmdeps, pkgdest, magic)) |
1465 | 1466 | ||
1466 | processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner) | 1467 | processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner) |
1467 | 1468 | ||