From: Daan De Meyer Date: Thu, 15 Feb 2024 09:48:26 +0000 (+0100) Subject: Make apivfs argument of invoke() false by default X-Git-Tag: v21~50^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7562ea4d30418c256cc33510b2c0062ad9412d80;p=thirdparty%2Fmkosi.git Make apivfs argument of invoke() false by default Let's not implicitly mount an apivfs every time we mount a package manager but make this opt-in instead. --- diff --git a/mkosi/distributions/arch.py b/mkosi/distributions/arch.py index 0c45aa1c0..4bca1f05f 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distributions/arch.py @@ -64,7 +64,7 @@ class Installer(DistributionInstaller): @classmethod def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - Pacman.invoke(context, "--remove", ["--nosave", "--recursive"], packages) + Pacman.invoke(context, "--remove", ["--nosave", "--recursive"], packages, apivfs=True) @classmethod @listify diff --git a/mkosi/distributions/centos.py b/mkosi/distributions/centos.py index 62e5db761..42dc762f7 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distributions/centos.py @@ -96,7 +96,7 @@ class Installer(DistributionInstaller): @classmethod def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - Dnf.invoke(context, "remove", packages) + Dnf.invoke(context, "remove", packages, apivfs=True) @classmethod def architecture(cls, arch: Architecture) -> str: diff --git a/mkosi/distributions/debian.py b/mkosi/distributions/debian.py index 1db94fd54..db477c615 100644 --- a/mkosi/distributions/debian.py +++ b/mkosi/distributions/debian.py @@ -157,7 +157,6 @@ class Installer(DistributionInstaller): f"-oDPkg::Pre-Install-Pkgs::=cat >{f.name}", "?essential", "?exact-name(usr-is-merged)", ], - apivfs=False, mounts=("--bind", f.name, f.name), ) @@ -216,7 +215,7 @@ class Installer(DistributionInstaller): @classmethod def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - Apt.invoke(context, "purge", packages) + Apt.invoke(context, "purge", packages, apivfs=True) @classmethod def architecture(cls, arch: Architecture) -> str: diff --git a/mkosi/distributions/fedora.py b/mkosi/distributions/fedora.py index 6bf1fe8b3..cb45ef501 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distributions/fedora.py @@ -69,7 +69,7 @@ class Installer(DistributionInstaller): @classmethod def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - Dnf.invoke(context, "remove", packages) + Dnf.invoke(context, "remove", packages, apivfs=True) @classmethod @listify diff --git a/mkosi/distributions/opensuse.py b/mkosi/distributions/opensuse.py index d46961c2d..4e6a57189 100644 --- a/mkosi/distributions/opensuse.py +++ b/mkosi/distributions/opensuse.py @@ -91,9 +91,9 @@ class Installer(DistributionInstaller): @classmethod def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: if find_binary("zypper", root=context.config.tools()): - Zypper.invoke(context, "remove", packages, options=["--clean-deps"]) + Zypper.invoke(context, "remove", packages, options=["--clean-deps"], apivfs=True) else: - Dnf.invoke(context, "remove", packages) + Dnf.invoke(context, "remove", packages, apivfs=True) @classmethod @listify diff --git a/mkosi/installer/apt.py b/mkosi/installer/apt.py index 9d78a1ef0..e3f454a83 100644 --- a/mkosi/installer/apt.py +++ b/mkosi/installer/apt.py @@ -170,7 +170,7 @@ class Apt(PackageManager): packages: Sequence[str] = (), *, options: Sequence[str] = (), - apivfs: bool = True, + apivfs: bool = False, mounts: Sequence[PathString] = (), ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: @@ -230,5 +230,4 @@ class Apt(PackageManager): "-o", "Dir::Etc::sourceparts=-", "-o", "APT::Get::List-Cleanup=0", ], - apivfs=False, ) diff --git a/mkosi/installer/dnf.py b/mkosi/installer/dnf.py index 0acff3dd1..19b5cf8ea 100644 --- a/mkosi/installer/dnf.py +++ b/mkosi/installer/dnf.py @@ -157,7 +157,7 @@ class Dnf(PackageManager): operation: str, packages: Iterable[str] = (), options: Sequence[str] = (), - apivfs: bool = True, + apivfs: bool = False, ) -> CompletedProcess: try: with finalize_ephemeral_source_mounts(context.config) as sources: @@ -194,7 +194,6 @@ class Dnf(PackageManager): *(["--setopt=cacheonly=none"] if cls.executable(context.config) == "dnf5" else []), *options, ], - apivfs=False, ) @classmethod diff --git a/mkosi/installer/pacman.py b/mkosi/installer/pacman.py index 6fe0d1cce..c35d57b11 100644 --- a/mkosi/installer/pacman.py +++ b/mkosi/installer/pacman.py @@ -147,7 +147,7 @@ class Pacman(PackageManager): operation: str, options: Sequence[str] = (), packages: Sequence[str] = (), - apivfs: bool = True, + apivfs: bool = False, ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: return run( @@ -168,7 +168,7 @@ class Pacman(PackageManager): @classmethod def sync(cls, context: Context) -> None: - cls.invoke(context, "--sync", ["--refresh"], apivfs=False) + cls.invoke(context, "--sync", ["--refresh"]) @classmethod def createrepo(cls, context: Context) -> None: diff --git a/mkosi/installer/zypper.py b/mkosi/installer/zypper.py index afedee5a1..1f8f2e8df 100644 --- a/mkosi/installer/zypper.py +++ b/mkosi/installer/zypper.py @@ -118,7 +118,7 @@ class Zypper(PackageManager): packages: Sequence[str] = (), *, options: Sequence[str] = (), - apivfs: bool = True, + apivfs: bool = False, ) -> CompletedProcess: with finalize_ephemeral_source_mounts(context.config) as sources: return run( @@ -139,7 +139,7 @@ class Zypper(PackageManager): @classmethod def sync(cls, context: Context) -> None: - cls.invoke(context, "refresh", apivfs=False) + cls.invoke(context, "refresh") @classmethod def createrepo(cls, context: Context) -> None: @@ -160,4 +160,4 @@ class Zypper(PackageManager): ) ) - cls.invoke(context, "refresh", ["mkosi"], apivfs=False) + cls.invoke(context, "refresh", ["mkosi"])