mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-03-14 00:21:08 +00:00
* add support for cowbuilder and cowbuilder-dist in builder.py
- allows use in sponsor-patch and backportpackage (LP: #728751)
This commit is contained in:
commit
914af6bdfe
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -11,6 +11,10 @@ ubuntu-dev-tools (0.120) UNRELEASED; urgency=low
|
||||
* pull-{lp,debian}-source, pull-debian-debdiff: Catch KeyboardInterrupt.
|
||||
(LP: #713845)
|
||||
|
||||
[ Julian Taylor ]
|
||||
* add support for cowbuilder and cowbuilder-dist in builder.py
|
||||
- allows use in sponsor-patch and backportpackage (LP: #728751)
|
||||
|
||||
-- Stefano Rivera <stefanor@debian.org> Sat, 05 Mar 2011 00:47:57 +0200
|
||||
|
||||
ubuntu-dev-tools (0.119) unstable; urgency=low
|
||||
|
@ -46,13 +46,15 @@ defaults to \fB~ppa1\fR, otherwise the default is blank.
|
||||
.TP
|
||||
.B \-b\fR, \fB\-\-build
|
||||
Build the package with the specified builder before uploading. Note
|
||||
for \fBpbuilder\fR(8) users: This assumes the common configuration,
|
||||
for \fBcowbuilder\fR(8) and \fBpbuilder\fR(8) users:
|
||||
This assumes the common configuration,
|
||||
where the \fBARCH\fR and \fBDIST\fR environment is read by \fBpbuilderrc\fR(5)
|
||||
to select the correct base image.
|
||||
.TP
|
||||
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
|
||||
Use the specified builder to build the package. Supported are
|
||||
\fBpbuilder\fR(8), \fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||
\fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
|
||||
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||
The default is \fBpbuilder\fR(8).
|
||||
.TP
|
||||
.B \-U\fR, \fB\-\-update
|
||||
|
@ -54,13 +54,15 @@ The output of the build tool will be placed in \fIworkdir\fR/\fBbuildresult/\fR.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-b ", " \-\-build
|
||||
Build the package with the specified builder. Note for \fBpbuilder\fR(8) users:
|
||||
Build the package with the specified builder. Note for \fBpbuilder\fR(8) and
|
||||
\fBcowbuilder\fR(8) users:
|
||||
This assumes the common configuration, where the \fBARCH\fR and \fBDIST\fR
|
||||
environment is read by \fBpbuilderrc\fR(5) to select the correct base image.
|
||||
.TP
|
||||
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
|
||||
Use the specify builder to build the package.
|
||||
Supported are \fBpbuilder\fR(8), \fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||
Supported are \fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
|
||||
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||
The default is \fBpbuilder\fR(8).
|
||||
.TP
|
||||
.BR \-e ", " \-\-edit
|
||||
@ -143,6 +145,8 @@ Performing a test build of bug \fB1234\fR in your PPA:
|
||||
.BR dput (1),
|
||||
.BR edit-patch (1),
|
||||
.BR lintian (1),
|
||||
.BR cowbuilder (8),
|
||||
.BR cowbuilder-dist (1),
|
||||
.BR pbuilder (8),
|
||||
.BR pbuilder-dist (1),
|
||||
.BR sbuild (1),
|
||||
|
@ -55,13 +55,14 @@ class Builder(object):
|
||||
|
||||
|
||||
class Pbuilder(Builder):
|
||||
def __init__(self):
|
||||
def __init__(self, command="pbuilder"):
|
||||
Builder.__init__(self, "pbuilder")
|
||||
self._command = command
|
||||
|
||||
def build(self, dsc_file, dist, result_directory):
|
||||
_build_preparation(result_directory)
|
||||
cmd = ["sudo", "-E", "ARCH=" + self.architecture, "DIST=" + dist,
|
||||
"pbuilder", "--build",
|
||||
self._command, "--build",
|
||||
"--architecture", self.architecture, "--distribution", dist,
|
||||
"--buildresult", result_directory, dsc_file]
|
||||
Logger.command(cmd)
|
||||
@ -70,7 +71,7 @@ class Pbuilder(Builder):
|
||||
|
||||
def update(self, dist):
|
||||
cmd = ["sudo", "-E", "ARCH=" + self.architecture, "DIST=" + dist,
|
||||
"pbuilder", "--update",
|
||||
self._command, "--update",
|
||||
"--architecture", self.architecture, "--distribution", dist]
|
||||
Logger.command(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
@ -78,19 +79,20 @@ class Pbuilder(Builder):
|
||||
|
||||
|
||||
class Pbuilderdist(Builder):
|
||||
def __init__(self):
|
||||
def __init__(self, command="pbuilder-dist"):
|
||||
Builder.__init__(self, "pbuilder-dist")
|
||||
self._command = command
|
||||
|
||||
def build(self, dsc_file, dist, result_directory):
|
||||
_build_preparation(result_directory)
|
||||
cmd = ["pbuilder-dist", dist, self.architecture,
|
||||
cmd = [self._command, dist, self.architecture,
|
||||
"build", dsc_file, "--buildresult", result_directory]
|
||||
Logger.command(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self._build_failure(returncode, dsc_file)
|
||||
|
||||
def update(self, dist):
|
||||
cmd = ["pbuilder-dist", dist, self.architecture, "update"]
|
||||
cmd = [self._command, dist, self.architecture, "update"]
|
||||
Logger.command(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self._update_failure(returncode, dist)
|
||||
@ -146,12 +148,17 @@ class Sbuild(Builder):
|
||||
|
||||
|
||||
def get_builder(builder):
|
||||
if builder == 'pbuilder':
|
||||
if builder == 'cowbuilder':
|
||||
return Pbuilder("cowbuilder")
|
||||
elif builder == 'cowbuilder-dist':
|
||||
return Pbuilderdist("cowbuilder-dist")
|
||||
elif builder == 'pbuilder':
|
||||
return Pbuilder()
|
||||
elif builder == 'pbuilder-dist':
|
||||
return Pbuilderdist()
|
||||
elif builder == 'sbuild':
|
||||
return Sbuild()
|
||||
|
||||
Logger.error("Unsupported builder specified: %s. Only pbuilder, "
|
||||
"pbuilder-dist and sbuild are supported." % builder)
|
||||
Logger.error("Unsupported builder specified: %s. Only cowbuilder, "
|
||||
"cowbuilder-dist, pbuilder, pbuilder-dist "
|
||||
"and sbuild are supported." % builder)
|
||||
|
Loading…
x
Reference in New Issue
Block a user