Commit graph

1,477 commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
b243575a28 Require systemd-libs and systemd-shared to be in the same version
... (rhbz#2404143)

(cherry picked from commit 79c9db1bc8)
(cherry picked from commit 75240e80fc)
2025-10-15 13:56:26 +02:00
Zbigniew Jędrzejewski-Szmek
eaa82f1830 Version 257.10 2025-10-13 21:56:14 +02:00
Zbigniew Jędrzejewski-Szmek
5fe99f055c Fix unit name in scriptlet
[80/89] Installing systemd-udev-0:258~rc3-1.fc44.x86_64
>>> Running %post scriptlet: systemd-udev-0:258~rc3-1.fc44.x86_64
>>> Finished %post scriptlet: systemd-udev-0:258~rc3-1.fc44.x86_64
>>> Scriptlet output:
>>> Failed to preset unit: Unit system-systemdx2dcryptsetup.slice does not exist

(cherry picked from commit 2289d65726)
2025-09-04 13:52:12 +02:00
Zbigniew Jędrzejewski-Szmek
bfb8f19e51 Version 257.9 2025-09-04 12:26:09 +02:00
Zbigniew Jędrzejewski-Szmek
2ced76e0c0 Version 257.8 2025-09-04 12:06:52 +02:00
Zbigniew Jędrzejewski-Szmek
b4a4a8f8cd Version 257.7
- Fixes for systemd itself, systemd-repart, systemd-resolved,
  systemd-vmspawn, systemd-networkd, resolvectl, bootctl, the shared
  library code, man pages, shell completions, and tests.
- Hardware database is updated.

(cherry picked from commit 5d30fd3b26)
2025-06-27 11:35:50 +02:00
Zbigniew Jędrzejewski-Szmek
25c3c12efd Do not mark symlinks as %ghost
When testing build reproducibility, we got the following result:

+ rpmdiff cache/rpms/systemd-257.6-1.fc43/systemd-257.6-1.fc43.x86_64.rpm \
          cache/build/systemd-257.6-1.fc43/rebuild/systemd-257.6-1.fc43.x86_64.rpm
......V..F. /etc/xdg/systemd/user

This is because we'd apply %ghost to a symlink to a directory, if the directory
stat reported 0 blocks. It seems that this depends on the filesystem type or
something and didn't pop up in previous rebuilds.

The first chunk is a noop to increase clarity.

The resulting difference from this patch in the file list:
$ diff -u systemd-257.6-build/systemd-257.6/.file-list-main{.0,}
-%config(noreplace) %ghost /etc/xdg/systemd/user
+%config(noreplace) /etc/xdg/systemd/user

(cherry picked from commit 7de88c66bd)
2025-06-27 11:35:45 +02:00
Zbigniew Jędrzejewski-Szmek
dae92c11b6 Version 257.6
- Fix for local information disclosure in systemd-coredump (CVE-2025-4598)
- Fixes for systemd itself, run0, systemd-networkd, "secure" pager,
  man pages, shell completions, sd-boot, sd-varlink
- Hardware database update

(cherry picked from commit ed6b885327)
2025-05-29 19:21:22 +02:00
Zbigniew Jędrzejewski-Szmek
ecc89e18c1 Restore /usr/lib/rpm/sysusers.generate-pre.sh
... (rhbz#2363673)

Fixup for d70176a086. The macros were
restored, but not the helper script.
2025-05-08 15:06:09 +02:00
Zbigniew Jędrzejewski-Szmek
00c27a99b1 Move mount.ddi symlinks to -container subpackage
Those symlinks point to systemd-dissect, so with just the main subpackage installed,
the symlink was dangling.

(cherry picked from commit 2192e86112)
2025-05-08 15:00:11 +02:00
LuK1337
0a968609a5 Revert "Disable freezing of user sessions"
This breaks suspend on my machine as of Linux 6.14, furthermore both
linked issues in rhbz#2321268 are closed and fixed in Linux upstream.

This reverts commit 6162965002.

(cherry picked from commit 451184cbea)
2025-05-08 15:00:11 +02:00
LuK1337
7310dda29a Backport adb/fastboot udev rules (BZ#2356537)
(cherry picked from commit f6af46db12)
2025-05-08 14:59:46 +02:00
Zbigniew Jędrzejewski-Szmek
fff5f18f9e Backport CI fix
(cherry picked from commit f6b814cc0f)
2025-04-10 15:53:09 +02:00
Zbigniew Jędrzejewski-Szmek
18475fd0dc Version 257.5
- A lot of small fixes in various components

(cherry picked from commit d304477023)
2025-04-10 08:07:08 +02:00
Daan De Meyer
9d263ec9b1 Download commit archives via full sha instead of short one
Both work and if we do full sha we can retrieve the full sha from the
source filename in the source rpm later on which is useful for various
use cases.

[skip changelog]

(cherry picked from commit 1126a7c6b8)
2025-04-10 08:06:45 +02:00
Daan De Meyer
3d961b036d Relax dependencies from noarch packages on archful packages for OBS builds
In OBS, noarch packages are shared between all architectures and
independent architectures can be rebuilt automatically without all
the other architectures getting rebuilt. This can result in the noarch
packages being newer than the archful packages for some architectures,
which means our current strict deps from the noarch packages on the
archful packages can't be satisfied.

To address this problem, let's relax the dependencies from the noarch
packages on the archful packages for OBS builds. Let's only do this for
OBS builds because this isn't an issue on Fedora as it's impossible to
build a package for only some of the architectures.

(cherry picked from commit 13d523f84d)
2025-04-10 08:06:14 +02:00
Zbigniew Jędrzejewski-Szmek
563d4a61f4 Add more services to %post for udev and networkd
Noticed in https://bugzilla.redhat.com/show_bug.cgi?id=2348669#c25.

Most of those units listed don't have an [Install] section, and of those that
have, almost all were disabled by default. This might be something to fix, e.g.
we might want to enable systemd-udev-load-credentials.service, this is
something to consider. But it's clearer if we list all the units that those
packages ship. In priciple somebody might ship a preset to enable them.
Anyway, the impact of this change is much smaller than might seem at first.
But systemd-network-generator.service has an [Install] section and is preset
to true, so not listing it in the scriptlets was a visible bug.

There's the additional caveat that systemd-network-generator.service is coowned
by two packages. The current system does not have a way of handling this
properly, because unit enablement is tied to the package install state. Let's
just call the scriptlet for this unit twice for now. I think that's not going
to cause any real problem.

(cherry picked from commit d1380dc114)
2025-04-10 08:06:00 +02:00
Zbigniew Jędrzejewski-Szmek
8a8df7278d Fix paths for /usr/sbin/nologin and related progs
I noticed that systemd-sysusers creates accounts with /usr/bin/nologin.
On merged systems is fine, but would not work for systems where
/usr/sbin is still a separate directory and /usr/bin/nologin does not
exist. This problem occurs because the meson configuration script discovers
the location using $PATH, which on recent builds results in /usr/bin always.
Just specify all the paths so that we don't depend on the presence and
order of paths in $PATH.

(cherry picked from commit 6f0d03443d)
2025-04-10 08:05:49 +02:00
Yaakov Selkowitz
ccb745be62 Limit sdubby dependency to Fedora
dnf repoclosure raises an error even when a boolean dependency is
missing.  While technically a bug in dnf, since these dependencies
are already conditional, simply adjusting the condition is simplest.

https://github.com/rpm-software-management/dnf-plugins-core/issues/549
(cherry picked from commit e346d9f33e)
2025-04-10 08:03:56 +02:00
Zbigniew Jędrzejewski-Szmek
d70176a086 Revert "Neuter sysusers macros"
It turns out that rpm-ostree might not be ready for this change.
https://github.com/coreos/rpm-ostree/issues/5333
https://gitlab.com/fedora/ostree/sig/-/issues/70
(maybe https://github.com/fedora-silverblue/issue-tracker/issues/636)

This reverts commit 1bdfa29ce2.

We don't actually need this change in F42, it's fine it only happens
in rawhide.
2025-03-12 11:16:46 +01:00
Daan De Meyer
38b41a729e Clean up debuginfo files as well in %clean
When using --build-in-place + debuginfo these get written to the
source directory so let's make sure we clean them up as well.
2025-03-07 12:37:44 +01:00
Daan De Meyer
7bc5883654 Fix missing question mark 2025-03-07 12:37:17 +01:00
Zbigniew Jędrzejewski-Szmek
d22561d59e Also drop auxiliary files related to sysusers compat
And in non-Fedora builds, undo the neutering of sysusers macros.
Downstreams like CentosStream did not go through the same changes
as Fedora but they may use packages built from the rawhide branch.
2025-03-07 11:25:27 +01:00
Zbigniew Jędrzejewski-Szmek
e825459f2d Change python-zstd depenedency to python-zstandard
There is no BuildRequires dependency. I think we don't have any tests
which would require this.
2025-03-07 11:17:57 +01:00
Zbigniew Jędrzejewski-Szmek
0a3907745e Version 257.4
- Fixes for systemd itself, systemd-dissect, systemd-sbsign,
  systemd-networkd, systemd-repart, systemd-tmpfiles, systemd-id128,
  systemd-resolved, ukify, internal shared library, fido2 code,
  virtualization detection, shell completions, documentation.
- Adds new DNSSEC anchor key for systemd-resolved.
2025-03-07 09:33:55 +01:00
Zbigniew Jędrzejewski-Szmek
1bdfa29ce2 Neuter sysusers macros
https://pagure.io/packaging-committee/pull-request/1436 was merged,
packaging guidelines describe the new method as the default option for f42+.
2025-03-06 09:30:31 +01:00
Zbigniew Jędrzejewski-Szmek
4ab2a9e539 Drop old self-Obsoletes and provides
We had a bunch of Obsolets on self. This is useful when a subpackage
is split out to make it optional, and we want to install both the
original subpackage and the subpackage on ugprades. If both new
subpackages have Obsoletes on the old name, dnf will install both. But
we don't need to keep this infinitely, it's mostly useful for the
duration of a single stable release.

Apparatenly, those Obsoletes cause problems with downgrades.

The most recently added case is for the split of systemd-sysusers. But
we have an alternative mechanism in place: systemd Requires
/usr/bin/systemd-sysusers, and this path is provided by systemd-sysusers
and systemd-standalone-sysusers, with a bias towards systemd-sysusers.
So we should be able to drop the self-Obsoletes without a change in
functionality.

Also, drop some old Provides where 'dnf repoquery' indicates it is not
used by anything. Actually, only 'timedatex'. All the other ones are
used by one spec or another.
2025-03-05 18:28:57 +01:00
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