summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/package.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-13 22:46:18 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-14 14:42:18 +0000
commitc90246caeb7bcde0f7c60dc748dbb0207eedfb70 (patch)
tree032fa11ef5d3f1f8a44be4052a7897987db24e31 /meta/lib/oe/package.py
parent4c09a95767d278f969d6f725c892547935e2fd58 (diff)
downloadpoky-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/lib/oe/package.py')
-rw-r--r--meta/lib/oe/package.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 0ca41aa91c..52c5f16cf8 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -57,7 +57,7 @@ def file_translate(file):
57def filedeprunner(arg): 57def filedeprunner(arg):
58 import re, subprocess, shlex 58 import re, subprocess, shlex
59 59
60 (pkg, pkgfiles, rpmdeps, pkgdest) = arg 60 (pkg, pkgfiles, rpmdeps, pkgdest, magic) = arg
61 provides = {} 61 provides = {}
62 requires = {} 62 requires = {}
63 63
@@ -90,8 +90,11 @@ def filedeprunner(arg):
90 90
91 return provides, requires 91 return provides, requires
92 92
93 env = os.environ.copy()
94 env["MAGIC"] = magic
95
93 try: 96 try:
94 dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE) 97 dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE, env=env)
95 provides, requires = process_deps(dep_popen.stdout, pkg, pkgdest, provides, requires) 98 provides, requires = process_deps(dep_popen.stdout, pkg, pkgdest, provides, requires)
96 except OSError as e: 99 except OSError as e:
97 bb.error("rpmdeps: '%s' command failed, '%s'" % (shlex.split(rpmdeps) + pkgfiles, e)) 100 bb.error("rpmdeps: '%s' command failed, '%s'" % (shlex.split(rpmdeps) + pkgfiles, e))