diff --git a/mkosi-23.1.tar.gz b/mkosi-23.1.tar.gz deleted file mode 100644 index a176ca7..0000000 --- a/mkosi-23.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:116bd3d848ce767a584ce288ad5a098a47d42067c9b95aa5a6662de33dc04eb9 -size 337863 diff --git a/mkosi-24.3.tar.gz b/mkosi-24.3.tar.gz new file mode 100644 index 0000000..d1a27ee --- /dev/null +++ b/mkosi-24.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e4ee602089509c20d41e6deabae906368dcdc906e44460656272f546b8e2bd +size 349900 diff --git a/mkosi-initrd.conf b/mkosi-initrd.conf new file mode 100644 index 0000000..5ba717e --- /dev/null +++ b/mkosi-initrd.conf @@ -0,0 +1,59 @@ +[Content] +RemoveFiles= + /etc/bash_completion.d + /etc/man.conf + /srv + /usr/local/man + /usr/share/bash-completion + /usr/share/bash/helpfiles + /usr/share/doc + /usr/share/fillup-templates + /usr/share/help + /usr/share/icons + /usr/share/info + /usr/share/licenses + /usr/share/locale + /usr/share/man + /usr/share/zsh + /usr/etc/services + /var/adm + + # Keep only C.utf-8 locale + /usr/lib/locale/*_*/ + /usr/lib/locale/??/ + /usr/lib/locale/???/ + + # RPM + /etc/rpm + /usr/bin/gendiff + /usr/bin/rpm* + /usr/lib/rpm + /usr/lib/sysimage + /usr/lib/systemd/system/rpmconfigcheck.service + /usr/lib64/rpm-plugins + /usr/sbin/rpmconfigcheck + /usr/src/packages + + # Zypper + /etc/zypp + /usr/bin/installation_sources + /usr/bin/yzpper + /usr/bin/zypper + /usr/etc/logrotate.d/zypp* + /usr/lib/zypper + /usr/sbin/zypp-refresh + /usr/share/zypper + /var/log/zypp + /var/log/zypper.log + + # YaST2 + /etc/YaST2 + + # suse-module-tools scripts (except unblacklist: bsc#1224320) + /usr/lib/module-init-tools/driver-check.sh + /usr/lib/module-init-tools/get_dracut_drivers + /usr/lib/module-init-tools/lsinitrd-quick + /usr/lib/module-init-tools/weak-modules2 + + # dracut modules installed by other packages + /usr/lib/dracut diff --git a/mkosi.changes b/mkosi.changes index 865dd8b..e0ed46b 100644 --- a/mkosi.changes +++ b/mkosi.changes @@ -1,3 +1,94 @@ +------------------------------------------------------------------- +Thu Aug 1 13:29:36 UTC 2024 - Sebastian Wagner + +- remove env-shebang from /usr/lib/kernel/install.d/50-mkosi.install + +------------------------------------------------------------------- +Tue Jul 30 12:16:44 UTC 2024 - Antonio Feijoo + +- Create new subpackage mkosi-initrd +- Add file %{_prefix}/lib/mkosi-initrd/mkosi.conf + +------------------------------------------------------------------- +Sun Jul 28 21:38:24 UTC 2024 - Fredrik Lönnegren + +- Update to 24.3: + * Check for $HOME environment variable as well. + +- Update to 24.2: + * Look for $USER for the username before reading /etc/passwd + +- Update to 24.1: + * completion: fix bash completion script + * Add some documentation on how to implement a new distribution + * Add missing init.py to mkosi/initrd/resources + * Handle dangling symlinks in rmtree() and run_clean() + * Handle failure to detect the distribution in test_parse_config() + +- Update to 24: + * The default kernel command line of console=ttyS0 (or equivalent for + other architectures) has been removed. The required console= + argument to have the kernel output to the serial console has to be + added manually from v24 onwards. + * Support for installing local packages located in directories in + BuildSources= was dropped. Instead, the packages can be made + available for installation via PackageManagerTrees=. + * Configuration parsing was reworked to remove the need for the @ + specifier and to streamline building multiple images with + mkosi.images/. If you were building multiple images with + mkosi.images/, you'll need to adapt your configuration to the + rework. Read the Building multiple images section in the + documentation for more information. + * mkosi has gained the option to generate completion scripts for bash, + fish and zsh. Packagers should generate the scripts during packaging + and ship them in the appropriate places. + * Added support for CentOS Stream 10. + * mkosi now installs a separate mkosi-initrd script that can be used + to build initramfs images intended for use on the local system. + * We do not automatically append centos-stream or fedora anymore to + CentOS (and derivatives) and Fedora mirrors specified with Mirror= + as not all mirrors store the repository metadata under these + subdirectories. Users are now required to add these subdirectories + themselves in Mirror=. If the EPEL repositories are enabled for + CentOS Stream (and derivatives) and Mirror= is used, we look for the + EPEL repositories in ../fedora relative to the mirror specified in + Mirror=. + * We now support compressed tar archives wherever we already accept tar + archives as input. + * We now always rerun the build if Format=none and don't remove + previous outputs in that case (unless --force is specified). This + allows using mkosi -t none to rerun the build scripts without + removing the previous image. This can then be combined with + RuntimeBuildSources=yes to make the build script outputs available + in a booted container or virtual machine so they can be installed + without having to rebuild the image. + * We now use virtconsole to provide the serial console when booting + with qemu. + * root=PARTUUID and mount.usr=PARTUUID on the kernel command line + are now automatically extended with the actual PARTUUID of the + corresponding partition. + * All available OpenSUSE repositories are now supported and can be + enabled with Repositories=. + * Building OpenSUSE aarch64 images is now supported + * mkosi dependencies was beefed up to handle more scenarios properly + * The default list of kernel modules that are always added to the + initramfs was extended with various virtualization modules. + * Added a Repositories= match. + * Cached images are now invalidated if packages specified via + PackageDirectories= change. + * Added VolatilePackageDirectories= which can be used to provide local + packages that do not invalidate cached images. + * mkosi.pkgmngr is now used as the default path for + PackageManagerTrees=. + * The package directory that build scripts can use to make built + packages available for installation ($PACKAGEDIR) is now shared + between all image builds. This means that packages built in earlier + images and stored in $PACKAGEDIR become available for installation + in all subsequent image builds. + * The default tools tree distribution is now chosen based on the host + distribution instead of the target distribution. + * mkosi can now be invoked from the initramfs. + ------------------------------------------------------------------- Thu Jun 13 09:23:17 UTC 2024 - Antonio Feijoo @@ -778,7 +869,7 @@ Sat Dec 3 22:08:17 UTC 2022 - Dirk Müller actual directory owner on the host. ------------------------------------------------------------------- -Mon Sep 26 06:08:52 UTC 2022 - Sebastian Wagner +Mon Sep 26 06:08:52 UTC 2022 - Sebastian Wagner - update to version 13: - The `--network-veth` option has been renamed to `--netdev`. The old name made @@ -835,13 +926,13 @@ Fri Dec 3 14:55:35 UTC 2021 - Guillaume GARDET - Enable build on aarch64 ------------------------------------------------------------------- -Fri Dec 3 06:59:38 UTC 2021 - Sebastian Wagner +Fri Dec 3 06:59:38 UTC 2021 - Sebastian Wagner - update to version 12: - Fix handling of baselayout in Gentoo installations. ------------------------------------------------------------------- -Thu Nov 25 20:29:17 UTC 2021 - Sebastian Wagner +Thu Nov 25 20:29:17 UTC 2021 - Sebastian Wagner - update to version 11: - Support for Rocky Linux, Alma Linux, and Gentoo has been added! @@ -905,14 +996,14 @@ Fri Jan 3 09:36:40 UTC 2020 - Sven Marquardt * merged upstream ------------------------------------------------------------------- -Mon Feb 12 19:22:30 UTC 2018 - sebix+novell.com@sebix.at +Mon Feb 12 19:22:30 UTC 2018 - sebix@sebix.at - update to version 4 * no changelog available * removed 109.patch, merged upstream ------------------------------------------------------------------- -Thu Jun 29 16:20:46 UTC 2017 - sebix+novell.com@sebix.at +Thu Jun 29 16:20:46 UTC 2017 - sebix@sebix.at - initial package - Add 109.patch from pull request at upstream repository, workaround for boo#1049997 and missing support for https URLs in mkosi/zypper diff --git a/mkosi.spec b/mkosi.spec index 2e4cc15..5462f6d 100644 --- a/mkosi.spec +++ b/mkosi.spec @@ -19,13 +19,14 @@ %define pythons python3 Name: mkosi -Version: 23.1 +Version: 24.3 Release: 0 Summary: Build bespoke 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 +Source1: mkosi-initrd.conf BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module wheel} @@ -37,6 +38,7 @@ Requires: bubblewrap Requires: python3 >= 3.9 Requires: zypper Recommends: btrfsprogs +Recommends: cpio Recommends: dosfstools Recommends: dpkg Recommends: edk2-ovmf @@ -61,12 +63,24 @@ logs and coredumps, and also serve an image over HTTP. See https://mkosi.systemd.io/ for documentation. +%package initrd +Summary: Build initrds locally using mkosi +Requires: %{name} = %{version}-%{release} +Requires: coreutils + +%description initrd +This package provides the mkosi-initrd wrapper and a plugin for kernel-install +to build initrds with mkosi locally. After the package is installed, the plugin +can be enabled by writing 'initrd_generator=mkosi-initrd' to +'/etc/kernel/install.conf'. + %prep %autosetup -p1 %build tools/make-man-page.sh %pyproject_wheel +sed -i '1s/^#!\/usr\/bin\/env /#!\/usr\/bin\//' kernel-install/50-mkosi.install %install %pyproject_install @@ -74,6 +88,26 @@ tools/make-man-page.sh mkdir -p %{buildroot}%{_mandir}/man1 cp %{buildroot}%{python3_sitelib}/mkosi/resources/mkosi.1* %{buildroot}%{_mandir}/man1/ +cp %{buildroot}%{python3_sitelib}/mkosi/initrd/resources/mkosi-initrd.1* %{buildroot}%{_mandir}/man1/ + +# Install the kernel-install plugin +install -Dt %{buildroot}%{_prefix}/lib/kernel/install.d/ \ + kernel-install/50-mkosi.install +mkdir -p %{buildroot}%{_prefix}/lib/mkosi-initrd +install -m 644 %{SOURCE1} %{buildroot}%{_prefix}/lib/mkosi-initrd/mkosi.conf +mkdir -p %{buildroot}%{_sysconfdir}/mkosi-initrd + +%post initrd +if [ ! -e %{_sysconfdir}/mkosi-initrd/mkosi.conf ]; then + cat >> %{_sysconfdir}/mkosi-initrd/mkosi.conf<