]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
debian: Fix foreign architecture builds
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 26 May 2023 10:16:50 +0000 (12:16 +0200)
committerJörg Behrmann <behrmann@physik.fu-berlin.de>
Fri, 26 May 2023 11:11:29 +0000 (13:11 +0200)
--force-architecture forces dpkg to install packages for other
architectures than the host architecture. --force-depends is required
because when building for arm64 it seems it can't quite figure out
all the pre-depends. For extra safety, we also set APT::Architectures
on top of APT::Architecture.

mkosi/distributions/debian.py

index eedabec69da9fbb0d1a6f81e89f7d0890d0c5716..3b5c34bc0ff0ecfecea31073e18a9c47ccf3b86e 100644 (file)
@@ -170,6 +170,7 @@ def setup_apt(state: MkosiState, repos: Sequence[str]) -> None:
         dedent(
             f"""\
             APT::Architecture "{debarch}";
+            APT::Architectures "{debarch}";
             APT::Immediate-Configure "off";
             APT::Install-Recommends "false";
             APT::Get::Assume-Yes "true";
@@ -189,6 +190,8 @@ def setup_apt(state: MkosiState, repos: Sequence[str]) -> None:
             DPkg::Options:: "--root={state.root}";
             DPkg::Options:: "--log={state.workspace / "apt/dpkg.log"}";
             DPkg::Options:: "--force-unsafe-io";
+            DPkg::Options:: "--force-architecture";
+            DPkg::Options:: "--force-depends";
             Dpkg::Use-Pty "false";
             DPkg::Install::Recursive::Minimum "1000";
             pkgCacheGen::ForceEssential ",";