Commit graph

1,450 commits

Author SHA1 Message Date
Daan De Meyer
ec182495e7 Drop libbpf versioned dependency version to 1.4.7
We don't need 1.5.0 to avoid the libbpf crash, the latest libbpf 1.4
patch release (1.4.7) also has the necessary fixes, so relax the
requirement a little to allow builds on Fedora 41 to succeed.
2025-03-05 12:31:55 +01:00
Zbigniew Jędrzejewski-Szmek
1f8d2b0ebd Make self-obsoletes for the sysusers split conditional
In CI builds we have %version that it smaller than 257.3-4 when the split
happened, and this causes problems when the packages are installed:

Failed to resolve the transaction:
Problem: package
         systemd-sysusers-257-1.20250225060108317145.pr36507.1659.g4635c37946.fc43.x86_64
           from @commandline
         obsoletes
         systemd < 257.3-4 provided by
         systemd-257-1.20250225060108317145.pr36507.1659.g4635c37946.fc43.x86_64
           from @commandline
  - conflicting requests

I'm not sure if we even need the self-Obsoletes. We have a Requires and
Recommends in the main systemd package that will cause on of the providers of
/usr/bin/systemd-sysusers to be installed, and the non-standalone version is
preferred. But it's possible that if recommends are disabled, the
non-standalone package could be installed for some reason. So let's keep the
self-Obsoletes for now.

Another caveat is that it's not clear if v-string comparisons require %[] as a
wrapper. Some chat in #fedora-devel suggested that that's the case, but things
seem to work without it.
2025-03-04 17:37:56 +01:00
Daan De Meyer
0d95af264f Include epoch in versioned libbpf dependency
"""
$ rpmdev-vercmp '2:1.4.6-1.fc42' '1.5.0'
2:1.4.6-1.fc42 > 1.5.0
$ rpmdev-vercmp '2:1.4.6-1.fc42' '2:1.5.0'
2:1.4.6-1.fc42 < 2:1.5.0
"""
2025-03-04 13:02:20 +01:00
Daan De Meyer
8230f501b6 Make sure we pull in libbpf >= 1.5.0 if libbpf is installed
libbpf 1.4.0 + systemd 257 + a newer kernel results in segmentation
faults in libbpf 1.4.0, so let's explicitly pull in libbpf 1.5.0 or
newer to avoid this issue.

Fixes https://pagure.io/centos-sig-hyperscale/package-bugs/issue/22
2025-03-03 21:46:20 +01:00
Daan De Meyer
9b6884d2e1 Stop using version_no_tilde for github archives
None of the systemd git tags have tildes in them, so there's no need
to use version_no_tilde for these.

This is another change to make packit work as the archive it sets up
for us based on the systemd upstream packit config file does have a
tilde in its name which then makes %prep fail as we transform the tilde
to a hyphen and then fail to find the systemd source directory.

"""
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/systemd-258~devel.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd systemd-258-devel
/var/tmp/rpm-tmp.gw7KSw: line 42: cd: systemd-258-devel: No such file or directory
"""
2025-02-25 17:25:34 +01:00
Daan De Meyer
5671cf6132 List the fallback Source0 first
packit will only rewrite the first Source0 that it finds, so we
list the Source0 that gets used if neither %branch nor %commit are
defined first.
2025-02-25 13:55:19 +01:00
Daan De Meyer
6c7c4a510d Do not use dynamic spec generation for non-upstream builds
This reverts commit ac9c438e27.
2025-02-19 10:46:38 +01:00
Zbigniew Jędrzejewski-Szmek
6201755b36 Allow co-installation of systemd-sysusers-standalone and systemd
Previously, /usr/bin/systemd-sysusers was provided by both systemd and
systemd-standalone-sysusers, creating a file conflict, and the packages
declared Conflicts. This changed when systemd-sysusers was split out to a
separate subpackage. So we don't need the Conflicts and can allow a "cross
installation" of systemd-sysusers-standalone and and the other "normal"
systemd subpackages.

