From 2fe49e8a4c07b1a8d2652f4f1e70505f63653151 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 15 Oct 2025 21:40:11 +0200 Subject: [PATCH 1/4] mkosi: update mkosi commit reference to 10544812b35a668d4aac9834c78ee8166e99bc78 * 10544812b3 Don't fix up vmlinuz locations if not required * 9baf551923 Reduce amount of packages in default image * 9e1a2f18b8 Add support for assert sections * c7c6e2c0b1 ubuntu: Switch to devel as the default release * 0822deb69c Improve logging when we can not extract kernel version from filename * 1fd7ef3db7 Do not build default initrd if Initrds= is specified * 611c8b46c8 Don't unconditionally sync when PackageCacheDirectory=/var * ab37f24d38 README: add link to OBS docs for mkosi builds * 02bf256ebb completion: add reuse ignore comments * 10ccb0b04f Make sure not all subimages depend on default-initrd subimage * 442e1ce0f1 mkosi-tools: systemd-boot-tools is now available for all arches * 307fc1dba3 action: make it work when used as a submodule * c37a55f91b config: serialize dataclass instances in our JSONEncoder * f26cb34155 log: set terminal window title in complete_step while mkosi runs * 280c78e681 Make sure inherited settings are applied for the default initrd * ae4f2fd718 Fix typo * 5644f3e83e build(deps): bump github/codeql-action from 3.29.7 to 3.30.5 * 7d7b26b8c9 build(deps): bump actions/checkout from 4.2.2 to 5.0.0 * e805253447 postmarketos: implement is_kernel_package * dd51d2e019 postmarketos: provide missing i386-vars.fd * e23e6de66b Do not relabel files when building extension image * ab05ead5eb Bump various systemd version checks to 258 * 382cc8b450 preset: drop systemd-networkd-wait-online.service * 477b6b2ed5 mkosi-initrd: install systemd-container in network profile * 1d167c0b53 mkosi-initrd: add 89-ethernet.network for network profile * b1e81dec3a mkosi-initrd: Install libseccomp explicitly * 3c431a141c opensuse: repository non-oss-debug is invalid * 62ab363149 ci: add an s390x build job for additional coverage * 62765f2d07 mailmap: deduplicate Daan * 47f963f40b Revert "ci: Disable PPC jobs temporarily" * 6a48f83dda dnf: Always specify --best again * 3702368616 sandbox: Make all relative paths absolute during argparsing * a587af0bf7 dnf: Fix /var package cache directory check in package_subdirs() * 56cdbc25b5 Always use repository metadata from /var package cache directory * 669d4418a3 Add note on Encrypt=yes to Passphrase= docs * caa129edae Drop BuildSourcesEphemeral=yes from default image config * 7edca63478 Add devicetree-auto support for UKI * 6cb1649074 Don't add ncdu for ppc64-le on Fedora * e019d2d2a6 ci: Disable PPC jobs temporarily --- .github/workflows/coverage.yml | 2 +- .github/workflows/linter.yml | 2 +- .github/workflows/mkosi.yml | 2 +- mkosi/mkosi.conf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 75edd8f318..9595544ce4 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -25,7 +25,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: systemd/mkosi@d45142e329550abc9c6fc63c1f1f86e5286d3d67 + - uses: systemd/mkosi@10544812b35a668d4aac9834c78ee8166e99bc78 # Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space # immediately, we remove the files in the background. However, we first move them to a different location diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index c99d34705a..c0eae41c60 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -38,7 +38,7 @@ jobs: LINTER_RULES_PATH: .github/linters GITHUB_ACTIONS_CONFIG_FILE: actionlint.yml - - uses: systemd/mkosi@d45142e329550abc9c6fc63c1f1f86e5286d3d67 + - uses: systemd/mkosi@10544812b35a668d4aac9834c78ee8166e99bc78 - name: Check that tabs are not used in Python code run: sh -c '! git grep -P "\\t" -- src/core/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py' diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml index cb0db68b0a..4f50feea08 100644 --- a/.github/workflows/mkosi.yml +++ b/.github/workflows/mkosi.yml @@ -167,7 +167,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: systemd/mkosi@d45142e329550abc9c6fc63c1f1f86e5286d3d67 + - uses: systemd/mkosi@10544812b35a668d4aac9834c78ee8166e99bc78 # Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space # immediately, we remove the files in the background. However, we first move them to a different location diff --git a/mkosi/mkosi.conf b/mkosi/mkosi.conf index 50d95877c5..2cdb79f9ca 100644 --- a/mkosi/mkosi.conf +++ b/mkosi/mkosi.conf @@ -1,7 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Config] -MinimumVersion=commit:d45142e329550abc9c6fc63c1f1f86e5286d3d67 +MinimumVersion=commit:10544812b35a668d4aac9834c78ee8166e99bc78 Dependencies= exitrd initrd From fb514c2f8f195c869b2f0e9ea5ae4ecdd639ebbd Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 1 Sep 2025 17:29:54 +0200 Subject: [PATCH 2/4] mkosi: Rework how the pkgenv environment variables are set Instead of including distribution specific files in the subimages, let's have one common mkosi.pkgenv/ directory that handles all the matching which is then included in the subimages. This gives us more control on exactly how we do the matching. --- .packit.yml | 2 +- mkosi/mkosi.conf | 1 + mkosi/mkosi.images/build/mkosi.conf | 3 ++ .../build/mkosi.conf.d/arch/mkosi.conf | 3 -- .../mkosi.conf.d/centos-fedora/mkosi.conf | 3 -- .../mkosi.conf.d/debian-ubuntu/mkosi.conf | 3 -- .../build/mkosi.conf.d/opensuse/mkosi.conf | 3 -- .../mkosi.conf.d/arch.conf} | 3 ++ .../mkosi.conf.d/centos-fedora.conf} | 4 +++ .../mkosi.conf.d/debian-ubuntu.conf} | 4 +++ .../mkosi.conf.d/opensuse.conf} | 3 ++ mkosi/mkosi.tools.conf/mkosi.conf | 3 ++ mkosi/mkosi.tools.conf/mkosi.conf.d/arch.conf | 3 -- .../mkosi.conf.d/centos-fedora.conf | 3 -- .../mkosi.conf.d/debian-ubuntu.conf | 3 -- .../mkosi.conf.d/opensuse.conf | 3 -- tools/fetch-distro.py | 33 +++++++++++-------- 17 files changed, 41 insertions(+), 39 deletions(-) rename mkosi/{mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf => mkosi.pkgenv/mkosi.conf.d/arch.conf} (90%) rename mkosi/{mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf => mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf} (82%) rename mkosi/{mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf => mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf} (84%) rename mkosi/{mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf => mkosi.pkgenv/mkosi.conf.d/opensuse.conf} (89%) diff --git a/.packit.yml b/.packit.yml index d9c7bc41c4..c2a719a212 100644 --- a/.packit.yml +++ b/.packit.yml @@ -19,7 +19,7 @@ actions: post-upstream-clone: # Use the Fedora Rawhide specfile - git clone https://src.fedoraproject.org/rpms/systemd .packit_rpm - - bash -c 'git -C .packit_rpm checkout "$(grep GIT_COMMIT= mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf | cut -d= -f2)"' + - bash -c 'git -C .packit_rpm checkout "$(grep GIT_COMMIT= mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf | cut -d= -f2)"' - bash -c 'echo "%bcond upstream 1" > .packit_rpm/systemd.spec.new' - bash -c 'echo "%define meson_extra_configure_options --werror" >> .packit_rpm/systemd.spec.new' - bash -c 'cat .packit_rpm/systemd.spec >> .packit_rpm/systemd.spec.new' diff --git a/mkosi/mkosi.conf b/mkosi/mkosi.conf index 2cdb79f9ca..8c1a08abab 100644 --- a/mkosi/mkosi.conf +++ b/mkosi/mkosi.conf @@ -156,3 +156,4 @@ KVM=yes [Include] Include=%D/mkosi/mkosi.sanitizers %D/mkosi/mkosi.coverage + %D/mkosi/mkosi.pkgenv diff --git a/mkosi/mkosi.images/build/mkosi.conf b/mkosi/mkosi.images/build/mkosi.conf index b710f801ee..2870a4e32c 100644 --- a/mkosi/mkosi.images/build/mkosi.conf +++ b/mkosi/mkosi.images/build/mkosi.conf @@ -1,5 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Include] +Include=%D/mkosi/mkosi.pkgenv + [Content] Packages= clang diff --git a/mkosi/mkosi.images/build/mkosi.conf.d/arch/mkosi.conf b/mkosi/mkosi.images/build/mkosi.conf.d/arch/mkosi.conf index 9809fbc252..d7a79d11c1 100644 --- a/mkosi/mkosi.images/build/mkosi.conf.d/arch/mkosi.conf +++ b/mkosi/mkosi.images/build/mkosi.conf.d/arch/mkosi.conf @@ -3,9 +3,6 @@ [Match] Distribution=arch -[Include] -Include=%D/mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf - [Content] Packages= base diff --git a/mkosi/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.conf b/mkosi/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.conf index 438c0ab4ef..4d0ca8917d 100644 --- a/mkosi/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.conf +++ b/mkosi/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.conf @@ -4,9 +4,6 @@ Distribution=|centos Distribution=|fedora -[Include] -Include=%D/mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf - [Content] Packages= clang-devel diff --git a/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.conf b/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.conf index 240f357b98..55d7b1d904 100644 --- a/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.conf +++ b/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.conf @@ -4,9 +4,6 @@ Distribution=|debian Distribution=|ubuntu -[Include] -Include=%D/mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf - [Content] Packages= apt diff --git a/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.conf b/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.conf index 68ae1b33f0..70a1b31b64 100644 --- a/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.conf +++ b/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.conf @@ -3,9 +3,6 @@ [Match] Distribution=opensuse -[Include] -Include=%D/mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf - [Content] Packages= clang diff --git a/mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/arch.conf similarity index 90% rename from mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf rename to mkosi/mkosi.pkgenv/mkosi.conf.d/arch.conf index 07e4f48d3b..ba8508925e 100644 --- a/mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/arch.conf @@ -1,5 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Match] +Distribution=arch + [Build] Environment= GIT_URL=https://gitlab.archlinux.org/archlinux/packaging/packages/systemd.git diff --git a/mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf similarity index 82% rename from mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf rename to mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf index 75d3d4daa2..58d27fb34e 100644 --- a/mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf @@ -1,5 +1,9 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Match] +Distribution=|fedora +Distribution=|centos + [Build] Environment= GIT_URL=https://src.fedoraproject.org/rpms/systemd.git diff --git a/mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf similarity index 84% rename from mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf rename to mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf index 532d1b8f91..38607c9818 100644 --- a/mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf @@ -1,5 +1,9 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Match] +Distribution=|debian +Distribution=|ubuntu + [Build] Environment= GIT_URL=https://salsa.debian.org/systemd-team/systemd.git diff --git a/mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/opensuse.conf similarity index 89% rename from mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf rename to mkosi/mkosi.pkgenv/mkosi.conf.d/opensuse.conf index dedcb4b2b7..6a2c8868f0 100644 --- a/mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/opensuse.conf @@ -1,5 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Match] +Distribution=opensuse + [Build] Environment= GIT_URL=https://github.com/bmwiedemann/openSUSE diff --git a/mkosi/mkosi.tools.conf/mkosi.conf b/mkosi/mkosi.tools.conf/mkosi.conf index 4befc518b1..1ec5a3ef07 100644 --- a/mkosi/mkosi.tools.conf/mkosi.conf +++ b/mkosi/mkosi.tools.conf/mkosi.conf @@ -1,5 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +[Include] +Include=%D/mkosi/mkosi.pkgenv + [Content] SyncScripts=%D/mkosi/mkosi.sync Packages= diff --git a/mkosi/mkosi.tools.conf/mkosi.conf.d/arch.conf b/mkosi/mkosi.tools.conf/mkosi.conf.d/arch.conf index 382391ca70..2348d30286 100644 --- a/mkosi/mkosi.tools.conf/mkosi.conf.d/arch.conf +++ b/mkosi/mkosi.tools.conf/mkosi.conf.d/arch.conf @@ -3,9 +3,6 @@ [Match] Distribution=arch -[Include] -Include=%D/mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf - [Content] PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/arch/mkosi.prepare Packages= diff --git a/mkosi/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf b/mkosi/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf index f75f83723f..7c61681117 100644 --- a/mkosi/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf +++ b/mkosi/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf @@ -4,9 +4,6 @@ Distribution=|fedora Distribution=|centos -[Include] -Include=%D/mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf - [Content] PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.prepare Packages= diff --git a/mkosi/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf b/mkosi/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf index c62ed1c4dd..9fdf89bfb5 100644 --- a/mkosi/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf +++ b/mkosi/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf @@ -4,9 +4,6 @@ Distribution=|debian Distribution=|ubuntu -[Include] -Include=%D/mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf - [Content] PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.prepare Packages= diff --git a/mkosi/mkosi.tools.conf/mkosi.conf.d/opensuse.conf b/mkosi/mkosi.tools.conf/mkosi.conf.d/opensuse.conf index 844a3254b5..b698094618 100644 --- a/mkosi/mkosi.tools.conf/mkosi.conf.d/opensuse.conf +++ b/mkosi/mkosi.tools.conf/mkosi.conf.d/opensuse.conf @@ -3,9 +3,6 @@ [Match] Distribution=opensuse -[Include] -Include=%D/mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf - [Content] PrepareScripts=%D/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.prepare Packages= diff --git a/tools/fetch-distro.py b/tools/fetch-distro.py index fa60e60db7..2dad51be24 100755 --- a/tools/fetch-distro.py +++ b/tools/fetch-distro.py @@ -31,10 +31,13 @@ def parse_args(): action='store_true', default=False, ) + p.add_argument('--profile') return p.parse_args() def read_config(distro: str): cmd = ['mkosi', '--json', '-d', distro, 'summary'] + if args.profile: + cmd += ['--profile', args.profile] print(f"+ {shlex.join(cmd)}") text = subprocess.check_output(cmd, text=True) @@ -53,14 +56,15 @@ def commit_file(distro: str, files: list[Path], commit: str, changes: str): subprocess.check_call(cmd) def checkout_distro(args, distro: str, config: dict): - dest = Path(f'pkg/{distro}') - if dest.exists(): - print(f'{dest} already exists.') - return - url = config['Environment']['GIT_URL'] branch = config['Environment']['GIT_BRANCH'] subdir = config['Environment'].get('GIT_SUBDIR') + pkg_subdir = config['Environment']['PKG_SUBDIR'] + + dest = Path(f'pkg/{pkg_subdir}') + if dest.exists(): + print(f'{dest} already exists.') + return # Do not checkout the full sources if the package is in a subdirectory, # a sparse checkout will be done after @@ -81,12 +85,12 @@ def checkout_distro(args, distro: str, config: dict): # Sparse checkout if the package is in a subdirectory if subdir is not None: - cmd = ['git', '-C', f'pkg/{distro}', 'sparse-checkout', 'set', + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'sparse-checkout', 'set', '--no-cone', f'{subdir}'] print(f"+ {shlex.join(cmd)}") subprocess.check_call(cmd) - cmd = ['git', '-C', f'pkg/{distro}', 'checkout', 'HEAD'] + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'checkout', 'HEAD'] print(f"+ {shlex.join(cmd)}") subprocess.check_call(cmd) @@ -96,18 +100,19 @@ def update_distro(args, distro: str, config: dict): branch = config['Environment']['GIT_BRANCH'] subdir = config['Environment'].get('GIT_SUBDIR') old_commit = config['Environment']['GIT_COMMIT'] + pkg_subdir = config['Environment']['PKG_SUBDIR'] if args.fetch: - cmd = ['git', '-C', f'pkg/{distro}', 'fetch', 'origin', '-v', + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'fetch', 'origin', '-v', f'{branch}:remotes/origin/{branch}'] print(f"+ {shlex.join(cmd)}") subprocess.check_call(cmd) - cmd = ['git', '-C', f'pkg/{distro}', 'switch', branch] + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'switch', branch] print(f"+ {shlex.join(cmd)}") subprocess.check_call(cmd) - cmd = ['git', '-C', f'pkg/{distro}', 'log', '-n1', '--format=%H', + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'log', '-n1', '--format=%H', f'refs/remotes/origin/{branch}'] if subdir is not None: cmd += [f'{subdir}'] @@ -115,10 +120,10 @@ def update_distro(args, distro: str, config: dict): new_commit = subprocess.check_output(cmd, text=True).strip() if old_commit == new_commit: - print(f'{distro}: commit {new_commit!s} is still fresh') + print(f'{pkg_subdir}: commit {new_commit!s} is still fresh') return - cmd = ['git', '-C', f'pkg/{distro}', 'log', '--graph', '--first-parent', + cmd = ['git', '-C', f'pkg/{pkg_subdir}', 'log', '--graph', '--first-parent', '--pretty=oneline', '--no-decorate', '--abbrev-commit', '--abbrev=10', f'{old_commit}..{new_commit}'] if subdir is not None: @@ -126,8 +131,8 @@ def update_distro(args, distro: str, config: dict): print(f"+ {shlex.join(cmd)}") changes = subprocess.check_output(cmd, text=True).strip() - conf_dir = Path('mkosi/mkosi.conf.d') - files = conf_dir.glob('**/pkgenv.conf') + conf_dir = Path('mkosi/mkosi.pkgenv/mkosi.conf.d') + files = conf_dir.glob('*.conf') for file in files: s = file.read_text() if old_commit in s: From c41c4b2bf367b743d6de03f295dd5377765a342f Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Mon, 1 Sep 2025 17:31:29 +0200 Subject: [PATCH 3/4] mkosi: Add hyperscale profile In the CentOS Hyperscale SIG, we maintain a backport of systemd with its own rpm spec forked from rawhide. Let's make it easy to build upstream rpms using the Hyperscale spec by adding a mkosi hyperscale profile. --- mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf | 1 + mkosi/mkosi.pkgenv/mkosi.conf.d/hyperscale.conf | 14 ++++++++++++++ mkosi/mkosi.profiles/hyperscale/mkosi.conf | 7 +++++++ 3 files changed, 22 insertions(+) create mode 100644 mkosi/mkosi.pkgenv/mkosi.conf.d/hyperscale.conf create mode 100644 mkosi/mkosi.profiles/hyperscale/mkosi.conf diff --git a/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf index 58d27fb34e..f43ed51c93 100644 --- a/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/centos-fedora.conf @@ -3,6 +3,7 @@ [Match] Distribution=|fedora Distribution=|centos +Profiles=!hyperscale [Build] Environment= diff --git a/mkosi/mkosi.pkgenv/mkosi.conf.d/hyperscale.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/hyperscale.conf new file mode 100644 index 0000000000..5059d86161 --- /dev/null +++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/hyperscale.conf @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Profiles=hyperscale + +[Assert] +Distribution=centos + +[Build] +Environment= + GIT_URL=https://gitlab.com/CentOS/Hyperscale/rpms/systemd.git + GIT_BRANCH=c10s-sig-hyperscale + GIT_COMMIT=417b671b173ea6271c00a3c605215b5f68795a3a + PKG_SUBDIR=hyperscale diff --git a/mkosi/mkosi.profiles/hyperscale/mkosi.conf b/mkosi/mkosi.profiles/hyperscale/mkosi.conf new file mode 100644 index 0000000000..6f16b3fe45 --- /dev/null +++ b/mkosi/mkosi.profiles/hyperscale/mkosi.conf @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=centos + +[Distribution] +Repositories=hyperscale-packages-main From 91af1940018dabd94a23932983f6180db9cae674 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 19 Nov 2025 16:43:54 +0100 Subject: [PATCH 4/4] mkosi: Add fixed qemu ppa for Noble temporarily Until https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2127974 is fixed and rolled out, let's use enr0n's ppa with the fixed qemu to make CI pass. --- .../etc/apt/sources.list.d/qemu.sources | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 mkosi/mkosi.tools.conf/mkosi.sandbox/etc/apt/sources.list.d/qemu.sources diff --git a/mkosi/mkosi.tools.conf/mkosi.sandbox/etc/apt/sources.list.d/qemu.sources b/mkosi/mkosi.tools.conf/mkosi.sandbox/etc/apt/sources.list.d/qemu.sources new file mode 100644 index 0000000000..90c29155ef --- /dev/null +++ b/mkosi/mkosi.tools.conf/mkosi.sandbox/etc/apt/sources.list.d/qemu.sources @@ -0,0 +1,34 @@ +Types: deb +URIs: https://ppa.launchpadcontent.net/enr0n/qemu/ubuntu/ +Suites: noble +Components: main +Signed-By: + -----BEGIN PGP PUBLIC KEY BLOCK----- + . + mQINBGH5cH0BEADThqBQWZiPv6UdXe5FkAH6ju24sO6eYzUlVWkpJZcMjr3WBgIN + I69C2OHhwZDB3NkScPZejl1cSiMNkXN64B0lAxsahL1DxlSNkKP3mdbiuyslG89b + 2fyhnIq8wLb7b7taZs8bE++CHjaua16qdlgUrbq37waOoA/UO8DiudP8L//qRWwj + j8RuELkDiUU+dwuJnJp3v3hsaDCl9PeUYnmFyfNtfh6xFQgCkZyQQaSnnfl1Ba89 + V0uQ0D4LuW2e0uMSXhkG774X9kJX2vg5gMR5RWwaftMQh2Fxt6mqe00dPl+SMp95 + 9hpNc2ZL/VTwq/TPL+P4FU1/n/6R7fnkyh7zDw++VCn5s2Lqq/uV/mheiFbDNdsp + YYPoF4S+2iMYHMlqpmPQF4obSSr066Hq74WsuJM+fntYcgnK/Sjwt6CYcdmq+AvC + x3ZFJgsxYJPBLtPyqPmqBfBVH5F5vBiJibJq+5Ny9HVYWIcQuMwa02RcJbMdFG2/ + If9TVQYysvdR3TKjk4gVmfS76dBrR1lZjbWx3Ynz5lMqfYnesbocZbrd5LFvXdRl + 1uUmbLkUdyII11ZfgXveycFKnRXYUgmnj3NRI5IlYKqH5iPBd/iHneeI2l2e/NVN + 6YPcC17dQVhWUKM3D5XdkjZBUFnTyf7QlqUiRnu3eomzcPypDsilMTqJXQARAQAB + tB9MYXVuY2hwYWQgUFBBIGZvciBOaWNrIFJvc2Jyb29riQJOBBMBCgA4FiEEwH5l + MEnRbPBOQRqIJhaTwJngVOUFAmH5cH0CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgEC + F4AACgkQJhaTwJngVOXjtxAAxhrizeyhu3hPDqgmk4qtenEEYcLtJGdMq8DXTQZu + vKAZ7OvQiyZw456oRUHSe5gyT2tFWDz/DxJ7VU9657WupO9a2YmUlbYpoYK/npA0 + 6+307KssyK7g6DU63mugqjKvTKhJK3hSganYEyovhJsZUlXwPcJ4szUH5BiR0nQh + f1mKIWD9ktSd2Eywp8PtDyraX1I7h6H8OrMwPSXxKlk5BtrhLg5xh7FJOVLFw9vT + xqCziywxi3mJgGEOLZPUs13l24wiHmQpP1eG/LadPsE0Lkqurzj/eyKHjziqynz+ + MTpOr7IhvUhXqnMmxNzJF76e16e5MoxEekAelagF2KzXtnmHRLWqkjU/k2cbeU5n + /T+g+eVKH5ALCRMgYS5ZFsDYD5KivGeEE6BypyTqpqge3BN8rZJs3uRji/IPRhA8 + N6t030lB5z2WldBADRZB0w61Uz7v6aTr4zjafjygIvVWcgRj0plsndwYwEIddw1v + ut6ZO9XudWiNExawuyAMSTbQh3xhfltWFRIuOp6taQRqP0hPzjbyeaDBz3JXM2gj + rKS2lh3HVnEBtRKurk8+/fUXjY9zTu1xzA0AslMX3WecAexECd9QRI3U+M6ak8GJ + O8vcL5svM8nqDb7z6DWeBU6+Ejtn3fJ13oit9+fN+NQUUkHCaWMUuI6yVkgLWymb + I/U= + =JGzV + -----END PGP PUBLIC KEY BLOCK-----