X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=config%2Fdebian%2Fextensions.py;h=e17e9af88b518983af39012202da5f830de88f7d;hb=cae814a1ffbbb2944931693f35f73062a5ea99e7;hp=acc1947bfa69f510fb7380aee6ba2b49208d4b14;hpb=a6324611e898de79f2bb7947775984e28f4b2ede;p=dak.git diff --git a/config/debian/extensions.py b/config/debian/extensions.py index acc1947b..e17e9af8 100644 --- a/config/debian/extensions.py +++ b/config/debian/extensions.py @@ -4,22 +4,8 @@ import apt_pkg import daklib.utils, daklib.database import syck -# This function and its data should move into daklib/extensions.py -# or something. -replaced_funcs = {} -replace_funcs = {} -def replace_dak_function(module,name): - def x(f): - def myfunc(*a,**kw): - global replaced_funcs - f(replaced_funcs[name], *a, **kw) - myfunc.__name__ = f.__name__ - myfunc.__doc__ = f.__doc__ - myfunc.__dict__.update(f.__dict__) - - replace_funcs["%s:%s" % (module,name)] = myfunc - return f - return x +import daklib.extensions +from daklib.extensions import replace_dak_function def check_transition(): changes = dak_module.changes @@ -29,7 +15,9 @@ def check_transition(): sourcepkg = changes["source"] # No sourceful upload -> no need to do anything else, direct return - if "source" not in changes["architecture"]: + # We also work with unstable uploads, not experimental or those going to some + # proposed-updates queue + if "source" not in changes["architecture"] or "unstable" not in changes["distribution"]: return # Also only check if there is a file defined (and existant) with @@ -46,7 +34,7 @@ def check_transition(): except syck.error, msg: # This shouldn't happen, there is a wrapper to edit the file which # checks it, but we prefer to be safe than ending up rejecting - # everything. + # everything. daklib.utils.warn("Not checking transitions, the transitions file is broken: %s." % (msg)) return @@ -69,23 +57,24 @@ def check_transition(): if sourcepkg in t['packages']: # The source is affected, lets reject it. - rejectmsg = "%s: part of the %s transition.\n\n" % ( - sourcepkg, trans) + rejectmsg = "%s: part of the %s transition.\n\n" % ( + sourcepkg, trans) - if current is not None: - currentlymsg = "at version %s" % (current) - else: - currentlymsg = "not present in testing" + if current is not None: + currentlymsg = "at version %s" % (current) + else: + currentlymsg = "not present in testing" - rejectmsg += "Transition description: %s\n\n" % (t["reason"]) + rejectmsg += "Transition description: %s\n\n" % (t["reason"]) - rejectmsg += "\n".join(textwrap.wrap("""Your package + rejectmsg += "\n".join(textwrap.wrap("""Your package is part of a testing transition designed to get %s migrated (it is currently %s, we need version %s). This transition is managed by the Release Team, and %s is the Release-Team member responsible for it. Please mail debian-release@lists.debian.org or contact %s directly if you -need further assistance.""" - % (source, currentlymsg, expected,t["rm"], t["rm"]))) +need further assistance. You might want to upload to experimental until this +transition is done.""" + % (source, currentlymsg, expected,t["rm"], t["rm"]))) reject(rejectmsg + "\n") return @@ -109,15 +98,3 @@ def check_signed_by_key(oldfn): oldfn() check_transition() - -def init(name): - global replaced_funcs - - # This bit should be done automatically too - replaced_funcs = {} - for f,newfunc in replace_funcs.iteritems(): - m,f = f.split(":",1) - if len(f) > 0 and m == name: - replaced_funcs[f] = dak_module.__dict__[f] - dak_module.__dict__[f] = newfunc -