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