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.
+- The `_epel` distributions were removed. Use `--repositories=epel` instead to enable
+ the EPEL repository.
## v14
Linux, additional repositories must be passed in the form `<name>::<url>`
(e.g. `myrepo::https://myrepo.net`).
-`RepositoryDirectory`, `--repository-directory`
+`RepositoryDirectories`, `--repository-directory`
: This option can (for now) only be used with RPM-based distributions and Arch
- Linux. It identifies a directory 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.
+ 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=`
"TarStripSELinuxContext": "--tar-strip-selinux-context",
"MachineID": "--machine-id",
"SignExpectedPCR": "--sign-expected-pcr",
+ "RepositoryDirectories": "--repository-directory",
}
def __init__(self, *kargs: Any, **kwargs: Any) -> None:
)
group.add_argument(
"--repository-directory",
+ action=CommaDelimitedListAction,
+ default=[],
metavar="PATH",
- dest="repos_dir",
- help="Directory container extra distribution specific repository files",
+ dest="repo_dirs",
+ type=Path,
+ help="Specify a directory containing extra distribution specific repository files",
)
group = parser.add_argument_group("Output options")
args_find_path(args, "prepare_script", "mkosi.prepare")
args_find_path(args, "finalize_script", "mkosi.finalize")
args_find_path(args, "workspace_dir", "mkosi.workspace/")
- args_find_path(args, "repos_dir", "mkosi.reposdir/")
+ args_find_path(args, "repo_dirs", "mkosi.reposdir/", as_list=True)
args_find_path(args, "repart_dir", "mkosi.repart/")
find_extra(args)
if args.ssh_port <= 0:
die("--ssh-port must be > 0")
- if args.repos_dir and not (is_rpm_distribution(args.distribution) or args.distribution == Distribution.arch):
+ if args.repo_dirs and not (is_rpm_distribution(args.distribution) or args.distribution == Distribution.arch):
die("--repository-directory is only supported on RPM based distributions and Arch")
- if args.netdev and is_centos_variant(args.distribution) and not is_epel_variant(args.distribution):
+ if args.repo_dirs:
+ args.repo_dirs = [p.absolute() for p in args.repo_dirs]
+
+ if args.netdev and is_centos_variant(args.distribution) and not is_epel_variant(args.distribution)::
die("--netdev is only supported on EPEL centOS variants")
if args.machine_id is not None: