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/lib/oe/package.py | |
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/lib/oe/package.py')
-rw-r--r-- | meta/lib/oe/package.py | 7 |
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): | |||
57 | def filedeprunner(arg): | 57 | def 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)) |