forked from pool/mkosi
Mon Nov 20 09:21:06 UTC 2023 - Fredrik Lönnegren <fredrik.lonnegren@suse.com> - update to v19: * Support for RHEL was added! * Added journalctl and coredumpctl verbs for running the respective tools on built directory or disk images. * Added a burn verb to write the output image to a block device. * Added a new esp output format, which is large similar to the existing uki output format but wraps it in a disk image with only an ESP. * Presets were renamed to Images. mkosi.images/ is now used instead of mkosi.presets/, the Presets= setting was renamed to Images= and the Presets section was merged into the Config section. The old names can still be used for backwards compatibility. * Added profiles to support building variants of the same image in one repository. Profiles can be defined in mkosi.profiles/ and one can be selected using the new Profile= setting. * mkosi will now parse mkosi.local.conf before any other config files if that exists. * Added a kernel-install plugin. This is only shipped in source tree and not included in the Python module. * Added a --json option to get the output of mkosi summary as JSON. * Added shorthand -a for --autologin. * Scripts with the .chroot extension are now executed in the image automatically. * Added rpm helper script to have rpm automatically operate on the image when running scripts. * Added mkosi-as-caller helper script that can be used in scripts to run commands as the user invoking mkosi. * mkosi-chroot will now start a shell if no arguments are specified. * Added WithRecommends= to configure whether to install recommended packages by default or not where this is supported. It is disabled by default. * Added ToolsTreeMirror= setting for configuring the mirror to use for the default tools tree. * WithDocs= is now enabled by default. * Added BuildSourcesEphemeral= to make source directories ephemeral when running scripts. This means any changes made to source directories while running scripts will be undone after the scripts have finished executing. * Added QemuDrives= to have mkosi create extra qemu drives and pass them to qemu when using the qemu verb. * Added BuildSources= match to match against configured build source targets. * PackageManagerTrees= was moved to the Distribution section. * We now automatically configure the qemu firmware, kernel cmdline and initrd based on what type of kernel is passed by the user via -kernel or QemuKernel=. * The mkosi repository itself now ships configuration to build basic bootable images that can be used to test mkosi. * Added support for enabling updates-testing repositories for Fedora. * GPG keys for CentOS, Fedora, Alma and Rocky are now looked up locally first before fetching them remotely. * Signatures are not required for local packages on Arch anymore. * Packages on opensuse are now always downloaded in advance before installation when using zypper. * The tar output is now reproducible. * We now make sure git can be executed from mkosi scripts without running into permission errors. * We don't create subdirectories beneath the configured cache directory anymore. * Workspace directories are now created outside of any source directories. mkosi will either use XDG_CACHE_HOME, $HOME/.cache or /var/tmp depending on the situation. * Added environment variable MKOSI_DNF to override which dnf to use for building images (dnf or dnf5). * The rootfs can now be modified when running build scripts (with all changes thrown away after the last build script has been executed). * mkosi now fails if configuration specified via the CLI does not apply to any image (because it is overridden). * Added a new doc on building rpms from source with mkosi (docs/building-rpms-from-source.md). * /etc/resolv.conf will now only be mounted for scripts when they are run with network access. OBS-URL: https://build.opensuse.org/request/show/1127786 OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=19
89 lines
2.5 KiB
RPMSpec
89 lines
2.5 KiB
RPMSpec
#
|
|
# spec file for package mkosi
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define pythons python3
|
|
|
|
Name: mkosi
|
|
Version: 19
|
|
Release: 0
|
|
Summary: Build Legacy-Free OS Images
|
|
License: LGPL-2.1-or-later
|
|
Group: System/Management
|
|
URL: https://github.com/systemd/mkosi
|
|
Source: https://github.com/systemd/mkosi/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: %{pythons}
|
|
BuildRequires: fdupes
|
|
BuildRequires: pandoc
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python3 >= 3.9
|
|
Requires: squashfs
|
|
Requires: tar
|
|
Requires: xz
|
|
Recommends: arch-install-scripts
|
|
Recommends: btrfsprogs
|
|
Recommends: debootstrap >= 1.0.117
|
|
Recommends: dnf >= 4.8.0
|
|
Recommends: dosfstools
|
|
Recommends: dpkg
|
|
Recommends: edk2-ovmf
|
|
Recommends: gnupg
|
|
Recommends: pacman >= 6.0.1
|
|
Recommends: veritysetup
|
|
Recommends: zstd
|
|
BuildArch: noarch
|
|
ExclusiveArch: x86_64 aarch64
|
|
|
|
%description
|
|
A fancy wrapper around dnf --installroot, debootstrap, pacstrap and zypper that
|
|
may generate disk images with a number of bells and whistles.
|
|
|
|
Generated images are "legacy-free". This means only GPT disk labels
|
|
(and no MBR disk labels) are supported, and only systemd based images
|
|
may be generated. Moreover, for bootable images only EFI systems are
|
|
supported (not plain MBR/BIOS).
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
tools/make-man-page.sh
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%python_expand %fdupes %{buildroot}/%{$python_sitelib}/mkosi
|
|
|
|
mkdir -p %{buildroot}%{_mandir}/man1
|
|
cp %{buildroot}%{python3_sitelib}/mkosi/resources/mkosi.1* %{buildroot}%{_mandir}/man1/
|
|
|
|
%check
|
|
%pytest
|
|
|
|
%files
|
|
%doc mkosi.md README.md
|
|
%license LICENSE
|
|
%{_bindir}/mkosi
|
|
%{_mandir}/man1/mkosi.1*
|
|
%{python3_sitelib}/mkosi
|
|
%{python3_sitelib}/mkosi-%{version}.dist-info
|
|
|
|
%changelog
|