################################################################################
-import os, sys
+import os, pg, sys
import apt_pkg
import daklib.database
import daklib.utils
def main():
global Cnf
+
+ init()
+
# Only check if there is a file defined (and existant) with checks. It's a little bit
# specific to Debian, not much use for others, so return early there.
if not Cnf.has_key("Dinstall::Reject::ReleaseTransitions") or not os.path.exists("%s" % (Cnf["Dinstall::Reject::ReleaseTransitions"])):
# Parse the yaml file
sourcefile = file(Cnf["Dinstall::Reject::ReleaseTransitions"], 'r')
+ sourcecontent = sourcefile.read()
try:
- transitions = load(sourcefile)
+ transitions = load(sourcecontent)
except error, msg:
# This shouldn't happen, the release team has a wrapper to check the file, but better
# safe then sorry
sys.exit(2)
to_dump = 0
-
+ to_remove = []
# Now look through all defined transitions
- for trans in transition:
+ for trans in transitions:
t = transition[trans]
source = t["source"]
new_vers = t["new"]
curvers = daklib.database.get_testing_version(source)
print """
- Looking at transition: %s
- Source: %s
- New Version: %s
- Responsible: %s
- Reason: %s
- Blocked Packages (total: %d):
- """ % (trans, source, new_vers, t["rm"], t["reason"])
- for i in t["packages"]:
- print " %s" % (i)
+Looking at transition: %s
+ Source: %s
+ New Version: %s
+ Responsible: %s
+ Reason: %s
+ Blocked Packages (total: %d): %s
+""" % (trans, source, new_vers, t["rm"], t["reason"], len(t["packages"]), ", ".join(t["packages"]))
if curvers and apt_pkg.VersionCompare(new_vers, curvers) == 1:
# This is still valid, the current version in database is older than
else:
print "This transition is over, the target package reached testing, removing"
print "%s wanted version: %s, has %s" % (source, new_vers, curvers)
- del transition[trans]
+ to_remove.append(trans)
to_dump = 1
print "-------------------------------------------------------------------------"
if to_dump:
+ for remove in to_remove:
+ del transitions[remove]
destfile = file(Cnf["Dinstall::Reject::ReleaseTransitions"], 'w')
- dump(transition, destfile)
+ dump(transitions, destfile)
################################################################################
# Parse the yaml file
sourcefile = file(Cnf["Dinstall::Reject::ReleaseTransitions"], 'r')
+ sourcecontent = sourcefile.read()
try:
- transitions = load(sourcefile)
+ transitions = load(sourcecontent)
except error, msg:
# This shouldn't happen, the release team has a wrapper to check the file, but better
# safe then sorry
return
# Now look through all defined transitions
- for trans in transition:
- t = transition[trans]
+ for trans in transitions:
+ t = transitions[trans]
source = t["source"]
new_vers = t["new"]
fingerprint_id_cache = {}
queue_id_cache = {}
uid_id_cache = {}
+testing_version_cache = {}
################################################################################
if testing_version_cache.has_key(source):
return testing_version_cache[source]
- q = Upload.projectB.query("""
+ q = projectB.query("""
SELECT s.version FROM source s, suite su, src_associations sa
WHERE sa.source=s.id
AND sa.suite=su.id