Commit graph

282 commits

Author SHA1 Message Date
Daan De Meyer 5acca1b885 mkosi: update arch commit reference
* d5a2dc54da Use vmlinux.h from linux-headers
* 59912d804f update checksums...
* 83edb5244e build: set ssh privsep dir to /usr/share/empty.sshd
* 65363cc5ba build: explicitly enable vmlinux-h=generated
* 14e6d27dd4 build: drop deprecated default-hierarchy option
* 81e7545ca3 systemd.install: stop applying ACL ourselves
* 147c214201 systemd-hook: use systemd-notify --booted to detect if systemd is running
* 010bc3c05c upgpkg: 256.6-1: new upstream release
2024-09-25 21:23:16 +02:00
Daan De Meyer 6d862a9dc0 mkosi: Add back support for running clangd within mkosi
This allows hacking on systemd without installing any build
dependencies except mkosi on the host machine.
2024-09-22 15:23:01 +02:00
Zbigniew Jędrzejewski-Szmek 3f922abe49 mkosi: supress error messages from git
When updating, I get a message like:
fatal: Not a valid object name a67221c3f0d0b81b9b5b3230a71d09044342f1a4^{commit}

The failure here is expected, it just means that an update is
necessary, so suppress output.
2024-09-20 16:45:44 +02:00
Daan De Meyer 27a8a29e32 mkosi: Disable makepkg PKGBUILD linting using the newly added environment variable 2024-09-15 12:44:15 +02:00
Luca Boccassi 7b9dc72c3c mkosi: update debian commit reference
* 0704bfd93f Use dh-exec for d/systemd-timesyncd.manpages
* b668a942e9 Install new sd-stub tmpfiles.d
* 57aa6890f3 Install new org.freedesktop.timesync1 manpage
* 63e7fb5a48 Install new shell credentials snippets
* 3ce727ad45 Update changelog for 256.6-1 release
* 65e0731d3a Note systemd-cryptsetup package split in NEWS
*   2bd9927f5d Update upstream source from tag 'upstream/256.6'
|\
| * 27c691ac24 New upstream version 256.6
* 395974bae4 Re-enable utmp support, tmux's autopkgtests require it
* 685e1c84eb initramfs-tools: ensure rules file exists before invoking chzdev
* a454822396 Filter out zdev rules in the initramfs hook (LP: #2044104)
* cd0179221d salsa-ci: test the stage1 build profile
* 55917feab0 Update changelog for 256.5-2 release
* f280a3cbf5 Disable utmp support, replaced by wtmpdb
* 635c5f48dc d/t/upstream: do not pass /var/cache/apt/archives to PackageDirectories
2024-09-13 12:06:27 +02:00
Daan De Meyer cf94f513f0 mkosi: Stop applying device groups patch on Arch
It stopped applying so let's stop applying it to make CI green again.
2024-09-12 22:23:57 +02:00
Daan De Meyer 517e892210 mkosi: Drop _fixperms workaround
This was added to deal with a bug in the rpm 4.20 rc in Rawhide
but since that's been fixed, let's drop the workaround.
2024-09-07 21:20:09 +09:00
Daan De Meyer 31e7a37480 mkosi: Remove rpm workaround
rpm 4.19.93 (4.20 rc) is in rawhide so let's drop the workaround.
2024-09-05 18:45:52 +02:00
Luca Boccassi c08ffe5b12 mkosi: update debian commit reference
* bb6db3edfe Install new sd-sysupdated files in systemd-container
2024-08-30 11:54:13 +01:00
Daan De Meyer c5730846fe mkosi: Don't fetch remote if the commit to check out already exists
If the commit we're about to check out already exists in the local
repository, don't fetch from the remote repository.
2024-08-29 19:16:19 +01:00
Daan De Meyer e921a8ad67 mkosi: update fedora commit reference
* a67221c3f0 Always build ukify package
* abb115a905 Do not use patch to modify systemd-user pam config file
* 196ec98228 Drop %upstream conditionalization for patches
2024-08-29 15:13:39 +02:00
Daan De Meyer ffd76bdd97 mkosi: Switch back to src.opensuse.org for opensuse spec
Supposedly they're never going to rewrite their git history again
so let's give src.opensuse.org another try given that code.opensuse.org
is down again.
2024-08-28 20:36:46 +01:00
Daan De Meyer e885e9defa mkosi: update debian commit reference
* aa17b7ddf9 Fix stage1 build
* 2c13391e33 Update changelog for 256.5-1 release
* 7d13196926 autopkgtest: skip TEST-64-UDEV-STORAGE due to qemu crash
* 47769e8d7c Drop patch merged upstream
*   4e8e9315b5 Update upstream source from tag 'upstream/256.5'
|\
| * 71b885347d New upstream version 256.5
* 89a33e5408 d/e/checkout-upstream: undo quilt patches before switching debian branch
* 3c942ecb0d d/e/checkout-upstream: do not rebase on main when building stable branches
2024-08-28 16:15:42 +02:00
Daan De Meyer 92c22e02c1 mkosi: update fedora commit reference
* 28076e6232 Only make python3-pillow Recommends on Fedora
* a9807c4486 Do not require grubby on CentOS Stream 9
* d38cacfd3a Version 256.5
* 38291e13c1 Disable integration of userdb in sshd
* 53118d2112 Backport patch to only read /proc/cmdline when not in container
* 903e8e0f88 Backport upstream patch to try more initrd variants in 90-loaderentry.install
* b29a66006c Version 256.4
* 1cdae03391 Update tmpfiles --destroy-data patch
* 4fd4ef72a6 Upload sources
* 3c3772150d Version 256.3
2024-08-28 16:15:42 +02:00
Daan De Meyer 051fddfc41 mkosi: update opensuse commit reference
* 2866762da8 Update systemd to version 256.4 / rev 429 via SR 1192932
2024-08-28 16:15:42 +02:00
Daan De Meyer caf984def5 mkosi: update arch commit reference
* ea5f086275 handle uncommon license
* 43e43faab8 upgpkg: 256.5-1: new upstream release
* 7f4443062f Provide /etc/cryptsetup-keys.d/
* 262a14b8e5 upgpkg: 256.4-1: new upstream release
* 1aff4eb5f6 upgpkg: 256.3-1: new upstream release
2024-08-28 16:15:42 +02:00
Daan De Meyer 71acb00c28 mkosi: Always specify _sourcedir as an absolute path
A relative path is not supported by rpm so let's make sure we specify
it as an absolute path.
2024-08-28 16:15:42 +02:00
Daan De Meyer 00a2a67d81 mkosi: Don't apply distribution specific patches
rpm upstream is going to imply --noprep when running with --build-in-place so let's do the same on older
versions of rpm (e0925ad6e3)

Also, to keep things consistent between distros, run with --noprepare
on Arch Linux as well (we already skip patches on Debian/Ubuntu).

To keep things working on Arch, we apply the one downstream patch
manually ourselves.
2024-08-28 16:14:05 +02:00
Daan De Meyer caf5eb586a mkosi: Stop using git commit timestamps for package releases
This prevents bisecting to figure out which commit broke something
as when going backwards the git commit timestamp will be older meaning
package managers will refuse to upgrade to the "older" version. Let's
make sure the release is always newer by using the current date unless
$SOURCE_DATE_EPOCH is set.
2024-08-26 14:22:29 +01:00
Daan De Meyer 0409213cbc mkosi: Fix debian/not-installed build logic
- Expand globs
- Filter out directories
- Append to the list of packaged files, not the list of installed files

Fixes the issue in https://github.com/systemd/systemd/pull/32363
2024-08-15 15:48:12 +09:00
Luca Boccassi 10ac85d0da mkosi: update debian commit reference
* 6e0f4f74ba Update changelog for 256.4-3 release
* 4b142f9c37 Depend on new linux-bpf-dev package where available
* f5fe5ecf4d autopkgtest: use hint-testsuite-triggers to ensure other packages changes trigger our testsuite
* 407932845d autopkgtest: run upstream test last
* 31458d03c2 Stop installing legaly pkla file in upstream CI too
* 484643291a Use d/not-installed instead of manual removals
* 752bb4c34c Stop shipping empty /etc/init.d directory
* 174603ffc2 Use debian/clean instead of override in d/rules
* 9a355e5a51 Drop redundant pot build
* 3d249c88cb Update changelog for 256.4-2 release
2024-08-11 17:26:41 +02:00
Daan De Meyer 857e4528f5 mkosi: Prevent busybox from getting pulled into opensuse images
OpenSUSE's busybox has a bunch of Provides for basic tools that cause
it to get pulled into images unless the corresponding tool is explicitly
installed so let's add explicit tools to make sure we don't get busybox.
2024-08-05 16:20:55 +02:00
Luca Boccassi 30e1cbbcad mkosi: update debian commit reference
* 7eebe8c0b1 autopkgtest: allow localectl in localed tests
* c08a88ffbb Update changelog for 256.4-1 release
* 03814c87fe Fix D-Bus policy for locale1 blocking
* 16f6130038 Drop last patch, all merged upstream
* fe6956e934 Install varlinkctl zsh completion file
* 9bc2a52832 Update upstream source from tag 'upstream/256.4'
* 8574241978 New upstream version 256.4
2024-07-25 10:46:56 +01:00
Luca Boccassi 11d5e2b5fb mkosi: update debian commit reference
Some checks are pending
CIFuzz / Fuzzing (x86_64, undefined) (push) Waiting to run
CIFuzz / Fuzzing (x86_64, memory) (push) Waiting to run
CIFuzz / Fuzzing (x86_64, address) (push) Waiting to run
CIFuzz / Fuzzing (i386, address) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
CodeQL / Analyze (cpp) (push) Waiting to run
Differential ShellCheck / lint (push) Waiting to run
mkosi / ci (-Og, ubuntu, 0, no, noble, ) (push) Waiting to run
mkosi / ci (-Og, opensuse, 0, no, tumbleweed, ) (push) Waiting to run
mkosi / ci (-Og, fedora, 1, yes, rawhide, address,undefined) (push) Waiting to run
mkosi / ci (-Og, fedora, 0, yes, 40, ) (push) Waiting to run
mkosi / ci (-Og, debian, 0, no, testing, ) (push) Waiting to run
mkosi / ci (-Og, centos, 0, yes, 9, ) (push) Waiting to run
mkosi / ci (-Og, centos, 0, yes, 10, ) (push) Waiting to run
mkosi / ci (-O2 -D_FORTIFY_SOURCE=3, arch, 0, no, rolling, ) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
* c7138e0b87 Configure default DNS servers for upstream CI builds
* bc5d1afe1e Drop out-of-tree localed patch and use D-Bus policy instead
* b5f8ababde autopkgtest: set Release= in mkosi.local.conf to distinguish testing vs unstable
* 323afafd80 autopkgtest: add allow-stderr to timedated test
* 0291f361e3 Install valrinkctl zsh completion file
* f40b9eba02 d/t/control: add Depends: lib{systemd,udev}-dev for upstream
* 3def595de3 d/t/upstream: ensure correct ubuntu codename is used
* 531bb6817e d/t/boot-and-services: fix a couple python sytax warnings
* 963ac13b7d d/t/boot-and-services: skip test_tmp_cleanup if tmp.mount is overridden
2024-07-24 11:38:55 +01:00
Daan De Meyer 4ecd6c3552 mkosi: update arch commit reference
* 1d577a6268 refresh the keys
* 12383ba712 make libarchive a regular optional dependency...
* f51d5e04bf ignore rc releases in nvchecker
* 0b096a2baa add nvchecker
* 5f0ced863c upgpkg: 256.2-1: new upstream release
2024-07-22 10:28:57 +02:00
Daan De Meyer 1d8f16df90 mkosi: update fedora commit reference
* 00babccdea Simplify BFQ scheduler enablement
* ef8ddb130b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* 5b4a5461d6 Fix changelog
* a8c5c736f6 Only apply shorter shutdown timer changes on Fedora
*   f4e284cd7a Merge #150 `Deal with systemd-timesyncd backport in EPEL`
|\
| * 9378a0733a Deal with systemd-timesyncd backport in EPEL
* | 12d1f05029 Don't claim /sbin/installkernel if building for CentOS Stream 9
|/
* 79828f2753 spec: use "positive" conditions in conditionals
* c5d3af1638 Add build dependency on rsync on CentOS Stream 9
* 8d080fb5cb Backport udma buffer access patch
* 6084453807 Add support for building from a specific branch
* cb9d631ca0 Update PR patch metadata
* 3889da947e In standalone subpackages, suggest coreutils-single
* b7800e3e66 Drop versions from Conflicts for standalone packages
2024-07-22 10:28:50 +02:00
Daan De Meyer ebbae3d632 mkosi: Use the Fedora Rawhide spec for CentOS
These are now practically identical, with the only differences between
the two having no effect on the rpm builds we do with mkosi, so let's
cut out the middle man and just use the Fedora Rawhide spec for CentOS
as well.
2024-07-22 10:25:46 +02:00
Daan De Meyer 762b23e86a mkosi: Switch back to PKG_SUBDIR instead of symlinks
Previously I thought it would make sense to allow running the build
scripts from within the VM/container to rebuild the packages. Instead
we ended up making it possible to rerun mkosi outside of the container/VM
to rebuild the packages, so let's switch back to $PKG_SUBDIR to tell the
build scripts where to look for the packaging sources.
2024-07-22 10:22:48 +02:00
Daan De Meyer 4698411ff3
Merge pull request #33763 from DaanDeMeyer/mkosi
mkosi: Two fixlets
2024-07-18 16:43:15 +02:00
Luca Boccassi dbc66f87b3 mkosi: update debian commit reference
* 2d10c12bd5 Drop /etc/sysctl.d/99-sysctl.conf symlink
* fb73af0d22 update changelog
* 9d74923dd7 Move systemd-time-wait-sync to systemd-timesyncd package
* 8e0914aa0d Update changelog for 256.2-1 release
* 6dabf74a81 Install run0 zsh completion file
*   a72e454b2b Update upstream source from tag 'upstream/256.2'
|\
| * cf928e099f New upstream version 256.2
* c473d940f7 d/e/checkout-upstream: switch packaging branch on upstream stable PRs
* 13586fc76f d/e/checkout-upstream: do not fail if rebase fails
* 19785960d1 d/e/checkout-upstream: fix shellcheck warnings
* 72b215c3f0 Install zsh completion for run0
* 51f87a981e initramfs-tools: copy network drop-ins too
2024-07-18 14:53:17 +02:00
Daan De Meyer 2315c6996f mkosi: Fix indentation 2024-07-18 13:01:27 +02:00
Daan De Meyer bb8f6ac445 mkosi: Skip sync script if NO_BUILD is enabled
If we're not doing a build, there's no point in syncing either so
lets skip it.
2024-07-18 11:17:42 +02:00
Daan De Meyer b209fff3a5 mkosi: List library packages explicitly in VolatilePackages=
Some checks are pending
CIFuzz / Fuzzing (x86_64, undefined) (push) Waiting to run
CIFuzz / Fuzzing (x86_64, memory) (push) Waiting to run
CIFuzz / Fuzzing (x86_64, address) (push) Waiting to run
CIFuzz / Fuzzing (i386, address) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
CodeQL / Analyze (cpp) (push) Waiting to run
Differential ShellCheck / lint (push) Waiting to run
mkosi / ci (-Og, ubuntu, 0, no, noble, ) (push) Waiting to run
mkosi / ci (-Og, opensuse, 0, no, tumbleweed, ) (push) Waiting to run
mkosi / ci (-Og, fedora, 1, yes, rawhide, address,undefined) (push) Waiting to run
mkosi / ci (-Og, fedora, 0, yes, 40, ) (push) Waiting to run
mkosi / ci (-Og, debian, 0, no, testing, ) (push) Waiting to run
mkosi / ci (-Og, centos, 0, yes, 9, ) (push) Waiting to run
mkosi / ci (-Og, centos, 0, yes, 10, ) (push) Waiting to run
mkosi / ci (-O2 -D_FORTIFY_SOURCE=3, arch, 0, no, rolling, ) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
These should already get pulled in as dependencies, but it doesn't
hurt to be explicit.
2024-07-16 14:53:55 +02:00
Daan De Meyer 68ee977114 mkosi: Build initrd as a subimage
Let's make things a little more consistent and build the initrd
explicitly as a subimage as well instead of relying on mkosi building
it as part of the main image build.

We drop the opensuse initrd postinst script as we don't use erofs by
default anymore. We can always reintroduce it again later if needed.
2024-07-16 13:59:47 +02:00
Daan De Meyer 244952b1ea mkosi: Drop CacheOnly=always from two subimages
This is a universal setting and can only be configured in the main
image so let's drop it from the subimages.
2024-07-16 12:14:32 +02:00
Daan De Meyer 88221219a3 mkosi: Disable unique debug source names
We use -fdebug-prefix-map= because debugedit doesn't work for us (for
a currently unknown reason since it's the most obtuse code I've ever
had the pleasure of reading). With all the unique macros enabled, the
destination directory we pass to -fdebug-prefix-map= includes the package
release. The release is either the timestamp of the current commit or
the current time if the working tree is dirty. This means it generally
changes every time we rerun the build script. However, meson only reads
compiler arguments the first time it is invoked or if --wipe is specified.
This means that on a rerun -fdebug-prefix-map= will be configured wrong
and the build will fail.

