diff --git a/dak/examine_package.py b/dak/examine_package.py
index fc0dfba8bea6dd0e14c526b4ac5e797c94d22001..5b247f0cf61ee1e9c1cb9b69a4e9e434bf85724a 100755
--- a/dak/examine_package.py
+++ b/dak/examine_package.py
@@ -114,7 +114,8 @@ ansi_colours = {
'arch': "\033[32m",
'end': "\033[0m",
'bold': "\033[1m",
- 'maintainer': "\033[32m"}
+ 'maintainer': "\033[32m",
+ 'distro': "\033[1m\033[41m"}
html_colours = {
'main': ('',""),
@@ -122,7 +123,8 @@ html_colours = {
'nonfree': ('',""),
'arch': ('',""),
'bold': ('',""),
- 'maintainer': ('',"")}
+ 'maintainer': ('',""),
+ 'distro': ('',"")}
def colour_output(s, colour):
if use_html:
@@ -298,6 +300,9 @@ def read_changes_or_dsc (suite, filename, session = None):
elif k == "architecture":
if (dsc["architecture"] != "any"):
dsc['architecture'] = colour_output(dsc["architecture"], 'arch')
+ elif k == "distribution":
+ if dsc["distribution"] not in ('unstable', 'experimental'):
+ dsc['distribution'] = colour_output(dsc["distribution"], 'distro')
elif k in ("files","changes","description"):
if use_html:
dsc[k] = formatted_text(dsc[k], strip=True)
diff --git a/dak/process_new.py b/dak/process_new.py
index a7cfb94e3066295e488231694bc3510dcec0f4dc..fb3fdb63678cc615d5cf470913b34078f43b65ee 100755
--- a/dak/process_new.py
+++ b/dak/process_new.py
@@ -516,6 +516,7 @@ def do_new(upload, session):
def usage (exit_code=0):
print """Usage: dak process-new [OPTION]... [CHANGES]...
-a, --automatic automatic run
+ -b, --no-binaries do not sort binary-NEW packages first
-h, --help show this help and exit.
-m, --manual-reject=MSG manual reject with `msg'
-n, --no-action don't do anything
@@ -730,12 +731,13 @@ def main():
session = DBConn().session()
Arguments = [('a',"automatic","Process-New::Options::Automatic"),
+ ('b',"no-binaries","Process-New::Options::Binaries"),
('h',"help","Process-New::Options::Help"),
('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"),
('t',"trainee","Process-New::Options::Trainee"),
('n',"no-action","Process-New::Options::No-Action")]
- for i in ["automatic", "help", "manual-reject", "no-action", "version", "trainee"]:
+ for i in ["automatic", "no-binaries", "help", "manual-reject", "no-action", "version", "trainee"]:
if not cnf.has_key("Process-New::Options::%s" % (i)):
cnf["Process-New::Options::%s" % (i)] = ""
@@ -763,7 +765,7 @@ def main():
if len(changes_paths) > 1:
sys.stderr.write("Sorting changes...\n")
- changes_files = sort_changes(changes_paths, session)
+ changes_files = sort_changes(changes_paths, session, Options["Binaries"])
for changes_file in changes_files:
changes_file = utils.validate_changes_file_arg(changes_file, 0)
diff --git a/daklib/changesutils.py b/daklib/changesutils.py
index 35b3d57be454634dac1fc45a29c2d3e380fc0903..b268add58810c7e7242d09ca72c04eb769ef753a 100644
--- a/daklib/changesutils.py
+++ b/daklib/changesutils.py
@@ -84,7 +84,7 @@ def sg_compare (a, b):
__all__.append('sg_compare')
-def sort_changes(changes_files, session):
+def sort_changes(changes_files, session, binaries = None):
"""Sort into source groups, then sort each source group by version,
have source, filename. Finally, sort the source groups by have
note, time of oldest upload of each source upload."""
@@ -116,7 +116,7 @@ def sort_changes(changes_files, session):
# Determine oldest time and have note status for each source group
for source in per_source.keys():
q = session.query(DBSource).filter_by(source = source).all()
- per_source[source]["source_in_database"] = len(q)>0
+ per_source[source]["source_in_database"] = binaries and -(len(q)>0) or len(q)>0
source_list = per_source[source]["list"]
first = source_list[0]
oldest = os.stat(first["filename"])[stat.ST_MTIME]