From: Joerg Behrmann Date: Tue, 4 Oct 2022 15:57:51 +0000 (+0200) Subject: Make install_skeleton_tree independent of Distribution enum X-Git-Tag: v15~384^2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec203f728d474cf57ac85c26f13f87c2a42c0abe;p=thirdparty%2Fmkosi.git Make install_skeleton_tree independent of Distribution enum Note for bisecting: This breaks skeleton tree on Debian-based distributions. --- diff --git a/mkosi/distributions/__init__.py b/mkosi/distributions/__init__.py index b951f9a1c..65705dd7c 100644 --- a/mkosi/distributions/__init__.py +++ b/mkosi/distributions/__init__.py @@ -8,6 +8,8 @@ if TYPE_CHECKING: class DistributionInstaller: + needs_skeletons_after_bootstrap = False + @classmethod def install(cls, state: "MkosiState") -> None: raise NotImplementedError diff --git a/mkosi/install.py b/mkosi/install.py index 9a2c3b8d9..6790cfbdd 100644 --- a/mkosi/install.py +++ b/mkosi/install.py @@ -10,7 +10,7 @@ from pathlib import Path from textwrap import dedent from typing import Any, BinaryIO, Iterator, Optional, cast -from .backend import Distribution, MkosiState, PathString, complete_step +from .backend import MkosiState, PathString, complete_step from .syscall import reflink @@ -140,7 +140,11 @@ def install_skeleton_trees(state: MkosiState, cached: bool, *, late: bool=False) if cached: return - if not late and state.config.distribution in (Distribution.debian, Distribution.ubuntu): + if state.installer is not None: + skeletons_after_bootstrap = state.installer.needs_skeletons_after_bootstrap + else: + skeletons_after_bootstrap = False + if not late and skeletons_after_bootstrap: return with complete_step("Copying in skeleton file trees…"):