Let's prevent this from happening by disabling the unique debug source
names by overriding the --unique-debug-src-base option that is passed to
find-debuginfo.sh by rpm via the _find_debuginfo_opts macro.
2024-07-16 09:41:22 +02:00
Daan De Meyer 6e212a6db9 mkosi: Use clang --print-runtime-dir 2024-07-15 16:17:33 +02:00
Daan De Meyer 54ab97e59d mkosi: Extend arch build script comment about symlinks 2024-07-15 16:17:33 +02:00
Daan De Meyer 8b32cc79ec mkosi: Add CI for CentOS Stream 10
We switch to the c10s-sig-hyperscale branch of the spec repository
as it will receive all the latest changes the earliest before they
end up in the c9s-sig-hyperscale branch.
2024-07-15 16:17:33 +02:00
Daan De Meyer 0e4a7ab6d5 mkosi: Make epel repositories optional for CentOS Stream 9
This allows us to add CI for CentOS Stream 10 as EPEL 10 doesn't
exist yet and won't exist for quite some time.

CentOS Stream 10 will be enabled later as soon as
https://issues.redhat.com/browse/RHEL-46604 is resolved.
2024-07-15 16:17:33 +02:00
Daan De Meyer 7205fc7dc3 mkosi: Introduce build image
We want the exitrd image to be built with the latest systemd as well.
As the exitrd image is built as part of mkosi.images, and all subimages
are built before the main image, this implies the packages must be built
as a subimage in mkosi.images/ as well. So we introduce the build image and
move all logic related to building distribution packages there.

