Patchwork [16/22] python-smartpm: allow setting arbitrary macros in smart config

login
register
mail settings
Submitter Mark Hatle
Date Dec. 4, 2012, 5:14 p.m.
Message ID <7bc8c43b4ad34ba85f5693d410cd7e6ee5dd11f6.1354641032.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/40327/
State Accepted
Commit b3744b7ead92ad618c2e1b5ad5dcda6f85b8f779
Headers show

Comments

Mark Hatle - Dec. 4, 2012, 5:14 p.m.
From: Paul Eggleton <paul.eggleton@linux.intel.com>

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.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../python-smartpm/smart-rpm-extra-macros.patch    |   27 ++++++++++++++++++++
 .../python/python-smartpm_1.4.1.bb                 |    1 +
 2 files changed, 28 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch

Patch

diff --git a/meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch b/meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch
new file mode 100644
index 0000000..30cb176
--- /dev/null
+++ b/meta/recipes-devtools/python/python-smartpm/smart-rpm-extra-macros.patch
@@ -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
+
diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
index 72a307d..4694d51 100644
--- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
+++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
@@ -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 \