SHA256
1
0
forked from pool/mkosi
Commit Graph

21 Commits

Author SHA256 Message Date
Sebastian Wagner
0bc4bdef65 - Removed obsolete patch opensuse-dont-install-distribution-release-by-default.patch
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=35
2024-06-12 20:28:04 +00:00
Sebastian Wagner
1a98bb2670 Update to v23.1
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=34
2024-06-12 20:26:01 +00:00
Sebastian Wagner
4abf1c3196 Accepting request 1178505 from home:fbui:branches:Virtualization
- Drop requirement on systemd-experimental.
  It's no longer necessary as systemd-repart is no more considered as an
  experimental tool and is now shipped by udev. Also the hard requirement was a
  bit too strong since systemd-repart is only required when building disk
  images.

OBS-URL: https://build.opensuse.org/request/show/1178505
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=32
2024-06-04 14:05:03 +00:00
Sebastian Wagner
73ca3569e8 Accepting request 1177171 from home:aplanas:branches:Virtualization
- Add opensuse-dont-install-distribution-release-by-default.patch

OBS-URL: https://build.opensuse.org/request/show/1177171
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=30
2024-05-31 13:25:17 +00:00
Sebastian Wagner
3dd7b41a52 Accepting request 1162297 from home:RBrownSUSE:branches:Virtualization
- Correct dependencies after discussions with upstream
  * Requires: systemd-experimental for systemd-repart needed to build disk images
  * Requires: bubblewrap as bbwrap is called during build
  * Requires: zypper
  * Recommends: squashfs, tar, and xz as they are all optional features
  * Remove recommends for tools they no longer support

OBS-URL: https://build.opensuse.org/request/show/1162297
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=28
2024-03-26 21:08:55 +00:00
Sebastian Wagner
5bf478bb4b Accepting request 1158165 from home:flonnegren:branches:Virtualization
- Update to 22:
  * We'll now try to delete btrfs subvolumes with btrfs subvolume delete
    first before falling back to recursively deleting the directory.
  * The invoking user is now always mapped to root when running sync
    scripts. This fixes an issue where we would fail when a package
    manager tree or skeleton tree contained a /usr directory as we would
    not have permissions to run mount in the sandbox.
  * We now use qemu's official firmware descriptions to find EDK2/OVMF
    UEFI firmware. Addititionally, QemuFirmware=uefi now boots without
    SecureBoot support, and QemuFirmware=uefi-secure-boot was introduced
    to boot with SecureBoot support. By default we will still boot with
    SecureBoot support if QemuFirmware=auto.
  * Added support for QemuFirmwareVariables=custom and
    QemuFirmwareVariables=microsoft to use OVMF/EDK2 variables with
    either the user's custom keys enrolled or with the Microsoft keys
    enrolled.
  * Added UnifiedKernelImages= to control whether we generate unified
    kernel images or not.
  * Bootloader=grub will now generate a grub EFI image and install it.
    If SecureBoot= is enabled and ShimBootloader= is not set to
    signed, the grub EFI image will be signed for SecureBoot.
  * ShimBootloader=signed will now also instruct mkosi to look for and
    install already signed grub, systemd-boot, kernel and UKI binaries.
  * We now build grub images with a fixed set of modules and don't copy
    any grub modules to the ESP anymore.
  * The configuration is now made available as a JSON file to all mkosi
    scripts via the $MKOSI_CONFIG environment variable.
  * $PROFILE is now set for all mkosi scripts containing the value of
    Profile= if it is set.

OBS-URL: https://build.opensuse.org/request/show/1158165
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=26
2024-03-15 08:58:32 +00:00
Sebastian Wagner
a1cb76e145 Accepting request 1156961 from home:smolsheep:upgrades
- 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
2024-03-11 15:04:18 +00:00
Sebastian Wagner
843f3c4363 Accepting request 1140611 from home:dirkmueller:Factory
- update to 20.2:
  * Fixed a bug in signing unsigned shim EFI binaries.
  * We now build an early microcode initrd in the mkosi kernel-
    install plugin.
  * Added `PackageDirectories=` to allow providing extra packages
    to be made available during the build.
  * Fixed issue where `KernelModulesIncludeHost` was including
    unnecessary modules
  * Fixed `--mirror` specification for CentOS (and variants) and
    Fedora.
  * Previously a subdirectory within the mirror had to be
    specified which prevented using CentOS and EPEL repositories
    from the same mirror. Now only the URL has be specified.
  * We now mount package manager cache directories when running
    scripts on the host so that any packages installed in scripts
    are properly cached.
  * We don't download filelists on Fedora anymore
  * Nested build sources don't cause errors anymore when trying
    to install packages.
  * We don't try to build the same tools tree more than once
    anymore when building multiple images.
  * We now create the `/etc/mtab` compatibility symlink in
    mkosi's sandbox.
  * We now always hash the root password ourselves instead of
    leaving it to `systemd-firstboot`.
  * `/srv` and `/mnt` are not mounted read-only anymore during
    builds.
  * Fixed a crash when running mkosi in a directory with fewer
    than two parent directories.
  * Implemented `RepositoryKeyCheck=` for apt-based