This also has the nice side effect of slimming down the main image as the
build dependencies are not installed into the main image anymore. It also
makes sure the packages are built in a "clean" chroot without any of the
other packages which we install in the main image available.
2024-07-15 16:17:33 +02:00
Daan De Meyer e842deeac6 test: Switch to ncat instead of nc
ncat is available in CentOS Stream 9 without having to enable EPEL.
2024-07-10 18:52:29 +02:00
Daan De Meyer 20345a86b7 mkosi: Adapt configuration to take into account configuration rework
In https://github.com/systemd/mkosi/pull/2847, the '@' specifier is
removed, CLI arguments take priority over configuration files again
and the "main" image is defined at the top level instead of in
mkosi.images/. Additionally, not every setting from the top level
configuration is inherited by the images in mkosi.images/ anymore,
only settings which make sense to be inherited are inherited.

This commit gets rid of all the usages of '@', moves the "main" image
configuration from mkosi.images/system to the top level and gets rid
of various hacks we had in place to deal with quirks of the old
configuration parsing logic.

We also remove usages of Images= and --append as these options are
removed by the mentioned PR.
2024-07-09 08:07:09 +02:00
Luca Boccassi bffd3c52ad mkosi: policykit-1 was renamed to polkitd 2024-07-08 19:09:00 +02:00
Daan De Meyer 6b247bad9c
Merge pull request #33640 from DaanDeMeyer/ext4-split
mkosi: Use the "default" root filesystem for each distribution
2024-07-08 12:56:09 +02:00
Daan De Meyer 5db8db5e34 mkosi: Use the "default" root filesystem for each distribution
Let's not insist on btrfs everywhere. 93440db8b5
switched us back to btrfs as we wanted to rely on the fact it records
timestamps properly. Since we now prefer to do incremental builds on the host
with "mkosi -t none" we don't mind anymore that timestamps are not recorded
properly so we're not forced to use btrfs anymore.

This also increases test coverage as we'll now test with different root
filesystems.
2024-07-08 10:27:35 +02:00
Daan De Meyer 02cc812971
Merge pull request #33644 from DaanDeMeyer/selinux
TEST-06-SELINUX: Two fixes
2024-07-05 20:21:39 +02:00
Daan De Meyer 5eab7c5097 mkosi: Make .autorelabel file empty
The contents of this file are passed as arguments to fixfiles so
let's remove the comment as otherwise fixfiles just crashes.
2024-07-05 19:16:31 +02:00
Luca Boccassi 1ee8e526d7 mkosi: use apt pinning for locally built debian/ubuntu packages
This ensures that even in case the distro repository has newer
versions, the locally built packages are preferred and installed,
even to the point of downgrading already installed ones.
This is needed especially for future stable branches, when the
distros will have a newer version.
2024-07-05 19:10:16 +02:00
Daan De Meyer 96110261ee mkosi: Build a disk image by default again
Now that we have a way to rebuild and reinstall systemd without
having to rebuild the image, let's default to building a disk image
again.
2024-07-04 12:43:50 +02:00