X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dak%2Fdominate.py;h=1c77ee66b09cf74476721350128db3c16bdb6a13;hb=f01b13ab05dcfc8ccebb8eaba3362f70b3018809;hp=5c919ab89b05a74f1082c78159c10df843e79805;hpb=9a4fb568340b14698947bfa59b309ae0c67c693a;p=dak.git diff --git a/dak/dominate.py b/dak/dominate.py index 5c919ab8..1c77ee66 100755 --- a/dak/dominate.py +++ b/dak/dominate.py @@ -125,10 +125,6 @@ def main(): ('s', "suite", "Obsolete::Options::Suite", "HasArg"), ('n', "no-action", "Obsolete::Options::No-Action"), ('f', "force", "Obsolete::Options::Force")] - query_suites = DBConn().session().query(Suite) - suites = [suite.suite_name for suite in query_suites.all()] - if not cnf.has_key('Obsolete::Options::Suite'): - cnf['Obsolete::Options::Suite'] = ','.join(suites) cnf['Obsolete::Options::Help'] = '' cnf['Obsolete::Options::No-Action'] = '' cnf['Obsolete::Options::Force'] = '' @@ -136,10 +132,21 @@ def main(): Options = cnf.subtree("Obsolete::Options") if Options['Help']: usage() + if 'Suite' not in Options: + query_suites = DBConn().session().query(Suite) + suites = [suite.suite_name for suite in query_suites] + cnf['Obsolete::Options::Suite'] = str(','.join(suites)) + Logger = daklog.Logger("dominate") session = DBConn().session() for suite_name in utils.split_args(Options['Suite']): suite = session.query(Suite).filter_by(suite_name = suite_name).one() + + # Skip policy queues. We don't want to remove obsolete packages from those. + policy_queue = session.query(PolicyQueue).filter_by(suite=suite).first() + if policy_queue is not None: + continue + if not suite.untouchable or Options['Force']: doDaDoDa(suite.suite_id, session) if Options['No-Action']: