Call sbuild with --apt-update and --apt-distupgrade
[invirt/packages/invirt-dev.git] / invirtibuilder
index 2f28103..c8d083f 100755 (executable)
@@ -126,7 +126,8 @@ def aptCopy(package, commit, dst_pocket, src_pocket):
 
 def sbuild(package, ref, arch, workdir, arch_all=False):
     """Build a package for a particular architecture."""
-    args = ['sbuild', '-v', '-d', DISTRIBUTION, '--arch', arch]
+    args = ['sbuild', '-v', '-d', DISTRIBUTION, '--arch', arch,
+            '--apt-update', '--apt-distupgrade']
     if arch_all:
         args.append('-A')
     args.append(getDscName(package, ref))
@@ -301,19 +302,20 @@ def build():
         logdir = os.path.join(b._LOG_DIR, str(db.build_id))
         if not os.path.exists(logdir):
             os.makedirs(logdir)
-        logfile = open(os.path.join(logdir, 'build.log'), 'w')
 
         try:
             db.failed_stage = 'validating job'
             # Don't expand the commit in the DB until we're sure the user
             # isn't trying to be tricky.
             b.ensureValidPackage(package)
+
+            logfile = open(os.path.join(logdir, '%s.log' % db.package), 'w')
+
             db.commit = commit = b.canonicalize_commit(package, commit)
             src = b.validateBuild(pocket, package, commit)
             version = b.getVersion(package, commit)
             db.version = str(version)
-            b.runHook('pre-build', [str(db.build_id), db.pocket, db.package,
-                                    db.commit, db.principal, db.version, str(db.inserted_at)])
+            b.runHook('pre-build', [str(db.build_id)])
 
             env = dict(os.environ)
             env['GIT_COMMITTER_NAME'] = config.build.tagger.name
@@ -374,7 +376,8 @@ def build():
             db.succeeded = True
             db.failed_stage = None
         finally:
-            logfile.close()
+            if logfile is not None:
+                logfile.close()
 
             database.session.save_or_update(db)
             database.session.commit()