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 [sgw - Added try/catch for rpm4 since it does not have setDFlags() API] Signed-off-by: Saul Wold 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 = {