From: Joerg Behrmann Date: Thu, 8 Jun 2023 09:38:42 +0000 (+0200) Subject: config: remove RepositoryDirectories= option X-Git-Tag: v15~120^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=901266e6daf3bfbe0a9daa21cafbed80bce120d2;p=thirdparty%2Fmkosi.git config: remove RepositoryDirectories= option --- diff --git a/NEWS.md b/NEWS.md index 9b2e09646..64d9e6643 100644 --- a/NEWS.md +++ b/NEWS.md @@ -26,8 +26,7 @@ kernel images is trivial and fast these days. - Support for --qemu-boot was dropped - Support for --use-host-repositories was dropped, use --repository-directory instead -- `RepositoryDirectory` was renamed to `RepositoryDirectories` and now takes a comma-separated - list of directories to look for extra repository files. +- `RepositoryDirectory` was removed, use `PackageManagerTrees=` or `SkeletonTrees=` instead. - `--repositories` is now only usable on Debian/RPM based distros and can only be used to enable additional repositories. Specifically, it cannot be used on Arch Linux anymore to add new repositories. - The `_epel` distributions were removed. Use `--repositories=epel` instead to enable diff --git a/mkosi.md b/mkosi.md index 15f0270f6..b1bdb5724 100644 --- a/mkosi.md +++ b/mkosi.md @@ -375,15 +375,6 @@ they should be specified with a boolean argument: either "1", "yes", or "true" t Linux, additional repositories must be passed in the form `::` (e.g. `myrepo::https://myrepo.net`). -`RepositoryDirectories`, `--repo-dir=` - -: This option can (for now) only be used with RPM-based distributions, - Debian-based distributions and Arch Linux. It takes a comma separated list of - directories containing extra repository definitions that will be used when - installing packages. The files are passed directly to the corresponding - package manager and should be written in the format expected by the package - manager of the image's distro. - `Architecture=`, `--architecture=` : The architecture to build the image for. A number of architectures can be specified, but which ones are @@ -1301,10 +1292,6 @@ local directory: build result of a preceding run might be copied into a build image as part of the source tree (see above). -* The **`mkosi.reposdir/`** directory, if it exists, is automatically - used as the repository directory for extra repository files. See - the `RepositoryDirectories` option for more information. - * The **`mkosi.credentials/`** directory is used as a source of extra credentials similar to the `Credentials=` option. For each file in the directory, the filename will be used as the credential diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 68ae82f12..230385177 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -815,7 +815,6 @@ def install_unified_kernel(state: MkosiState, roothash: Optional[str]) -> None: *(["--mirror", state.config.mirror] if state.config.mirror else []), "--repository-key-check", yes_no(state.config.repository_key_check), "--repositories", ",".join(state.config.repositories), - "--repo-dir", ",".join(str(p) for p in state.config.repo_dirs), *(["--compress-output", str(state.config.compress_output)] if state.config.compress_output else []), "--with-network", yes_no(state.config.with_network), "--cache-only", yes_no(state.config.cache_only), diff --git a/mkosi/config.py b/mkosi/config.py index 39d8d3a7e..2a7f6e24f 100644 --- a/mkosi/config.py +++ b/mkosi/config.py @@ -572,7 +572,6 @@ class MkosiConfig: local_mirror: Optional[str] repository_key_check: bool repositories: list[str] - repo_dirs: list[Path] repart_dirs: list[Path] overlay: bool architecture: Architecture @@ -777,13 +776,6 @@ class MkosiConfigParser: section="Distribution", parse=config_make_list_parser(delimiter=","), ), - MkosiConfigSetting( - dest="repo_dirs", - name="RepositoryDirectories", - section="Distribution", - parse=config_make_list_parser(delimiter=",", parse=make_path_parser()), - paths=("mkosi.reposdir",), - ), MkosiConfigSetting( dest="output_format", name="Format", @@ -1470,13 +1462,6 @@ class MkosiConfigParser: help="Repositories to use", action=action, ) - group.add_argument( - "--repo-dir", - metavar="PATH", - help="Specify a directory containing extra distribution specific repository files", - dest="repo_dirs", - action=action, - ) group = parser.add_argument_group("Output options") group.add_argument( @@ -2240,13 +2225,6 @@ def load_config(args: argparse.Namespace) -> MkosiConfig: die("UEFI SecureBoot enabled, but couldn't find certificate.", hint="Consider placing it in mkosi.crt") - if args.repo_dirs and not ( - is_dnf_distribution(args.distribution) - or is_apt_distribution(args.distribution) - or args.distribution == Distribution.arch - ): - die("--repo-dir is only supported on DNF/Debian based distributions and Arch") - if args.qemu_kvm == ConfigFeature.enabled and not qemu_check_kvm_support(): die("Sorry, the host machine does not support KVM acceleration.") diff --git a/mkosi/distributions/arch.py b/mkosi/distributions/arch.py index 409f0594d..b719f2574 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distributions/arch.py @@ -84,8 +84,6 @@ class ArchInstaller(DistributionInstaller): ) ) - for d in state.config.repo_dirs: - f.write(f"Include = {d}/*\n") return invoke_pacman(state, packages, apivfs=apivfs) diff --git a/mkosi/distributions/debian.py b/mkosi/distributions/debian.py index e5e4ec5f2..15c8c6bdd 100644 --- a/mkosi/distributions/debian.py +++ b/mkosi/distributions/debian.py @@ -212,13 +212,6 @@ def setup_apt(state: MkosiState, repos: Sequence[str]) -> None: for repo in repos: f.write(f"{repo}\n") - for repo_dir in state.config.repo_dirs: - for src in repo_dir.iterdir(): - if not src.is_file(): - continue - if src.suffix in (".list", ".sources"): - shutil.copyfile(src, state.workspace.joinpath("pkgmngr/etc/apt/sources.list.d", src.name)) - def invoke_apt( state: MkosiState, @@ -246,10 +239,3 @@ def install_apt_sources(state: MkosiState, repos: Sequence[str]) -> None: with sources.open("w") as f: for repo in repos: f.write(f"{repo}\n") - - # Already contains a merged tree of repo_dirs after setup_apt - for src in state.workspace.joinpath("pkgmngr/etc/apt/sources.list.d").iterdir(): - dst = state.root.joinpath("etc/apt/sources.list.d", src.name) - if dst.exists(): - continue - shutil.copyfile(src, dst) diff --git a/mkosi/distributions/fedora.py b/mkosi/distributions/fedora.py index 40506656b..84a421be9 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distributions/fedora.py @@ -174,7 +174,6 @@ def invoke_dnf( "--setopt=keepcache=1", "--setopt=install_weak_deps=0", f"--setopt=cachedir={state.cache_dir}", - f"--setopt=reposdir={' '.join(str(p) for p in state.config.repo_dirs)}", f"--setopt=varsdir={state.pkgmngr / 'etc/dnf/vars'}", f"--setopt=logdir={state.pkgmngr / 'var/log'}", f"--setopt=persistdir={state.pkgmngr / 'var/lib/dnf'}",