mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-04-18 13:51:08 +00:00
Use common error message for sponsor-patch and backportpackage.
This commit is contained in:
parent
a0ef5a7e20
commit
4afe3c8478
@ -205,8 +205,7 @@ def do_build(workdir, package, release, bp_version, builder, update):
|
||||
|
||||
if update:
|
||||
if 0 != builder.update(release):
|
||||
error('Failed to update %s chroot for %s.' % \
|
||||
(release, builder.get_name()))
|
||||
sys.exit(1)
|
||||
|
||||
return builder.build(os.path.join(workdir,
|
||||
'%s_%s.dsc' % (package, bp_version)),
|
||||
@ -248,7 +247,7 @@ def do_backport(workdir, package, dscfile, version, suffix, release, build,
|
||||
|
||||
if build:
|
||||
if 0 != do_build(workdir, package, release, bp_version, builder, update):
|
||||
error('Package failed to build; aborting')
|
||||
sys.exit(1)
|
||||
if upload:
|
||||
do_upload(workdir, package, bp_version, upload, prompt)
|
||||
|
||||
|
@ -35,12 +35,24 @@ class Builder(object):
|
||||
if not os.path.isdir(result_directory):
|
||||
os.makedirs(result_directory)
|
||||
|
||||
def build_failure(self, returncode, dsc_file):
|
||||
if returncode != 0:
|
||||
Logger.error("Failed to build %s from source with %s." % \
|
||||
(os.path.basename(dsc_file), self.name))
|
||||
return returncode
|
||||
|
||||
def get_architecture(self):
|
||||
return self.architecture
|
||||
|
||||
def get_name(self):
|
||||
return self.name
|
||||
|
||||
def update_failure(self, returncode, dist):
|
||||
if returncode != 0:
|
||||
Logger.error("Failed to update %s chroot for %s." % \
|
||||
(dist, self.name))
|
||||
return returncode
|
||||
|
||||
|
||||
class Pbuilder(Builder):
|
||||
def __init__(self):
|
||||
@ -53,13 +65,15 @@ class Pbuilder(Builder):
|
||||
"--distribution", dist, "--architecture", self.architecture,
|
||||
"--buildresult", result_directory, dsc_file]
|
||||
Logger.command(cmd)
|
||||
return subprocess.call(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self.build_failure(returncode, dsc_file)
|
||||
|
||||
def update(self, dist):
|
||||
cmd = ["sudo", "-E", "DIST=" + dist, "pbuilder", "--update",
|
||||
"--distribution", dist, "--architecture", self.architecture]
|
||||
Logger.command(cmd)
|
||||
return subprocess.call(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self.update_failure(returncode, dist)
|
||||
|
||||
|
||||
class Pbuilderdist(Builder):
|
||||
@ -71,12 +85,14 @@ class Pbuilderdist(Builder):
|
||||
cmd = ["pbuilder-dist", dist, self.architecture,
|
||||
"build", dsc_file, "--buildresult", result_directory]
|
||||
Logger.command(cmd)
|
||||
return subprocess.call(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self.build_failure(returncode, dsc_file)
|
||||
|
||||
def update(self, dist):
|
||||
cmd = ["pbuilder-dist", dist, self.architecture, "update"]
|
||||
Logger.command(cmd)
|
||||
return subprocess.call(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
return self.update_failure(returncode, dist)
|
||||
|
||||
|
||||
class Sbuild(Builder):
|
||||
@ -91,10 +107,10 @@ class Sbuild(Builder):
|
||||
cmd = ["sbuild", "--arch-all", "--dist=" + dist,
|
||||
"--arch=" + self.architecture, dsc_file]
|
||||
Logger.command(cmd)
|
||||
result = subprocess.call(cmd)
|
||||
returncode = subprocess.call(cmd)
|
||||
Logger.command(["cd", workdir])
|
||||
os.chdir(workdir)
|
||||
return result
|
||||
return self.build_failure(returncode, dsc_file)
|
||||
|
||||
def update(self, dist):
|
||||
cmd = ["schroot", "--list"]
|
||||
@ -124,7 +140,8 @@ class Sbuild(Builder):
|
||||
Logger.command(cmd + [chroot])
|
||||
ret = subprocess.call(cmd + [chroot])
|
||||
if ret != 0:
|
||||
return ret
|
||||
return self.update_failure(ret, dist)
|
||||
return 0
|
||||
|
||||
|
||||
def getBuilder(builder=None):
|
||||
|
@ -403,8 +403,6 @@ def main(bug_number, update, build, edit, keyid, upload, workdir, builder,
|
||||
if update:
|
||||
ret = builder.update(dist)
|
||||
if ret != 0:
|
||||
Logger.error("Failed to update %s chroot for %s." % \
|
||||
(dist, builder.get_name()))
|
||||
ask_for_manual_fixing()
|
||||
break
|
||||
# We want to update the build environment only once, but not
|
||||
@ -414,9 +412,6 @@ def main(bug_number, update, build, edit, keyid, upload, workdir, builder,
|
||||
# build package
|
||||
result = builder.build(new_dsc_file, dist, buildresult)
|
||||
if result != 0:
|
||||
Logger.error("Failed to build %s from source with %s." % \
|
||||
(os.path.basename(new_dsc_file),
|
||||
builder.get_name()))
|
||||
question = Question(["yes", "update", "retry", "no"])
|
||||
answer = question.ask("Do you want to resolve this issue "
|
||||
"manually", "yes")
|
||||
|
Loading…
x
Reference in New Issue
Block a user