Colin Watson has proposed merging
lp:~cjwatson/launchpad-buildd/livefs-extra-ppas into lp:launchpad-buildd.
Commit message:
Accept an "extra_ppas" entry in livefs arguments, which is passed to
livecd-rootfs to request that the image be built against additional PPAs.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad-buildd/livefs-extra-ppas/+merge/220109
A requirement for the CI Airline is the ability to build live filesystems
against additional PPAs, to make it possible to perform full-image tests before
releasing the PPA contents. Initially I'd hoped for this to be worked out from
the build chroot's /etc/apt/sources.list, but the design of live-build does not
make that remotely straightforward. Instead,
https://launchpad.net/ubuntu/+source/livecd-rootfs/2.213 lays the groundwork
for passing the necessary extra PPAs explicitly. This adds a little bit of
glue to launchpad-buildd to pass through the relevant arguments.
After this, it is possible to build a full image with an additional PPA by
passing e.g. "extra_ppas": ["ci-train-ppa-service/landing-011"] in the
metadata_override dict that's passed to LiveFS.requestBuild.
Ideally, this would be calculated automatically by Launchpad when dispatching
the build; after all this was most of the reason we added an archive column to
LiveFSBuild. However, this isn't strictly necessary, and if we do make those
arrangements then it will still require the same code in launchpad-buildd.
--
https://code.launchpad.net/~cjwatson/launchpad-buildd/livefs-extra-ppas/+merge/220109
Your team Launchpad code reviewers is requested to review the proposed merge of
lp:~cjwatson/launchpad-buildd/livefs-extra-ppas into lp:launchpad-buildd.
=== modified file 'buildlivefs'
--- buildlivefs 2013-12-13 12:49:36 +0000
+++ buildlivefs 2014-05-19 16:50:34 +0000
@@ -148,6 +148,8 @@
lb_env["IMAGEFORMAT"] = self.options.image_format
if self.options.proposed:
lb_env["PROPOSED"] = "1"
+ if self.options.extra_ppas:
+ lb_env["EXTRA_PPAS"] = "\n".join(self.options.extra_ppas)
self.run_build_command(["lb", "config"], env=lb_env)
self.run_build_command(["lb", "build"], env=base_lb_env)
@@ -175,6 +177,9 @@
parser.add_option(
"--locale", metavar="LOCALE",
help="use ubuntu-defaults-image to build an image for LOCALE")
+ parser.add_option(
+ "--extra-ppa", dest="extra_ppas", default=[], action="append",
+ help="use this additional PPA")
options, _ = parser.parse_args()
builder = LiveFSBuilder(options)
=== modified file 'lpbuildd/livefs.py'
--- lpbuildd/livefs.py 2014-05-03 14:48:19 +0000
+++ lpbuildd/livefs.py 2014-05-19 16:50:34 +0000
@@ -47,6 +47,7 @@
self.image_format = extra_args.get("image_format")
self.proposed = extra_args.get("proposed", False)
self.locale = extra_args.get("locale")
+ self.extra_ppas = extra_args.get("extra_ppas", [])
super(LiveFilesystemBuildManager, self).initiate(
files, chroot, extra_args)
@@ -72,6 +73,8 @@
args.append("--proposed")
if self.locale:
args.extend(["--locale", self.locale])
+ for ppa in self.extra_ppas:
+ args.extend(["--extra-ppa", ppa])
self.runSubProcess(self.build_livefs_path, args)
def iterate_BUILD_LIVEFS(self, retcode):
_______________________________________________
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help : https://help.launchpad.net/ListHelp