OBS-URL: https://build.opensuse.org/request/show/1140611
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=22
2024-01-22 14:36:01 +00:00
Sebastian Wagner
4c6a047711 Accepting request 1140555 from home:dirkmueller:Factory
- update to 20.1:
  * `BuildSources=` are now mounted when we install packages so
    local packages can be made available in the sandbox.
  * Fixed check to see if we're running as root which makes sure
    we don't do shared mounts when running as root.
  * The extension release file is now actually written when
    building system or configuration extensions.
  * The nspawn settings are copied to the output directory again.
  * Incremental caching is now skipped when `Overlay=` is enabled
    as this combination isn't supported.
  * The SELinux relabel check is more granular and now checks for
    all required files instead of just whether there's a policy
    configured.
  * `qemu-system-xxx` binaries are now preferred over the generic
    `qemu` and `qemu-kvm` binaries.
  * Grub tools from the tools tree are now used to install grub
    instead of grub tools from the image itself. The grub tools
    were added to the default tools trees as well.
  * The pacman keyring in tools trees is now only populated from
    the Arch Linux keyring (and not the Debian/Ubuntu ones anymore).
  * `gpg` is allowed to access `/run/pscsd/pscsd.comm` on the
    host if it exists to allow interaction with smartcards.
  * The current working directory is not mounted unconditionally
    to `/work/src` anymore. Instead, the default value for
    `BuildSources=` now mounts the current working directory
    to `/work/src`. This means that the current working directory
    is no longer implicitly included when `BuildSources=` is
    explicitly configured.
  * Assigning the empty string to a setting that takes a list of
    values now overrides any configured default value as well.

OBS-URL: https://build.opensuse.org/request/show/1140555
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=21
2024-01-22 10:21:14 +00:00
Sebastian Wagner
d6fc0d972d Accepting request 1127786 from home:flonnegren:branches:Virtualization
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
2023-11-20 21:18:07 +00:00
Sebastian Wagner
7f95769ee9 - set singlepython version to python3 instead of python311 to allow build on Leap and not require changes on every Python change in Tumbleweed
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=17
2023-11-18 13:17:59 +00:00
Sebastian Wagner
1f0f01d564 Accepting request 1125848 from home:flonnegren:branches:openSUSE:Factory
Update changelog to include versions 15.1, 16, 17, 17.1

Remove python_subpackages to fix Provides.

OBS-URL: https://build.opensuse.org/request/show/1125848
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=16
2023-11-17 20:29:31 +00:00
Sebastian Wagner
704f5e84ab Accepting request 1039896 from home:dirkmueller:Factory
- update to v14:
  * mkosi now creates distro~release subdirectories inside the build, cache
    and output directories for each distro~release combination that is
    built. This allows building for multiple distros without throwing away
    the results of a previous distro build every time.
  * The preferred names for mkosi configuration files and directories are
    now mkosi.conf and mkosi.conf.d/ respectively. The old names
    (mkosi.default and mkosi.default.d) have been removed from the docs but
    are still supported for backwards compatibility.
  * plain_squashfs type images will now also be named with a .raw suffix.
  * tar type images will now respect the --compress option.
  * Pacman's SigLevel option was changed to use the same default value as
    used on Arch which is SigLevel = Required DatabaseOptional. If this
    results in keyring errors, you need to update the keyring by running
  * Support for CentOS 7 was dropped. If you still need to support CentOS 7,
    we recommend using any mkosi version up to 13.
  * Support for BIOS/grub was dropped. because EFI hardware is widely
    available and legacy BIOS systems do not support the feature set to
    fully verify a boot chain from firmware to userland and it has become
    bothersome to maintain for little use.
  * To generate BIOS images you can use any version of mkosi up to mkosi 13
    or the new --bios-size option. This can be used to add a BIOS boot
    partition of the specified size on which grub (or any other bootloader)
    can be installed with the help of mkosi's script support (depending on
    your needs most likely mkosi.postinst or mkosi.finalize). This method
    can also be used for other EFI bootloaders that mkosi intentionally does
    not support.
  * mkosi now unconditionally copies the kernel, initrd and kernel cmdline
    from the image that were previously only copied out for Qemu boot.
  * mkosi now runs apt and dpkg on the host. As such, we now require apt and

