del kwargs['stdout']
kwargs['stderr'] = logfile
logfile.write('---> Ran %s\n' % (cmd, ))
+ if 'stdin_str' in kwargs:
+ logfile.write('STDIN:\n')
+ logfile.write(kwargs['stdin_str'])
logfile.write('STDERR:\n')
output = c.captureOutput(cmd, *args, **kwargs)
logfile.write('STDOUT:\n')
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)
\turl = ../packages/%s.git
""" % (package, package, package)
gitmodules_hash = logAndRun(['git', 'hash-object', '-w', '--stdin'],
- cwd=superproject).strip()
+ cwd=superproject,
+ stdin_str=gitmodules).strip()
tree_items[package] = "100644 blob "+gitmodules_hash
new_tree = "\n".join("%s\t%s" % (v, k) for (k, v) in tree_items.iteritems())
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,
],