From 746e42a4f68b31b52fe7d2c216d695f10aa6cdb3 Mon Sep 17 00:00:00 2001 From: InsanePrawn Date: Tue, 27 Sep 2022 05:55:50 +0200 Subject: [PATCH] chroot: clean up the copy_base instance var mess --- chroot/abstract.py | 7 +++++-- chroot/base.py | 3 ++- chroot/build.py | 6 +++--- chroot/device.py | 6 +++--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/chroot/abstract.py b/chroot/abstract.py index e57d3e2..6b73362 100644 --- a/chroot/abstract.py +++ b/chroot/abstract.py @@ -4,7 +4,7 @@ import os import subprocess from copy import deepcopy from shlex import quote as shell_quote -from typing import Protocol, Union, Optional, Mapping +from typing import ClassVar, Protocol, Union, Optional, Mapping from uuid import uuid4 from config import config @@ -78,6 +78,9 @@ class AbstractChroot(Protocol): class Chroot(AbstractChroot): + _copy_base: ClassVar[bool] = False + copy_base: bool + def __repr__(self): return f'Chroot({self.name})' @@ -101,7 +104,7 @@ class Chroot(AbstractChroot): self.name = name self.arch = arch self.path = path_override or os.path.join(config.get_path('chroots'), name) - self.copy_base = copy_base + self.copy_base = copy_base if copy_base is not None else self._copy_base self.extra_repos = deepcopy(extra_repos) self.base_packages = base_packages.copy() if initialize: diff --git a/chroot/base.py b/chroot/base.py index 87dc2c4..4c951e5 100644 --- a/chroot/base.py +++ b/chroot/base.py @@ -3,6 +3,7 @@ import os from glob import glob from shutil import rmtree +from typing import ClassVar from constants import Arch from exec.cmd import run_root_cmd @@ -15,7 +16,7 @@ from .helpers import base_chroot_name class BaseChroot(Chroot): - copy_base: bool = False + _copy_base: ClassVar[bool] = False def create_rootfs(self, reset, pacman_conf_target, active_previously): if reset: diff --git a/chroot/build.py b/chroot/build.py index 27d1a6a..2b080e1 100644 --- a/chroot/build.py +++ b/chroot/build.py @@ -2,7 +2,7 @@ import logging import os import subprocess from glob import glob -from typing import Optional +from typing import ClassVar, Optional from config import config from constants import Arch, GCC_HOSTSPECS, CROSSDIRECT_PKGS, CHROOT_PATHS @@ -17,7 +17,7 @@ from .base import get_base_chroot class BuildChroot(Chroot): - copy_base: bool = True + _copy_base: ClassVar[bool] = True def create_rootfs(self, reset: bool, pacman_conf_target: str, active_previously: bool): makedir(config.get_path('chroots')) @@ -164,7 +164,7 @@ def get_build_chroot(arch: Arch, add_kupfer_repos: bool = True, **kwargs) -> Bui if 'extra_repos' in kwargs: raise Exception('extra_repos!') repos = get_kupfer_local(arch).repos if add_kupfer_repos else {} - args = dict(arch=arch, initialize=False, copy_base=True, extra_repos=repos) + args = dict(arch=arch) chroot = get_chroot(name, **kwargs, extra_repos=repos, chroot_class=BuildChroot, chroot_args=args) assert isinstance(chroot, BuildChroot) return chroot diff --git a/chroot/device.py b/chroot/device.py index 14fd4d8..37c5ccf 100644 --- a/chroot/device.py +++ b/chroot/device.py @@ -1,7 +1,7 @@ import atexit import os -from typing import Optional +from typing import ClassVar, Optional from config import config from constants import Arch, BASE_PACKAGES @@ -17,7 +17,7 @@ from .abstract import get_chroot class DeviceChroot(BuildChroot): - copy_base: bool = False + _copy_base: ClassVar[bool] = False def create_rootfs(self, reset, pacman_conf_target, active_previously): clss = BuildChroot if self.copy_base else BaseChroot @@ -65,7 +65,7 @@ def get_device_chroot( repos.update(extra_repos or {}) - args = dict(arch=arch, initialize=False, copy_base=False, base_packages=packages, extra_repos=repos) + args = dict(arch=arch, base_packages=packages, extra_repos=repos) chroot = get_chroot(name, **kwargs, extra_repos=repos, chroot_class=DeviceChroot, chroot_args=args) assert isinstance(chroot, DeviceChroot) return chroot