X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=daklib%2Fqueue_install.py;h=8f05e7bf2ce6e8de7e1627e4db87bb972a7b0173;hb=fa727dcf0058058565278421d16ea75c156e7fa3;hp=b1c2f55e049a7deaab1e87a65b857c0437eb53d8;hpb=cfc60571b3937364f8f507e8e58e93d90b592016;p=dak.git diff --git a/daklib/queue_install.py b/daklib/queue_install.py old mode 100755 new mode 100644 index b1c2f55e..8f05e7bf --- a/daklib/queue_install.py +++ b/daklib/queue_install.py @@ -64,6 +64,14 @@ def package_to_queue(u, summary, short_summary, queue, chg, session, announce=No u.move_to_queue(queue) chg.in_queue_id = queue.policy_queue_id session.add(chg) + + # send to build queues + if queue.send_to_build_queues: + for suite_name in u.pkg.changes["distribution"].keys(): + suite = get_suite(suite_name, session) + for q in suite.copy_queues: + q.add_changes_from_policy_queue(queue, chg) + session.commit() # Check for override disparities @@ -81,11 +89,11 @@ def package_to_queue(u, summary, short_summary, queue, chg, session, announce=No def is_unembargo(u): session = DBConn().session() - cnf = Config() # If we dont have the disembargo queue we are not on security and so not interested # in doing any security queue handling - if not get_policy_queue("disembargo"): + disembargo_queue = get_policy_queue("unembargoed") + if not disembargo_queue: return False # If we already are in newstage, then it means this just got passed through and accepted @@ -101,10 +109,8 @@ def is_unembargo(u): session.close() return True - oldcwd = os.getcwd() - os.chdir(cnf["Dir::Queue::Disembargo"]) - disdir = os.getcwd() - os.chdir(oldcwd) + # Ensure we don't have a / on the end or something + disdir = os.path.abspath(disembargo_queue.path) ret = False @@ -122,15 +128,10 @@ def is_unembargo(u): return ret def do_unembargo(u, summary, short_summary, chg, session=None): - polq=get_policy_queue('disembargo') + polq=get_policy_queue('unembargoed') package_to_queue(u, summary, short_summary, polq, chg, session, announce=None) - for suite_name in u.pkg.changes["distribution"].keys(): - suite = get_suite(suite_name, session) - for q in suite.copy_queues: - for f in u.pkg.files.keys(): - copyfile(os.path.join(polq.path, f), os.path.join(q.path, f)) # ################################################################################# # @@ -139,7 +140,7 @@ def is_embargo(u): # last in line, so if that exists, return true # Of course do not return true when we accept from out of newstage, as that means # it just left embargo and we want it in the archive - if get_policy_queue('embargo'): + if get_policy_queue('embargoed'): session = DBConn().session() dbc = get_dbchange(u.pkg.changes_file, session) if dbc and dbc.in_queue.queue_name in [ 'newstage' ]: @@ -148,15 +149,10 @@ def is_embargo(u): return True def do_embargo(u, summary, short_summary, chg, session=None): - polq=get_policy_queue('embargo') + polq=get_policy_queue('embargoed') package_to_queue(u, summary, short_summary, polq, chg, session, announce=None) - for suite_name in u.pkg.changes["distribution"].keys(): - suite = get_suite(suite_name, session) - for q in suite.copy_queues: - for f in u.pkg.files.keys(): - copyfile(os.path.join(polq.path, f), os.path.join(q.path, f)) ################################################################################ @@ -182,7 +178,7 @@ def is_autobyhand(u): all_auto = 0 continue - ABH = cnf.SubTree("AutomaticByHandPackages") + ABH = cnf.subtree("AutomaticByHandPackages") if not ABH.has_key(pckg) or \ ABH["%s::Source" % (pckg)] != u.pkg.changes["source"]: print "not match %s %s" % (pckg, u.pkg.changes["source"])