X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fgenerate_filelist.py;h=d015b3ed811abffd320a99cf1840cd4d7f6dce52;hb=3b8862ae0e21fae9fc552d4df160f45684976d7d;hp=2a566e06ed405e9e37a36a999e4d129fe3d980ee;hpb=3be5bc9fca7a4721d0f60563bf2545541c685adb;p=dak.git diff --git a/dak/generate_filelist.py b/dak/generate_filelist.py index 2a566e06..d015b3ed 100755 --- a/dak/generate_filelist.py +++ b/dak/generate_filelist.py @@ -39,11 +39,13 @@ Generate file lists for apt-ftparchive. from daklib.dbconn import * from daklib.config import Config from daklib import utils, daklog -from daklib.dakmultiprocessing import Pool +from daklib.dakmultiprocessing import DakProcessPool, PROC_STATUS_SUCCESS, PROC_STATUS_SIGNALRAISED import apt_pkg, os, stat, sys from daklib.lists import getSources, getBinaries, getArchAll +EXIT_STATUS = 0 + def listPath(suite, component, architecture = None, type = None, incremental_mode = False): """returns full path to the list file""" @@ -159,7 +161,7 @@ def main(): Options = cnf.SubTree("Filelist::Options") if Options['Help']: usage() - #pool = Pool() + pool = DakProcessPool() query_suites = query_suites. \ filter(Suite.suite_name.in_(utils.split_args(Options['Suite']))) query_components = query_components. \ @@ -167,8 +169,15 @@ def main(): query_architectures = query_architectures. \ filter(Architecture.arch_string.in_(utils.split_args(Options['Architecture']))) - def log(message): - Logger.log([message]) + def parse_results(message): + # Split out into (code, msg) + code, msg = message + if code == PROC_STATUS_SUCCESS: + Logger.log([msg]) + elif code == PROC_STATUS_SIGNALRAISED: + Logger.log(['E: Subprocess recieved signal ', msg]) + else: + Logger.log(['E: ', msg]) for suite in query_suites: suite_id = suite.suite_id @@ -179,34 +188,32 @@ def main(): if architecture not in suite.architectures: pass elif architecture.arch_string == 'source': - Logger.log([writeSourceList(suite_id, component_id, Options['Incremental'])]) - #pool.apply_async(writeSourceList, - # (suite_id, component_id, Options['Incremental']), callback=log) + pool.apply_async(writeSourceList, + (suite_id, component_id, Options['Incremental']), callback=parse_results) elif architecture.arch_string == 'all': - Logger.log([writeAllList(suite_id, component_id, architecture_id, 'deb', Options['Incremental'])]) - #pool.apply_async(writeAllList, - # (suite_id, component_id, architecture_id, 'deb', - # Options['Incremental']), callback=log) - Logger.log([writeAllList(suite_id, component_id, architecture_id, 'udeb', Options['Incremental'])]) - #pool.apply_async(writeAllList, - # (suite_id, component_id, architecture_id, 'udeb', - # Options['Incremental']), callback=log) + pool.apply_async(writeAllList, + (suite_id, component_id, architecture_id, 'deb', + Options['Incremental']), callback=parse_results) + pool.apply_async(writeAllList, + (suite_id, component_id, architecture_id, 'udeb', + Options['Incremental']), callback=parse_results) else: # arch any - Logger.log([writeBinaryList(suite_id, component_id, architecture_id, 'deb', Options['Incremental'])]) - #pool.apply_async(writeBinaryList, - # (suite_id, component_id, architecture_id, 'deb', - # Options['Incremental']), callback=log) - Logger.log([writeBinaryList(suite_id, component_id, architecture_id, 'udeb', Options['Incremental'])]) - #pool.apply_async(writeBinaryList, - # (suite_id, component_id, architecture_id, 'udeb', - # Options['Incremental']), callback=log) - #pool.close() - #pool.join() + pool.apply_async(writeBinaryList, + (suite_id, component_id, architecture_id, 'deb', + Options['Incremental']), callback=parse_results) + pool.apply_async(writeBinaryList, + (suite_id, component_id, architecture_id, 'udeb', + Options['Incremental']), callback=parse_results) + pool.close() + pool.join() + # this script doesn't change the database session.close() Logger.close() + sys.exit(pool.overall_status()) + if __name__ == '__main__': main()