summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-11-29 15:38:00 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-06 12:30:32 +0000
commit1f0ad78b8fa739f9a68ed4c7bfae2b6d8586fda2 (patch)
tree8b3f06938c948c359f624df4ff6011e36e598d26
parent54d227e97ff3498fc2149f96f1ca40452ad21a32 (diff)
downloadopenembedded-core-1f0ad78b8fa739f9a68ed4c7bfae2b6d8586fda2.tar.gz
openembedded-core-1f0ad78b8fa739f9a68ed4c7bfae2b6d8586fda2.tar.bz2
openembedded-core-1f0ad78b8fa739f9a68ed4c7bfae2b6d8586fda2.zip
python-smartpm: support nolinktos and noparentdirs rpm options
Allowing us to turn on these options enables installation of base-files which contains a symlink to /proc/mounts which is auto-detected as a dependency and isn't provided by any other package. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r--meta/recipes-devtools/python/python-smartpm/smart-dflags.patch40
-rw-r--r--meta/recipes-devtools/python/python-smartpm_1.4.1.bb1
2 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-smartpm/smart-dflags.patch b/meta/recipes-devtools/python/python-smartpm/smart-dflags.patch
new file mode 100644
index 0000000000..3f27262156
--- /dev/null
+++ b/meta/recipes-devtools/python/python-smartpm/smart-dflags.patch
@@ -0,0 +1,40 @@
+backends/rpm: add support for setting dependency flags
+
+This is useful for OpenEmbedded so that we can do the equivalent of
+the --nolinktos and --noparentdirs rpm command line options.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py
+index 707a146..aec82e7 100644
+--- a/smart/backends/rpm/pm.py
++++ b/smart/backends/rpm/pm.py
+@@ -106,6 +106,23 @@ class RPMPackageManager(PackageManager):
+ flags |= rpm.RPMTRANS_FLAG_TEST
+ ts.setFlags(flags)
+
++ dflags = ts.setDFlags(0)
++ if sysconf.get("rpm-noupgrade", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOUPGRADE
++ if sysconf.get("rpm-norequires", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOREQUIRES
++ if sysconf.get("rpm-noconflicts", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOCONFLICTS
++ if sysconf.get("rpm-noobsoletes", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOOBSOLETES
++ if sysconf.get("rpm-noparentdirs", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOPARENTDIRS
++ if sysconf.get("rpm-nolinktos", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOLINKTOS
++ if sysconf.get("rpm-nosuggest", False):
++ dflags |= rpm.RPMDEPS_FLAG_NOSUGGEST
++ ts.setDFlags(dflags)
++
+ # Set rpm verbosity level.
+ levelname = sysconf.get('rpm-log-level')
+ level = {
+--
+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 9ec7c7a4ec..72a307d2b7 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-dflags.patch \
file://smart-rpm-md-parse.patch \
file://smart-tmpdir.patch \
"