46 lines
1.7 KiB
Diff
46 lines
1.7 KiB
Diff
|
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>
|
||
|
|
||
|
[sgw - Added try/catch for rpm4 since it does not have setDFlags() API]
|
||
|
|
||
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
||
|
|
||
|
|
||
|
Index: smart-1.4.1/smart/backends/rpm/pm.py
|
||
|
===================================================================
|
||
|
--- smart-1.4.1.orig/smart/backends/rpm/pm.py
|
||
|
+++ smart-1.4.1/smart/backends/rpm/pm.py
|
||
|
@@ -106,6 +106,26 @@ class RPMPackageManager(PackageManager):
|
||
|
flags |= rpm.RPMTRANS_FLAG_TEST
|
||
|
ts.setFlags(flags)
|
||
|
|
||
|
+ try:
|
||
|
+ 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)
|
||
|
+ except AttributeError, ae:
|
||
|
+ pass
|
||
|
+
|
||
|
# Set rpm verbosity level.
|
||
|
levelname = sysconf.get('rpm-log-level')
|
||
|
level = {
|