[Extras-cauldron-commits] r40 - trunk/buildme/tools
ed_ at garage.maemo.org
ed_ at garage.maemo.org
Sun May 18 22:10:35 EEST 2008
Author: ed_
Date: 2008-05-18 22:10:35 +0300 (Sun, 18 May 2008)
New Revision: 40
Modified:
trunk/buildme/tools/buildme
Log:
debugging results
Modified: trunk/buildme/tools/buildme
===================================================================
--- trunk/buildme/tools/buildme 2008-05-18 19:07:49 UTC (rev 39)
+++ trunk/buildme/tools/buildme 2008-05-18 19:10:35 UTC (rev 40)
@@ -82,6 +82,7 @@
parser = OptionParser(usage = "%prog [options]")
parser.add_option("--product", type="string", dest="product", help="specify one product for the build")
+ parser.add_option("--config", type="string", dest="config", help="specify config file")
parser.add_option("--preserve", action='store_true', dest='preserve', help='preserve working files')
parser.add_option('--debug', action='store_true', dest='debug', help='enable debug output')
parser.add_option('--verbose', action='store_true', dest='verbose', help='verbose output')
@@ -124,18 +125,22 @@
"""
env = self.env
-
- if env.params['rcode']:
- if env.params['rcode'] == REJECTED:
- build_status = REJECTED
- else:
- build_status = "FAILED"
+
+ if 'rcode' not in env.params:
+ build_status = 'UNKNOWN'
else:
- build_status = "OK"
- package, version = os.path.splitext(os.path.basename(env['fname']))[0].split('_')
+ if env.params['rcode']:
+ if env.params['rcode'] == REJECTED:
+ build_status = REJECTED
+ else:
+ build_status = "FAILED"
+ else:
+ build_status = "OK"
- return env.params['conf'].get(env['product'], 'subject_template', False,
+ package, version = os.path.splitext(os.path.basename(env.params['fname']))[0].split('_')
+
+ return env.params['conf'].get(env.params['product'], 'subject_template', False,
{'package' : package, 'version' : version, 'build_status' : build_status})
def reject_fname(env, message):
@@ -144,7 +149,7 @@
env.params['rcode'] = REJECTED
env.params['logger'].fatal("REJECTED: %s" % message)
- fname = env['fname']
+ fname = env.params['fname']
incoming = os.path.dirname(fname)
rejected_dir = os.path.join(incoming, 'rejected')
@@ -166,7 +171,8 @@
# Move them into 'rejected' dir
for name in fnames:
try:
- shutil.move(name, rejected_dir)
+ if os.path.exists(name):
+ shutil.move(name, rejected_dir)
except (OSError, IOError), exobj:
raise Error("Can't move '%s' to rejected subdir: %s" % (os.path.basename(name), exobj))
@@ -212,6 +218,11 @@
else:
env.params['fnames'] = fnames
+ # create handler for mailing list notifications
+ if conf.has_option(product, 'mail_list'):
+ create_ml_handler(logger, conf.get(product, 'mail_list'),
+ conf.get(product, 'builder_email'), Subject(env))
+
# get destination names from config
env.params['dest_names'] = eval(conf.get(product, 'destinations'))
@@ -240,11 +251,6 @@
logger.debug(exobj)
return FSM.NEXT
- # create handler for mailing list notifications
- if conf.has_option(product, 'mail_list'):
- create_ml_handler(conf.get(product, 'mail_list'),
- conf.get(product, 'builder_email'), Subject(env))
-
# get target names tuple from config
tnames = eval(conf.get(product, 'targets'))
@@ -270,15 +276,15 @@
fname = env.params['fname']
destination = env.params['destination']
result_dir = conf.get(product, 'result_dir')
- upload_timeout = conf.get(product, 'upload_timeout')
+ upload_timeout = int(conf.get(product, 'upload_timeout'))
builder_email = conf.get(product, 'builder_email')
uploader = pwd.getpwuid(os.stat(fname).st_uid).pw_name
info = "Processing package %s. Uploader: %s, builder: %s" % \
(os.path.splitext(os.path.basename(fname))[0].replace('_', ' '), uploader, destination.user)
- logger.info(info)
handler = create_uploader_handler(logger, uploader, builder_email, Subject(env))
+ logger.info(info)
try:
dsc = Dsc(fname, exclude = ('.deb',))
@@ -287,20 +293,28 @@
logger.removeHandler(handler)
return FSM.NEXT
except LockException, exobj:
+ logger.debug(exobj)
+ logger.clean()
logger.removeHandler(handler)
return FSM.NEXT
try:
dsc.verify()
except DscException, exobj:
+ logger.debug(exobj)
reject_fname(logger, exobj)
logger.removeHandler(handler)
return FSM.NEXT
except ChangeFileException, exobj:
# check dsc timeout
+ logger.debug(exobj)
if (datetime.now() - datetime.fromtimestamp(os.stat(fname).st_mtime)).seconds > upload_timeout:
reject_fname(env, exobj)
logger.removeHandler(handler)
+ else:
+ logger.clean()
+ logger.removeHandler(handler)
+ logger.debug("skipped, timeout isn't expired yet")
return FSM.NEXT
More information about the Extras-cauldron-commits
mailing list