complete_step(f"Syncing package manager metadata for {context.config.name()} image"),
lock_repository_metadata(context.config),
):
- context.config.distribution.package_manager(context.config).sync(context)
+ context.config.distribution.package_manager(context.config).sync(
+ context,
+ force=context.args.force > 1 or context.config.cacheonly == Cacheonly.never,
+ )
def run_sync(args: Args, config: Config, *, resources: Path) -> None:
return mounts
@classmethod
- def sync(cls, context: Context) -> None:
+ def sync(cls, context: Context, force: bool) -> None:
pass
@classmethod
)
@classmethod
- def sync(cls, context: Context) -> None:
+ def sync(cls, context: Context, force: bool) -> None:
cls.invoke(context, "update")
@classmethod
p.unlink()
@classmethod
- def sync(cls, context: Context, options: Sequence[str] = ()) -> None:
+ def sync(cls, context: Context, force: bool, arguments: Sequence[str] = ()) -> None:
cls.invoke(
context,
"makecache",
- arguments=[
- *(["--refresh"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []),
- *options,
- ],
+ arguments=[*(["--refresh"] if force else []), *arguments],
cached_metadata=False,
)
)
)
- cls.sync(context, options=["--disablerepo=*", "--enablerepo=mkosi"])
+ cls.sync(context, force=True, arguments=["--disablerepo=*", "--enablerepo=mkosi"])
from collections.abc import Iterable, Sequence
from pathlib import Path
-from mkosi.config import Cacheonly, Config
+from mkosi.config import Config
from mkosi.context import Context
from mkosi.installer import PackageManager
from mkosi.mounts import finalize_source_mounts
)
@classmethod
- def sync(cls, context: Context) -> None:
- cls.invoke(
- context,
- "--sync",
- ["--refresh"] + (
- ["--refresh"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []
- )
- )
+ def sync(cls, context: Context, force: bool) -> None:
+ cls.invoke(context, "--sync", ["--refresh", *(["--refresh"] if force else [])])
@classmethod
def createrepo(cls, context: Context) -> None:
from collections.abc import Iterable, Sequence
from pathlib import Path
-from mkosi.config import Cacheonly, Config, yes_no
+from mkosi.config import Config, yes_no
from mkosi.context import Context
from mkosi.installer import PackageManager
from mkosi.installer.rpm import RpmRepository, rpm_cmd
)
@classmethod
- def sync(cls, context: Context) -> None:
- cls.invoke(
- context,
- "refresh",
- ["--force"] if context.args.force > 1 or context.config.cacheonly == Cacheonly.never else []
- )
+ def sync(cls, context: Context, force: bool, arguments: Sequence[str] = ()) -> None:
+ cls.invoke(context, "refresh", [*(["--force"] if force else []), *arguments])
@classmethod
def createrepo(cls, context: Context) -> None:
)
)
- cls.invoke(context, "refresh", ["mkosi"])
+ cls.sync(context, force=True, arguments=["mkosi"])