This should solve https://bugzilla.redhat.com/show_bug.cgi?id=2344322 without
requiring changes in the container definitions. (Though those changes probably
should be made anyway. If we end up installing systemd, we probably want to use
shared systemd-sysusers, to avoid wasting space.)
2025-02-16 14:30:07 +01:00
Zbigniew Jędrzejewski-Szmek
eba1721678 Split out -sysusers and -shared
... (rhbz#2344322)

rpm-libs has Requires:/usr/bin/systemd-sysusers.

We split split out /usr/bin/systemd-sysusers (the normal version) to a
subpackage, and the shared library
/usr/lib64/systemd/libsystemd-shared-257.2-14.fc42.so to a second subpackage.
(In preparation for maybe making further splits later.)
systemd-sysusers+libsystemd-shared.so is 4.8MB, but libsystemd-shared.so also
pulls in a bunch of libraries. We'll find out what the actual change in
installation footprint (compared to systemd-standalone-sysusers) really is when
we build some images with the new split.
2025-02-14 22:56:30 +01:00
Zbigniew Jędrzejewski-Szmek
ac9c438e27 Use dynamic spec generation for triggers
This way we don't need a separate Source.
2025-02-14 19:04:13 +01:00
Zbigniew Jędrzejewski-Szmek
3671a5cc79 Move more auxiliary files into subpackages
Follow-up for rhbz#2345551.

Also split up some nested patterns into separate lines for readability.
2025-02-14 13:54:12 +01:00
Zbigniew Jędrzejewski-Szmek
5c40e08728 Remove patch that is already upstream
[skip changelog]
2025-02-13 21:10:02 +01:00
Zbigniew Jędrzejewski-Szmek
49ec9f3286 Move some files into subpackages
- systemd-ac-power is moved to systemd-udev
- portablectl and importctl are moved to systemd-container (rhbz#2345551)

ac-power clearly is only useful for real hardware. portablectl
and importctl are niche tools that don't need to be in the main package
(even though they could theoretically be used not for containers).
2025-02-13 20:57:17 +01:00
Zbigniew Jędrzejewski-Szmek
2c0b984bf4 Version 257.3
- updates to systemd, systemctl, systemd-udev, systemd-sbsign,
  systemd-machined, systemd-resolved, systemd-firstboot,
  systemd-sysupdate, systemd-repart, systemd-vmspawn,
  systemd-networkd, systemd-update-utmp, systemd-tmpfiles,
  systemd-logind, bootctl, varlink, ukify, homectl, userdbctl,
  UKI support, sd-stub, log messages, man pages
- the hwdb is updated from mainline at 2025-02-07
- resolves rhbz#2345544
2025-02-13 20:40:55 +01:00
Björn Esser
d66f997915
Add explicit BR: libxcrypt-devel
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2025-02-01 19:57:43 +01:00
Zbigniew Jędrzejewski-Szmek
1ffa7bf7c7 Make Georgian mapping patch downstream-only
[skip changelog]
2025-01-28 10:08:50 +01:00
Adam Williamson
de4ae54a34 Backport PR #36194 to add Georgian mapping to kbd-model-map
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-01-27 13:49:04 -08:00
Zbigniew Jędrzejewski-Szmek
cc9bce7893 Drop override of $PATH in the user manager
We had the override so that the user would have /usr/bin:/usr/sbin, which root
had /usr/sbin:/usr/bin. Now that /usr/sbin and /usr/bin are merged, we don't
want this. This should fix the issue reported in
https://discussion.fedoraproject.org/t/f40-change-proposal-unify-usr-bin-and-usr-sbin-system-wide/99853/25.
2025-01-21 21:57:39 +01:00
Zbigniew Jędrzejewski-Szmek
d0973df863 Backport patch to emit audit events from systemd-sysusers
A second patch is backported to avoid conflict and also because it seems
reasoanble to backport.
2025-01-17 14:10:24 +01:00
Zbigniew Jędrzejewski-Szmek
e54ec2f978 Trim changelog entries that are not relevant to users 2025-01-17 14:04:00 +01:00
Daan De Meyer
c7fecc18eb Skip test_sysusers_defined on upstream builds 2025-01-16 22:14:36 +01:00
Daan De Meyer
f257050ddd Add a .editorconfig file 2025-01-16 12:29:21 +01:00
Daan De Meyer
aa5546e9ed Add a few mkosi artifact directories to .gitignore 2025-01-16 12:29:01 +01:00
Luca Boccassi
01e5bc1c93 Set SBAT in sd-boot when building on OBS
We are doing self-signing, so don't tag the EFI binaries as if
they were Fedora's, since they are not. Set upstream-specific
tags, that are the same for all distros built on OBS..

[skip changelog]
2025-01-15 12:49:59 +01:00
Daan De Meyer
a7eec4d33d Run upstream integration test suite with Fedora CI
Let's add a tmt plan to read the upstream fmf metadata which contains
a single test to run the upstream integration tests.

To make this work, we also add a downstream patch with some fmf test
script fixes that landed after 257.2 was released.

We request virtualization support so we can run qemu based integration
tests in qemu with KVM.
2025-01-15 10:38:03 +01:00
Zbigniew Jędrzejewski-Szmek
fd36e4c562 Rebuilt for the bin-sbin merge (2nd attempt)
This time in the side tag.

[skip changelog]
2025-01-12 18:23:30 +01:00
Zbigniew Jędrzejewski-Szmek
cddeca136f Rebuilt for the bin-sbin merge (2nd attempt)
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2025-01-12 16:24:13 +01:00
Luca Boccassi
20cc578e59 Enable signing systemd-boot on OBS builds
On OBS the https://github.com/openSUSE/pesign-obs-integration
package is the way to get binaries signed. Build depend on it,
and call its hook.

Also rename and change the description and provides of the package,
given it is signed.

[skip changelog]
2025-01-11 12:03:28 +01:00
Zbigniew Jędrzejewski-Szmek
b1bd57ecce Revert use of PrivateTmp=disconnected
... (rhbz#2334015, https://github.com/coreos/fedora-coreos-tracker/issues/1857)
2025-01-10 17:05:52 +01:00
Zbigniew Jędrzejewski-Szmek
30f50b1870 Drop patch numbers
In the past, we used patch numbers to skip some patches in upstream CI
builds. The upstream bcond is now used for this instead, so we can
drop the numbering to make it easier to add an remove patches.

[skip changelog]
2025-01-10 17:03:09 +01:00
Daan De Meyer
1814bfe794 remove STI test
The test fails because of the same reason as the installability test,
it tries to install every subpackage which fails because the standalone
subpackages conflict with all the other packages.

Given there's no owner for the test, nobody looks at or seems interested
in the results, STI itself will likely be deprecated soon
(https://fedoraproject.org/wiki/Changes/DeprecateSTI) and systemd's
upstream integration tests will soon support checking for AVC denials
(https://github.com/systemd/systemd/pull/35921), let's remove the STI test.
2025-01-08 15:50:45 +01:00
Zbigniew Jędrzejewski-Szmek
3a9c32b8a9 Version 257.2
- Fixes for assertion crashes and memory access issues in pid1 and
  systemd-machined, and other fixes for systemd-repart, systemd-resolved,
  systemd-stdio-bridge, systemctl, journalctl, sd-device, hibernation,
  and the hardware database.
2025-01-08 13:14:30 +01:00
Luca Boccassi
4df2711a9f Add bcond for OBS-specific quirks
The version substitution system is not able to fully subst
the current Version field due to the inline use of macros, so you end up with like:
  257-123-gabcd257.1
instead of:
  257-123-gabcd

I.e., the hard-coded 257.1 gets appended to the OBS-specified version.

If it was simply hardcoded as 257.1 it would work, but the inline
macros throw it off.

[skip changelog]
2025-01-08 13:14:30 +01:00
Luca Boccassi
e570cd53df spec: drop trailing whitespace
[skip changelog]
2025-01-08 13:14:30 +01:00
Yu Watanabe
c7379c9460 Replace 'udevadm hwdb' with systemd-hwdb
systemd-hwdb was added in v219 (released in 2015) and
'udevadm hwdb' was deprecated in v253.
2025-01-08 04:31:21 +09:00
Zbigniew Jędrzejewski-Szmek
3386f5d704 Rename source .abignore file
OBS does not support files with names starting with a dot.
https://fedoraproject.org/wiki/How_to_filter_libabigail_reports does
not make it really clear if the file can renamed. (The first part of
the paragraph implies a positive answer, the second is unclear.)
Let's see how this goes.
2025-01-07 19:25:06 +01:00
Miro Hrončok
fd860fd12d Drop a build dependency on a linter package: pytest-flakes
See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters

Also, the package is orphaned.
2025-01-07 15:05:25 +00:00
Daan De Meyer
133ae30e33 Drop patches based on %upstream macro instead of patch number
Let's use the %upstream macro to gate patches which are backports of
upstream instead of relying on patch numbers. We'll build with %upstream
defined in packit so that patches which should not be applied on upstream
builds are skipped.
2025-01-06 14:37:23 +01:00
Daan De Meyer
e157552c6c Always build in release mode
Building with %upstream doesn't necessarily imply we want a developer
build, so let's always build in release mode. If needed
%meson_extra_configure_options can be used to override this and build
in developer mode after all.
2025-01-06 14:35:05 +01:00
Daan De Meyer
fc47a92e4a Re-enable upstream behaviour of systemd-tmpfiles --purge
From the 257 release notes:

* The --purge switch of systemd-tmpfiles (which was added in v256) has
  been reworked: it will now only apply to tmpfiles.d/ lines marked
  with the new "$" flag. This is an incompatible change, and means any
  tmpfiles.d/ files which shall be used together with --purge need to
  be updated accordingly. This change has been made to make it harder
  to accidentally delete too many files when using --purge incorrectly.

The feature is now sufficiently hard to misuse that we can drop the patch.
2024-12-20 13:11:51 +01:00
Zbigniew Jędrzejewski-Szmek
62abb21906 Version 257.1
- A bunch of post-release fixes, incl. for systemd-resolved, tpm2
  support, systemd-networkd, systemd-logind, journalct.
- Should fix rhbz#2325780.
2024-12-20 12:52:28 +01:00
Yu Watanabe
35e6814ef4 Add patch for test-time-util 2024-12-16 04:16:57 +09:00
Yu Watanabe
bd8339bf00 sysusers: support new ! line flag for creating fully locked accounts
For https://github.com/systemd/systemd/pull/34876.
Follow-ups for e42eed4afd.
2024-12-16 03:40:18 +09:00
Zbigniew Jędrzejewski-Szmek
c2f5f4a68a Version 257
- A bunch of small fixes in various components: systemd itself, systemd-cryptenroll,
  sd-varlink, sd-boot, documentation, tests
- Includes an update of the hardware database
2024-12-10 21:23:13 +01:00
Zbigniew Jędrzejewski-Szmek
31aaef8e17 Enable slow tests during build
The build is slow anyway, so the difference shouldn't matter. But more
tests is better. The build logs show that slow tests were disabled.

Inspired by https://github.com/systemd/systemd/issues/34471.
2024-12-05 12:50:39 +01:00
Zbigniew Jędrzejewski-Szmek
433efb38f4 Only apply the new Recommends in fedora
Our mkosi.conf.d/10-centos-fedora/mkosi.prepare script tries to install
the soft dependencies too.

The build fails in centos 9 and 10:
Error: Unable to find a match: qemu-device-display-virtio-gpu
                               qemu-device-display-virtio-vga

[skip changelog]
2024-12-04 11:38:32 +01:00
Zbigniew Jędrzejewski-Szmek
8dc31eaf04 Recommend qemu-kvm-core instead of qemu-kvm
... (rhbz#2329979)
2024-12-03 14:12:49 +01:00
Yu Watanabe
53cfdea02a Update tmpfiles --destroy-data patch
This adds one more --destroy-data switch to make the test pass.
2024-11-30 00:00:22 +09:00
Zbigniew Jędrzejewski-Szmek
04f0a692da Version 257~rc3
- A bunch of small fixes here and there: virtualization detection, udev,
  systemd-networked, pid1.
- Includes a hardware database update.
2024-11-28 00:17:19 +01:00
Zbigniew Jędrzejewski-Szmek
243a055429 Make systemd-network-generator co-owned by -udev and -networkd
... (rhbz#2328723)

The files systemd-networkd-generator generates are read by udev (.link files)
and by networkd (.netdev, .netdev files). We can't move it to systemd-networkd
subpackage only, because that would potentially break the corner case of people
having systemd-udev installed and using the generator, but not systemd-networkd.
And there is no dependency from systemd-networkd to systemd-udev. I think this
is correct, because networkd can be used in containers without udev. But the
generator is not useful without either of those two daemons, so let's move
it to make the core package a bit lighter.
2024-11-26 11:08:20 +01:00