forked from pool/mkosi
a1cb76e145
- Update to 21: * We now handle unmerged-usr systems correctly * Builtin configs (mkosi-initrd, mkosi-tools) can now be included using Include= (e.g. Include=mkosi-initrd) * The kernel-install plugin now uses the builtin mkosi-initrd config so there's no need anymore to copy the full mkosi-initrd config into /usr/lib/mkosi-initrd. * We don't require a build anymore for the journalctl and coredumpctl verbs. * mkosi ssh works again when used with ToolsTree=default * We now use .zst instead of .zstd for compressed split artifacts produced by systemd-repart. * systemd-repart uses a persistent temporary directory again for assembling images instead of a tmpfs. * Added MicrocodeHost= setting to only include the CPU specific microcode for the current host system. * The kernel-install plugin now only includes the CPU specific microcode * Introduced PackageCacheDirectory= to set the directory for package manager caches. This setting defaults to a suitable location in the system or user directory depending on how mkosi is invoked. * CacheDirectory= is only used for incremental cached images now. * Repository metadata is now synced once at the start of each image build and never during an image build. Each image includes a snapshot of the repository metadata in the canonical locations in /var so that incremental images and extension images can reuse the same snapshot. When building an image intended to be used with * BaseTrees=, disable CleanPackageMetadata= to make sure the OBS-URL: https://build.opensuse.org/request/show/1156961 OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=24
89 lines
2.5 KiB
RPMSpec
89 lines
2.5 KiB
RPMSpec
#
|
|
# spec file for package mkosi
|
|
#
|
|
# Copyright (c) 2024 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: 21
|
|
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
|