logging.debug(f"{cachedir} does not exist, not copying repository metadata from it")
statedir = config.package_cache_dir_or_default() / "lib" / subdir
+
+ with umask(~0o755):
+ (dst / "lib" / subdir).mkdir(parents=True, exist_ok=True)
+
for src in config.distribution.package_manager(config).state_subdirs(statedir):
if not src.exists():
logging.debug(f"{src} does not exist, not copying repository metadata from it")
"mkosi-reinstall": ["apt-get", "install", "--reinstall"],
} # fmt: skip
+ @classmethod
+ def options(cls, *, root: PathString, apivfs: bool = True) -> list[PathString]:
+ return super().options(root=root, apivfs=apivfs) + ["--dir", "/var/lib/apt/lists/partial"]
+
@classmethod
def setup(cls, context: Context, repositories: Sequence[AptRepository]) -> None:
(context.sandbox_tree / "etc/apt").mkdir(exist_ok=True, parents=True)
"-o", "Acquire::AllowReleaseInfoChange=true",
"-o", "Acquire::Check-Valid-Until=false",
"-o", "Dir::Cache=/var/cache/apt",
- "-o", "Dir::State=/var/lib/apt",
+ "-o", "Dir::State=/buildroot/var/lib/apt",
+ "-o", "Dir::State::lists=/var/lib/apt/lists/",
"-o", "Dir::Log=/var/log/apt",
"-o", "Dir::State::Status=/buildroot/var/lib/dpkg/status",
"-o", f"Dir::Bin::DPkg={context.config.find_binary('dpkg')}",
"--setopt=keepcache=1",
"--setopt=logdir=/var/log",
f"--setopt=cachedir=/var/cache/{cls.subdir(context.config)}",
- f"--setopt=persistdir=/var/lib/{cls.subdir(context.config)}",
f"--setopt=install_weak_deps={int(context.config.with_recommends)}",
"--setopt=check_config_file_age=0",
"--disable-plugin=*" if dnf == "dnf5" else "--disableplugin=*",
+ "--setopt=persistdir=/buildroot/var/lib/dnf",
] # fmt: skip
for plugin in ("builddep", "versionlock", "reflink"):