launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #16757
[Merge] lp:~cjwatson/launchpad-buildd/livefs-extra-ppas into lp:launchpad-buildd
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):
Follow ups