X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dev.git/blobdiff_plain/b9ae1aa7c56957f58ce1a16cdec108ffa3533b1b..0c857359c16cba2d7da62e7db7a75df92f265281:/invirtibuilder?ds=sidebyside diff --git a/invirtibuilder b/invirtibuilder index c955dfd..4aff352 100755 --- a/invirtibuilder +++ b/invirtibuilder @@ -133,12 +133,13 @@ def sbuild(package, ref, distro, arch, workdir, arch_all=False): nmutag = b.distroToSuffix(distro) env = os.environ.copy() env['NMUTAG'] = nmutag - + maintainer = "Invirt Autobuilder <%s>" % (config.contact,) # Run sbuild with a hack in place to append arbitrary versions args = ['perl', '-I/usr/share/invirt-dev', '-MSbuildHack', '/usr/bin/sbuild', '--binNMU=171717', '--make-binNMU=Build with sbuild', - '-v', '-d', distro, '--arch', arch] + '-v', '-d', distro, '-m', maintainer, + '--arch', arch] if arch_all: args.append('-A') args.append(getDscName(package, ref)) @@ -202,8 +203,11 @@ def uploadBuild(pocket, workdir): except subprocess.CalledProcessError, e: if not force: raise - package = deb822.Changes(open(changes).read())['Binary'] - logAndRun(['reprepro-env', 'remove', apt, package]) + changelog = deb822.Changes(open(changes).read()) + packages = set(changelog['Binary'].split()) + packages.add(changelog['Source']) + for package in packages: + logAndRun(['reprepro-env', 'remove', apt, package]) logAndRun(upload) @@ -284,8 +288,8 @@ def packageWorkdir(package, commit, build_id): workdir = tempfile.mkdtemp(prefix=("b%d-" % build_id)) try: p_archive = subprocess.Popen( - ['git', 'archive', - '--remote=file://%s' % b.getRepo(package), + ['git', '--git-dir=%s' % (b.getRepo(package),), + 'archive', '--prefix=%s/' % package, commit, ], @@ -327,7 +331,7 @@ def build(): db.pocket = pocket db.commit = commit db.principal = principal - database.session.save_or_update(db) + database.session.add(db) database.session.commit() database.session.begin() @@ -412,7 +416,7 @@ def build(): if logfile is not None: logfile.close() - database.session.save_or_update(db) + database.session.add(db) database.session.commit() # Finally, now that everything is done, remove the