X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dev.git/blobdiff_plain/2ee02cdc057d7d01ab6abda0b351bf47dd4066f8..fc9beda05f67ce8e101598ae8a7a3500e3e836e9:/invirtibuilder diff --git a/invirtibuilder b/invirtibuilder index ff82d4e..f5c3821 100755 --- a/invirtibuilder +++ b/invirtibuilder @@ -134,10 +134,10 @@ def tagSubmodule(pocket, package, ref, principal): hook. Because we reject pushes to tags in the update hook, no push can ever take out a lock on any tags. - I'm sure that long description gives you great confidence in teh + I'm sure that long description gives you great confidence in the legitimacy of my reasoning. """ - if config.build.pockets[pocket].get('allow_backtracking', False): + if not config.build.pockets[pocket].get('allow_backtracking', False): env = dict(os.environ) branch = b.pocketToGit(pocket) version = b.getVersion(package, ref) @@ -212,7 +212,7 @@ def updateSuperproject(pocket, package, commit, principal): @contextlib.contextmanager -def packageWorkdir(package): +def packageWorkdir(package, commit): """Checkout the package in a temporary working directory. This context manager returns that working directory. The requested @@ -300,7 +300,7 @@ def build(): # do the build ourselves else: db.failed_stage = 'checking out package source' - with packageWorkdir(package) as workdir: + with packageWorkdir(package, commit) as workdir: db.failed_stage = 'preparing source package' packagedir = os.path.join(workdir, package) @@ -335,10 +335,6 @@ def build(): uploadBuild(pocket, workdir) db.failed_stage = 'cleaning up' - - # Finally, now that everything is done, remove the - # build queue item - os.unlink(os.path.join(b._QUEUE_DIR, build)) except: db.traceback = traceback.format_exc() else: @@ -348,6 +344,10 @@ def build(): database.session.save_or_update(db) database.session.commit() + # Finally, now that everything is done, remove the + # build queue item + os.unlink(os.path.join(b._QUEUE_DIR, build)) + reportBuild(db)