OBS-URL: https://build.opensuse.org/request/show/1039896
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=14
2022-12-07 15:06:23 +00:00
Sebastian Wagner
c527c510eb - update to version 13:
- The `--network-veth` option has been renamed to `--netdev`. The old name made
    sense with virtual ethernet devices, but when booting images with qemu a
    TUN/TAP device is used instead.
  - The network config file installed by mkosi when the `--netdev` (previously
    `--network-veth`) option is used (formerly
    `/etc/systemd/network/80-mkosi-network-veth.network` in the image) now only
    matches network interfaces using the `virtio_net` driver. Please make sure
    you weren't relying on this file to configure any network interfaces other
    than the tun/tap virtio-net interface created by mkosi when booting the image
    in QEMU with the `--netdev` option. If you were relying on this config file
    to configure other interfaces, you'll have to re-create it with the correct
    match and a lower initial number in the filename to make sure
    `systemd-networkd` will keep configuring your interface, e.g. via the
    `mkosi.skeleton` or `mkosi.extra` trees or a `mkosi.postinst` script.
  - The `kernel-install` script for building unified kernel images has been
    removed. From v13 onwards, on systems using `kernel-install`, `mkosi` won't
    automatically build new unified kernel images when a kernel is updated or
    installed. To keep the old behavior, you can install the `kernel-install`
    script manually via a skeleton tree; a copy can be found
    [here](3798eb0c2e/mkosi/resources/dracut_unified_kernel_install.sh).
  - New `QemuKvm` option configures whether to use KVM when running `mkosi qemu`.
  - `mkosi` will not default to the same OS release as the host system anymore
    when the host system uses the same distribution as the image that's being
    built. Instead, when no release is specified, mkosi will now always default
    to the default version embedded in mkosi itself.
  - `mkosi` will now use the `pacman` keyring from the host when building Arch
    images. This means that users will, on top of installing `archlinux-keyring`,
    also have to run `pacman-key --init` and `pacman-key --populate archlinux` on
    the host system to be able to build Arch images. Also, unless the package

OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=12
2022-09-26 06:11:31 +00:00
Sebastian Wagner
a32a54050b Accepting request 935495 from home:Guillaume_G:branches:Virtualization
- Enable build on aarch64

OBS-URL: https://build.opensuse.org/request/show/935495
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=11
2021-12-03 16:44:15 +00:00
Sebastian Wagner
592674b1a7 - update to version 12:
- Fix handling of baselayout in Gentoo installations.

OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=10
2021-12-03 07:00:22 +00:00
Sebastian Wagner
5fb05484dd - update to version 11:
- Support for Rocky Linux, Alma Linux, and Gentoo has been added!
  - A new `ManifestFormat=` option can be used to generate "manifest" files that
    describe what packages were installed. With `json`, a JSON file that shows
    the names and versions of all installed packages will be created. With
    `changelog`, a longer human-readable file that shows package descriptions and
    changelogs will be generated. This latter format should be considered
    experimental and likely to change in later versions.
  - A new `RemovePackages=` option can be used to uninstall packages after the
    build and finalize scripts have been done. This is useful for the case where
    packages are required by the build scripts, or pulled in as dependencies
    for scriptlets of other packages, but are not necessary in the final image.
  - A new `BaseImage=` option can be used to build "system extensions" a.k.a.
    "sysexts" — partial images which are mounted on top of an existing system
    to provide additional files under `/usr/`. See the
    [systemd-sysext man page](https://www.freedesktop.org/software/systemd/man/systemd-sysext.html)
    for more information.
  - A new `CleanPackageMetadata=` option can be used to force or disable the
    removal of package manager files. When this option is not used, they are
    removed when the package manager is not installed in the final image.
  - A new `UseHostRepositories=` option instructs mkosi to use repository
    configuration from the host system, instead of the internal list.
  - A new `SshAgent=` option configures the path to the ssh agent.
  - A new `SshPort=` option overrides the port used for ssh.
  - The `Verity=` setting supports a new value `signed`. When set, verity data
    will be signed and the result inserted as an additional partition in the
    image. See https://systemd.io/DISCOVERABLE_PARTITIONS for details about
    signed disk images. This information is used by `systemd-nspawn`,
    `systemd-dissect`, `systemd-sysext`, `systemd-portabled` and `systemd`'s
    `RootImage=` setting (among others) to cryptographically validate the image

OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=9
2021-11-25 20:30:13 +00:00
Sebastian Wagner
5eecbfde20 Accepting request 926624 from home:iDesmI
- Update to version 10

OBS-URL: https://build.opensuse.org/request/show/926624
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=8
2021-10-20 20:14:53 +00:00
Sebastian Wagner
c74de34b66 Accepting request 760612 from home:MaSven:branches:Virtualization
- update to version 5
 * no changelog available
 * merged upstream

OBS-URL: https://build.opensuse.org/request/show/760612
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=6
2020-01-04 21:28:25 +00:00
Sebastian Wagner
c524532867 - update to version 4
* no changelog available
 * removed 109.patch, merged upstream

OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=3
2018-02-12 19:36:31 +00:00
Cédric Bosdonnat
3a1e191642 Accepting request 520101 from home:sebix
can also maintain it
Implements feedback from Request#510584

OBS-URL: https://build.opensuse.org/request/show/520101
OBS-URL: https://build.opensuse.org/package/show/Virtualization/mkosi?expand=0&rev=1
2017-09-04 15:53:51 +00:00