Talha Can Havadar has proposed merging ~tchavadar/launchpad-buildd:use-ubuntu-images-deb into launchpad-buildd:master.
Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~tchavadar/launchpad-buildd/+git/launchpad-buildd/+merge/464761 Exposing LB_USE_UBUNTU_IMAGES_DEB env variable to be configurable by lpbuildd. Details about the relevant change can be found in https://code.launchpad.net/~tchavadar/livecd-rootfs/+git/livecd-rootfs/+merge/464755 Change is proposed to make LB_USE_UBUNTU_IMAGES_DEB configurable through livefs build metadata. -- Your team Launchpad code reviewers is requested to review the proposed merge of ~tchavadar/launchpad-buildd:use-ubuntu-images-deb into launchpad-buildd:master.
diff --git a/lpbuildd/livefs.py b/lpbuildd/livefs.py index 6e8da92..68dc40c 100644 --- a/lpbuildd/livefs.py +++ b/lpbuildd/livefs.py @@ -37,6 +37,7 @@ class LiveFilesystemBuildManager(DebianBuildManager): self.repo_snapshot_stamp = extra_args.get("repo_snapshot_stamp") self.cohort_key = extra_args.get("cohort-key") self.debug = extra_args.get("debug", False) + self.use_ubuntu_images_deb = extra_args.get("use_ubuntu_images_deb") super().initiate(files, chroot, extra_args) @@ -77,6 +78,8 @@ class LiveFilesystemBuildManager(DebianBuildManager): pass if self.debug: args.append("--debug") + if self.use_ubuntu_images_deb: + args.extend(["--use-ubuntu-images-deb", self.use_ubuntu_images_deb]) self.runTargetSubProcess("buildlivefs", *args) def iterate_BUILD_LIVEFS(self, retcode): diff --git a/lpbuildd/target/build_livefs.py b/lpbuildd/target/build_livefs.py index ed94328..ad31838 100644 --- a/lpbuildd/target/build_livefs.py +++ b/lpbuildd/target/build_livefs.py @@ -109,6 +109,12 @@ class BuildLiveFS(SnapStoreOperationMixin, Operation): action="store_true", help="enable detailed live-build debugging", ) + parser.add_argument( + "--use-ubuntu-images-deb", + dest="use_ubuntu_images_deb", + metavar="USE_UBUNTU_IMAGES_DEV", + help="Use specified ubuntu-images package instead of git repository" + ) def install(self): deps = ["livecd-rootfs"] @@ -198,6 +204,8 @@ class BuildLiveFS(SnapStoreOperationMixin, Operation): } lb_env.update(proxy_dict) base_lb_env.update(proxy_dict) + if self.args.use_ubuntu_images_deb: + lb_env["LB_USE_UBUNTU_IMAGES_DEB"] = self.args.use_ubuntu_images_deb self.run_build_command(["lb", "config"], env=lb_env) self.run_build_command(["lb", "build"], env=base_lb_env) diff --git a/lpbuildd/target/tests/test_build_livefs.py b/lpbuildd/target/tests/test_build_livefs.py index ad220c3..c62408a 100644 --- a/lpbuildd/target/tests/test_build_livefs.py +++ b/lpbuildd/target/tests/test_build_livefs.py @@ -440,3 +440,61 @@ class TestBuildLiveFS(TestCase): build_livefs = parse_args(args=args).operation build_livefs.backend.run = FailBuild() self.assertEqual(RETCODE_FAILURE_BUILD, build_livefs.run()) + + def test_run_build_with_ubuntu_images_package(self): + args = [ + "buildlivefs", + "--backend=fake", + "--series=noble", + "--arch=arm64", + "--project=ubuntu-cpc", + "1", + "--use-ubuntu-images-deb=ubuntu-images", + ] + expected_env = { + "ARCH": "arm64", + "SUITE": "noble", + "PROJECT": "ubuntu-cpc", + "LB_USE_UBUNTU_IMAGES_DEB": "ubuntu-images", + } + build_livefs = parse_args(args=args).operation + build_livefs.build() + + self.assertThat( + build_livefs.backend.run.calls, + MatchesListwise( + [ + RanBuildCommand(["rm", "-rf", "auto", "local"]), + RanBuildCommand(["mkdir", "-p", "auto"]), + RanBuildCommand( + [ + "ln", + "-s", + "/usr/share/livecd-rootfs/live-build/auto/config", + "auto/", + ] + ), + RanBuildCommand( + [ + "ln", + "-s", + "/usr/share/livecd-rootfs/live-build/auto/build", + "auto/", + ] + ), + RanBuildCommand( + [ + "ln", + "-s", + "/usr/share/livecd-rootfs/live-build/auto/clean", + "auto/", + ] + ), + RanBuildCommand(["lb", "clean", "--purge"]), + RanBuildCommand( + ["lb", "config"], **expected_env + ), + RanBuildCommand(["lb", "build"], PROJECT="ubuntu-cpc", ARCH="arm64"), + ] + ), + ) diff --git a/lpbuildd/tests/test_livefs.py b/lpbuildd/tests/test_livefs.py index 25eea06..c50add6 100644 --- a/lpbuildd/tests/test_livefs.py +++ b/lpbuildd/tests/test_livefs.py @@ -214,3 +214,15 @@ class TestLiveFilesystemBuildManagerIteration(TestCase): } ), ) + + @defer.inlineCallbacks + def test_use_ubuntu_images_deb(self): + expected_options = [ + "--use-ubuntu-images-deb", + "ubuntu-images", + ] + yield self.startBuild({ + "use_ubuntu_images_deb": "ubuntu-images" + }, + options=expected_options + )
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp