]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote branch 'ftpmaster/master' into multiproc
authorMark Hymers <mhy@debian.org>
Sat, 7 May 2011 12:35:26 +0000 (13:35 +0100)
committerMark Hymers <mhy@debian.org>
Sat, 7 May 2011 12:35:26 +0000 (13:35 +0100)
Conflicts:
dak/generate_packages_sources2.py

Signed-off-by: Mark Hymers <mhy@debian.org>
1  2 
dak/generate_packages_sources2.py

index b157fcbe5fc989d0bb1adce55b9237c1d11313e1,4523252cc0e8ac0f1145fef530bfb155f3536d47..8908e3cffc669665a67e2649ced042c195c4c858
@@@ -31,7 -31,7 +31,7 @@@ Generate Packages/Sources file
  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
  from daklib.filewriter import PackagesFileWriter, SourcesFileWriter
  
  import apt_pkg, os, stat, sys
@@@ -119,7 -119,7 +119,7 @@@ def generate_sources(suite_id, componen
  
      message = ["generate sources", suite.suite_name, component.component_name]
      session.rollback()
 -    return message
 +    return (PROC_STATUS_SUCCESS, message)
  
  #############################################################################
  
@@@ -194,7 -194,7 +194,7 @@@ WHER
    AND
      o.type = :type_id AND o.suite = :overridesuite AND o.component = :component
  
- ORDER BY tmp.package, tmp.version
+ ORDER BY tmp.source, tmp.package, tmp.version
  """
  
  def generate_packages(suite_id, component_id, architecture_id, type_name):
  
      message = ["generate-packages", suite.suite_name, component.component_name, architecture.arch_string]
      session.rollback()
 -    return message
 +    return (PROC_STATUS_SUCCESS, message)
  
  #############################################################################
  
@@@ -265,35 -265,30 +265,37 @@@ def main()
  
      component_ids = [ c.component_id for c in session.query(Component).all() ]
  
 -    def log(details):
 -        logger.log(details)
 -
 -    #pool = Pool()
 +    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])
 +
 +    pool = DakProcessPool()
      for s in suites:
          if s.untouchable and not force:
              utils.fubar("Refusing to touch %s (untouchable and not forced)" % s.suite_name)
          for c in component_ids:
 -            logger.log(generate_sources(s.suite_id, c))
 -            #pool.apply_async(generate_sources, [s.suite_id, c], callback=log)
 +            pool.apply_async(generate_sources, [s.suite_id, c], callback=parse_results)
              for a in s.architectures:
 -                logger.log(generate_packages(s.suite_id, c, a.arch_id, 'deb'))
 -                #pool.apply_async(generate_packages, [s.suite_id, c, a.arch_id, 'deb'], callback=log)
 -                logger.log(generate_packages(s.suite_id, c, a.arch_id, 'udeb'))
 -                #pool.apply_async(generate_packages, [s.suite_id, c, a.arch_id, 'udeb'], callback=log)
+                 if a == 'source':
+                     continue
 +                pool.apply_async(generate_packages, [s.suite_id, c, a.arch_id, 'deb'], callback=parse_results)
 +                pool.apply_async(generate_packages, [s.suite_id, c, a.arch_id, 'udeb'], callback=parse_results)
 +
 +    pool.close()
 +    pool.join()
  
 -    #pool.close()
 -    #pool.join()
      # this script doesn't change the database
      session.close()
  
      logger.close()
  
 +    sys.exit(pool.overall_status())
 +
  if __name__ == '__main__':
      main()