from invirt.config import structs as config
-DISTRIBUTION = 'hardy'
logfile = None
def logAndRun(cmd, *args, **kwargs):
package] + binaries)
-def sbuild(package, ref, arch, workdir, arch_all=False):
- """Build a package for a particular architecture."""
- args = ['sbuild', '-v', '-d', DISTRIBUTION, '--arch', arch]
+def sbuild(package, ref, distro, arch, workdir, arch_all=False):
+ """Build a package for a particular architecture and distro."""
+ # We append a suffix like ~ubuntu8.04 to differentiate the same
+ # version built for multiple distros
+ nmutag = b.distroToSuffix(distro)
+ env = os.environ.copy()
+ env['NMUTAG'] = nmutag
+
+ # Run sbuild with a hack in place to append arbitrary versions
+ args = ['perl', '-I/usr/share/invirt-dev',
+ '/usr/bin/sbuild',
+ '--binNMU=171717', '--make-binNMU=Build with sbuild',
+ '-v', '-d', distro, '--arch', arch]
if arch_all:
args.append('-A')
args.append(getDscName(package, ref))
- logAndRun(args, cwd=workdir)
+ logAndRun(args, cwd=workdir, env=env)
-def sbuildAll(package, ref, workdir):
+def sbuildAll(package, ref, distro, workdir):
"""Build a package for all architectures it supports."""
arches = getArches(package, ref)
if 'all' in arches or 'any' in arches or 'amd64' in arches:
- sbuild(package, ref, 'amd64', workdir, arch_all=True)
+ sbuild(package, ref, distro, 'amd64', workdir, arch_all=True)
if 'any' in arches or 'i386' in arches:
- sbuild(package, ref, 'i386', workdir)
+ sbuild(package, ref, distro, 'i386', workdir)
def tagSubmodule(pocket, package, commit, principal, version, env):
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