python-smartpm: allow setting arbitrary macros in smart config

Add support for an rpm-extra-macros config option which can be
used to define some extra macros that need to be set for rootfs
construction to work on the host and that don't really warrant
their own specific named config options to be created.

(From OE-Core rev: 0564f7bbe8e06868e107b70d5abbf3dd6c113bad)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2012-11-29 15:41:02 +00:00 committed by Richard Purdie
parent 8d9ee074a4
commit b3744b7ead
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,27 @@
backends/rpm: implement rpm-extra-macros option
Allow defining extra macros in the smart configuration to be passed
to rpm before opening the database.
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
diff --git a/smart/backends/rpm/base.py b/smart/backends/rpm/base.py
index b9e9cb2..234c844 100644
--- a/smart/backends/rpm/base.py
+++ b/smart/backends/rpm/base.py
@@ -53,6 +53,10 @@ def rpm_join_dbpath(root, dbpath):
return os.path.join(root, dbpath)
def getTS(new=False):
+ if sysconf.get("rpm-extra-macros"):
+ for key, value in sysconf.get("rpm-extra-macros").items():
+ rpm.addMacro(key, str(value))
+
rpm_root = os.path.abspath(sysconf.get("rpm-root", "/"))
if not hasattr(getTS, "ts") or getTS.root != rpm_root:
getTS.root = rpm_root
--
1.7.9.5

View File

@ -19,6 +19,7 @@ SRC_URI = "\
file://smartpm-rpm5-nodig.patch \
file://smart-rpm-root.patch \
file://smart-recommends.patch \
file://smart-rpm-extra-macros.patch \
file://smart-dflags.patch \
file://smart-rpm-md-parse.patch \
file://smart-tmpdir.patch \