Commit graph

1,267 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
5c40e08728 Remove patch that is already upstream
[skip changelog]
2025-02-13 21:10:02 +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
Daan De Meyer
c7fecc18eb Skip test_sysusers_defined on upstream builds 2025-01-16 22:14:36 +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
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
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
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
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
37c10f5b03 Pull in qemu from systemd-container
Based on https://gitlab.archlinux.org/archlinux/packaging/packages/systemd/-/issues/27.
2024-11-19 13:16:16 +01:00
Zbigniew Jędrzejewski-Szmek
7bd1d09f7f Change sysusers u! lines to u because we don't have support in rpm 2024-11-15 22:05:21 +01:00
Zbigniew Jędrzejewski-Szmek
943bd94cf6 Version 257~rc2
- Changes in systemd-measure, systemd-networkd, documentation,
  systemd-sysupdated, systemd-sbsign, systemd-boot, systemd-stub,
  systemd-nspawn, run0, ukify
- Hardware database update
2024-11-15 21:42:10 +01:00
Zbigniew Jędrzejewski-Szmek
6162965002 Disable freezing of user sessions
... (rhbz#2321268)
2024-11-15 21:38:07 +01:00
Zbigniew Jędrzejewski-Szmek
ea947ce068 Version 257~rc1 2024-11-07 16:16:32 +01:00
Daan De Meyer
834ba50e79 Use %posttrans instead of %postun to restart services
Anything we put in a %postun script needs two releases of the rpm
before it is invoked. The reason for using %postun to restart services
is because it runs after the old version has been removed so we can be
sure all remaining dropins and such files from the old version have been
removed. %posttrans gives us the same guarantee but the %posttrans of the
new version will run on install and upgrade which means the changes will
be applied immediately instead of having to release twice before the changes
take effect.

We define the systemd_posttrans_with_restart macro in the spec because we
can't use the upstream one as we ship it ourselves.
2024-11-07 11:53:26 +01:00
Yaakov Selkowitz
8dafa3810b Disable OpenSSL v3 ENGINE on RHEL
RHEL 10+ does not provide <openssl/engine.h> and defines OPENSSL_NO_ENGINE.

https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine
2024-11-07 10:49:46 +00:00
Daan De Meyer
86ca699d18 Backport user manager reexec changes
This drastically simplifier reexecs of user managers by using
systemctl reload to do a user manager reexec. This means we don't
need systemd-run, a pam session or systemd-stdio-bridge anymore to
do a user manager reexec and all job tracking is handled by pid 1
instead of bash.
2024-11-05 13:16:26 +00:00
David Tardon
009c64d6a2 Use %systemd_preun in systemd-resolved
With that, systemd-resolved.service is not only disabled but also
stopped on package uninstall.

... (rhbz#2305391)
2024-11-05 13:15:41 +00:00
Zbigniew Jędrzejewski-Szmek
2c6a4e2f90 Version 256.7
- Various small fixes in many components
- Documentation updates
2024-10-11 18:32:58 +02:00
Zbigniew Jędrzejewski-Szmek
bedc0270e7 Move yum/dnf protection removal config file under /usr
https://github.com/uapi-group/specifications/issues/76

Actually, add a new file under /usr, but keep the old file in /etc
because it's still needed for dnf. The new file in the new location
is useful because it means that we get the correct behaviour even when
/etc is emptied (on systems with new dnf version).

dnf5 reads the new location:
https://github.com/rpm-software-management/dnf5/issues/1107
https://github.com/rpm-software-management/dnf5/pull/1110
2024-09-24 16:35:29 +02:00