Compare commits

..

387 commits

Author SHA1 Message Date
Hans de Goede
f353d244fd Add 2 patches for automatic aarch64 DTB selection change 2026-01-12 16:22:10 +01:00
Zbigniew Jędrzejewski-Szmek
399885597c Revert "Disable sysinit-path for upstream builds"
This reverts commit 56377438ba. Dropping
of the option currently doesn't disable anything, it just moves the
file. I don't think we gain anything by moving the file and actually
this causes problems [1], so let's just return to status quo ante.

[1] file /etc/init.d conflicts between attempted installs of systemd-259.999+69+g6ceb76bfc-2548.1.x86_64 and chkconfig-1.33-3.fc44.x86_64

[skip changelog]
2025-12-20 20:09:31 +01:00
Daan De Meyer
67538c79f2 Make dbus and systemd-pam recommended dependencies
Neither dbus nor pam are required in the initrd so
let's make both recommended dependencies instead
of required dependencies so that we can build
initrds without either of them getting pulled in.
2025-12-19 16:40:55 +01:00
Daan De Meyer
c052029197 Drop libcap-devel BuildRequires
Not required anymore since v259.
2025-12-19 16:17:01 +01:00
Daan De Meyer
cac8dde28a test: Allow passing in extra tests to skip via TEST_SKIP
[skip changelog]
2025-12-19 11:22:34 +00:00
Luca Boccassi
56377438ba Disable sysinit-path for upstream builds
[skip changelog]
2025-12-19 11:45:00 +01:00
Daan De Meyer
0c8ea706f9 Fix links to patches
These patches were modified downstream yet the links
were never updated

[skip changelog]
2025-12-19 10:43:34 +00:00
Zbigniew Jędrzejewski-Szmek
4f5b5a9615 Version 259
- Some bugfixes since -rc3, in particular in the area of
  image creation and loading of libraries
2025-12-18 10:34:39 +01:00
Zbigniew Jędrzejewski-Szmek
bf8019c840 Version 259~rc3
Various fixes for various issues reported with -rc2.
2025-12-10 23:06:32 +01:00
Daan De Meyer
ef777d6572 Check if --max-lines is supported by meson 2025-11-28 14:55:02 +01:00
Daan De Meyer
b562e38e22 Fix use of removed $LOCAL_CONF variable
Follow up for f8932309d9

[skip changelog]
2025-11-28 11:52:44 +00:00
Zbigniew Jędrzejewski-Szmek
0289127dae Patch machined to continue after selinux denial 2025-11-26 22:35:50 +01:00
Zbigniew Jędrzejewski-Szmek
7e409130ee Version 259~rc2
This has a bunch of fixes for various issues reported with -rc1,
in particular varlink socket communication.
2025-11-26 15:47:05 +01:00
Zbigniew Jędrzejewski-Szmek
33b38cdbc7 Suppress errors from tar
Without this, 'spectool -g …' will print to the console.

[skip changelog]
2025-11-26 15:29:29 +01:00
David Tardon
ddb6474e94 Drop provides for removed sysvinit tools
... (rhbz#2413557)
2025-11-21 15:07:07 +01:00
Daan De Meyer
9ac8c36307 Set meson auto features to auto when building for upstream
We don't want new options to be forcefully enabled if we don't have
the dependencies available.
2025-11-20 14:24:55 +00:00
Daan De Meyer
12f95f807f Wrap %autosetup in %_build_in_place check
The shell expansion we use to determine the top-level directory will
get expanded even if we don't execute %prep, so add a %_build_in_place
check to make sure we don't try to search for the top-level directory
if --build-in-place is set.
2025-11-20 14:59:09 +01:00
Daan De Meyer
f9916b6fd1 Revert "Use %autosetup -C"
This effectively reverts commit b17d9c3474.
2025-11-20 14:58:53 +01:00
Zbigniew Jędrzejewski-Szmek
044cff4700 Allow empower group
This will need to be patched into setup.
2025-11-17 21:21:03 +01:00
Zbigniew Jędrzejewski-Szmek
a0acca210d Version 259~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v259-rc1/NEWS.
  Too many changes to list or discuss here.
2025-11-17 20:57:35 +01:00
Daan De Meyer
e455d82fd8 Add various extra explicit Requires
Upstream is moving towards making a lot more libraries dlopen() style
dependencies. Let's make sure to add these as Requires to corresponding
packages so they still get pulled in.
2025-11-17 19:32:55 +00:00
Zbigniew Jędrzejewski-Szmek
1a7506a105 Version 258.2
- A bunch of fixes in many components.
- Stop creating user namespace for system services (rhbz#2391343)
- Systemd trigger scriptlets are updated
2025-11-07 14:13:36 +01:00
Zbigniew Jędrzejewski-Szmek
256463d690 Restore runlevelX.target units
... (rhbz#2411195)
2025-11-05 17:55:32 +01:00
Zbigniew Jędrzejewski-Szmek
b17d9c3474 Use %autosetup -C
This is supported since rpm 4.20 but not advertised much.
2025-11-04 16:18:12 +01:00
Daan De Meyer
fe18084a05 Remove hack to stop systemd-networkd-resolve-hook.socket
This didn't end up working, so drop the hack as we have a better
fix coming up in https://github.com/systemd/systemd/pull/39415.
2025-11-03 22:01:55 +00:00
Zbigniew Jędrzejewski-Szmek
8e2833a5b6 Automatically figure out the name of the top-level tar dir 2025-11-03 12:13:23 +01:00
Daan De Meyer
dffbf2beba Make sure fallback source is listed first
2ace9416e8 broke packit as the fallback
url wasn't listed first anymore. Make sure the fallback URL is listed
first again as clearly documented just above the conditionals.
2025-11-03 11:18:11 +01:00
Zbigniew Jędrzejewski-Szmek
1d3b892105 Enable sysupdate and sysupdated
The files will land in the -udev subpackage.
2025-10-31 13:11:29 +00:00
Daan De Meyer
ea1d871ecd Add missing networkd socket units
systemd-networkd-resolve-hook.socket will be introduced by
https://github.com/systemd/systemd/pull/39293 but we need the spec
to handle the socket for the upgrade/downgrade test to pass so adding
it early behind the upstream bcond.
2025-10-29 10:32:12 +01:00
Daan De Meyer
b76b5da2e6 Merge #214 Drop backwards compat logic from integration tests script 2025-10-25 07:33:02 +00:00
Zbigniew Jędrzejewski-Szmek
7208fa2b1b Require systemd-rpm-macros for build
We use our own macros. They get pulled into the buildroot in Fedora
builds, but we shouldn't rely on this. In OBS builds, they are not
pulled in and the build fails.
2025-10-23 20:40:58 +02:00
Daan De Meyer
f8932309d9 Drop backwards compat logic from integration tests script 2025-10-22 14:04:23 +02:00
Lukáš Zaoral
2e1a6c7474
Require python3-zstandard in ELN
Related: https://issues.redhat.com/browse/RHEL-103523
2025-10-20 16:00:31 +02:00
Zbigniew Jędrzejewski-Szmek
79c9db1bc8 Require systemd-libs and systemd-shared to be in the same version
... (rhbz#2404143)
2025-10-15 13:54:29 +02:00
Zbigniew Jędrzejewski-Szmek
db38445a7e Drop two patches with workaround (selinux, kernel) 2025-10-13 17:15:42 +02:00
Zbigniew Jędrzejewski-Szmek
593a204189 Version 258.1
- This is the first (large) batch of fixes after v258:
  - fixes for boot loader and early boot code
  - fixes for systemd itself, systemd-udevd, systemd-logind,
    systemd-machined, and library code
  - unprivileged operation in systemd-machined is disabled for now
  - lots of documentation and shell-completion fixes
  - includes an hwdb update
2025-10-13 17:09:52 +02:00
Zbigniew Jędrzejewski-Szmek
a3e9e27982 Change '%{systemd}' to systemd in Conflicts/Provides/Requires/Recommends
We were using both styles… Having a macro creates some mental overhead
for little gain. Switch to the fixed string everywhere.

[skip changelog]
2025-09-27 14:41:06 +03:00
Zbigniew Jędrzejewski-Szmek
88877a4184 Require systemd-networkd and systemd-udev to be in the same version
... (rhbz#2397579)

In https://bugzilla.redhat.com/show_bug.cgi?id=2397579 users are doing
a partial upgrade (seemingly) and that fails because of a file conflict.
Add Conflicts to prevent such partial upgrades.
2025-09-27 14:40:45 +03:00
Zbigniew Jędrzejewski-Szmek
8a446daec7 Version 258 💝
- See https://raw.githubusercontent.com/systemd/systemd/v258/NEWS for
  the final list of changes.
2025-09-17 16:03:20 +02:00
Andreas Schneider
cceac93491 Pre-create /etc/userdb directory
An admin can create users in this directory instead of /etc/passwd. As
the .user file can contain hashed password, only root should be able to
read the files.
2025-09-12 10:36:06 +02:00
Zbigniew Jędrzejewski-Szmek
b442086d5f Version 258~rc4 2025-09-05 15:14:21 +02:00
Zbigniew Jędrzejewski-Szmek
327e54e421 Add to patch to create userdb root directory with correct label
The upstream PR was closed with the intent to force the SELinux
policy to be updated instead. While we're waiting for that to happen,
include the patch here.
2025-09-04 13:56:28 +02:00
Zbigniew Jędrzejewski-Szmek
2289d65726 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
2025-09-03 08:02:02 +02:00
Zbigniew Jędrzejewski-Szmek
5acde9f1fd Add workaround patch to hopefully pass podman CI tests 2025-08-26 15:15:17 +02:00
Zbigniew Jędrzejewski-Szmek
1f5ed0da1f Version 258~rc3
- A large number of fixes in various components
- Hardware database and syscall numbers are updated
2025-08-20 17:01:17 +02:00
Luca Boccassi
50936458a7 obs: move recipe files in place
The RPM recipe files for SUSE and Fedora conflict and cannot be
both unpacked at the same time (e.g.: triggers.systemd, systemd.spec,
etc). The tarballs creation are unconditional. This means the same
project build cannot build for both Fedora and SUSE.

All other distros can co-habitate in the same project, so that a single
repository checkout, single trigger, single everything is used.

By storing the RPM recipe files in a separate directory it means they
don't conflict anymore, and they are moved in place in the right recipe
at the right time.

This allows building fedora/suse/centos/debian/ubuntu/arch from a
single project.

[skip changelog]
2025-08-08 01:59:50 +01:00
Luca Boccassi
1bdb4efe40 obs: switch to xz for compression
[skip changelog]
2025-08-08 01:59:25 +01:00
Zbigniew Jędrzejewski-Szmek
be7a4d0863 Version 258~rc2 2025-08-06 08:56:51 +02:00
Luca Boccassi
2ace9416e8 obs: also use version with tilde for Source0
[skip changelog]
2025-07-25 18:05:35 +02:00
Zbigniew Jędrzejewski-Szmek
8d1645af75 Use again %{version} when building in OBS
%{version_no_tilde} no work.

[skip changelog]
2025-07-25 14:08:23 +02:00
Zbigniew Jędrzejewski-Szmek
98cc5fd91a Version 258~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v258-rc1/NEWS.
  Too many changes to list or discuss here.
2025-07-23 23:13:29 +02:00
Zbigniew Jędrzejewski-Szmek
ed7d2f1132 Add "test" that LTO effectively removes unused code from shared lib 2025-07-08 12:50:10 +02:00
Zbigniew Jędrzejewski-Szmek
40b38a04d2 Build docs on 64-bit architectures only
In the light of the recent discussion about dropping i686 packages, let's stop
building our docs there. This reduces the amount of tools needed in the mock
root.

Unfortunately we need to move the man page out of the noarch ukify subpackage,
because it needs to be the same on all architectures where it is built.
2025-07-05 17:29:21 +02:00
Zbigniew Jędrzejewski-Szmek
5d30fd3b26 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.
2025-06-26 14:17:05 +02:00
Zbigniew Jędrzejewski-Szmek
7de88c66bd 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
2025-06-05 08:35:15 +02:00
Matteo Croce
92c16c1dab Let systemd-{sysusers,shared} conflict with older systemd
When downgrading to package versions before 257.3-6 we have this error:

Error: Transaction test error:
  file /usr/bin/systemd-sysusers from install of systemd-257-9.el10.x86_64 conflicts
  with file from package systemd-sysusers-258~devel-20250416115850.el10.x86_64

Add Conflicts on systemd-sysusers subpackage to allow downgrades
across version 257.3-6.
2025-06-04 17:14:41 +02:00
Zbigniew Jędrzejewski-Szmek
ed6b885327 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
2025-05-29 19:03:59 +02:00
David Tardon
5a53eac13c Package pcrlock files together with systemd-pcrlock
... (rhbz#2366948)
2025-05-20 14:58:07 +02:00
Zbigniew Jędrzejewski-Szmek
2192e86112 Move mount.ddi symlinks to -container subpackage
Those symlinks point to systemd-dissect, so with just the main subpackage installed,
the symlink was dangling.
2025-05-08 14:14:40 +02:00
LuK1337
451184cbea
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.
2025-05-02 10:18:04 +02:00
LuK1337
f6af46db12
Backport adb/fastboot udev rules (BZ#2356537) 2025-04-18 00:39:10 +02:00
Zbigniew Jędrzejewski-Szmek
f6b814cc0f Backport CI fix 2025-04-10 15:52:59 +02:00
Zbigniew Jędrzejewski-Szmek
d304477023 Version 257.5
- A lot of small fixes in various components
2025-04-09 22:35:03 +02:00
Daan De Meyer
6646d13aca fmf: Run tests from systemd-tests rpm if possible
Running from the source tarball implies running with unpatched tests,
whereas the same files from the systemd-tests package (which now contains
the mkosi and integration test files) will be patched.

[skip changelog]
2025-04-09 09:43:41 +02:00
Daan De Meyer
08ce156d74 fmf: Run mkosi genkey before mkosi summary
Otherwise mkosi summary might fail because the key/cert don't exist
yet.

[skip changelog]
2025-04-03 16:32:38 +02:00
Daan De Meyer
1126a7c6b8 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]
2025-04-03 15:23:17 +02:00
Daan De Meyer
cc473d807f fmf: Check out mkosi to some directory in /var/tmp
Using the source tree of the spec can still lead to conflicts if a
mkosi/ directory exists there (which is the case in the hyperscale
systemd spec repo), so let's check out mkosi in /var/tmp to ensure
we don't conflict.
2025-04-03 13:05:38 +02:00
Daan De Meyer
b17e5d64a1 Don't try to modify mkosi.repart config if mkosi conf is in subdir
[skip changelog]
2025-04-03 09:58:17 +02:00
Daan De Meyer
e2b2ea3776 fmf: Use mkosi/mkosi.local.conf if the mkosi/ directory exists
https://github.com/systemd/systemd/pull/36954 will move all the mkosi
configuration in the systemd repository into a mkosi/ subdirectory. This
means we have to put mkosi.local.conf in that subdirectory as well, so check
if the mkosi/ directory exists and put mkosi.local.conf in there if it exists.

The mkosi/ directory will conflict with our checkout of mkosi so we move that
checkout one level up. Additionally, we can't use .. anymore as the package
directory as that only works when mkosi.local.conf is in the top level directory
of the repository so we use an absolute path instead.
2025-04-03 09:39:29 +02:00
Daan De Meyer
617952132d Run integration testsuite standalone if available
[skip changelog]
2025-03-27 21:48:29 +01:00
Daan De Meyer
13d523f84d 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.
2025-03-25 12:35:43 +00:00
Daan De Meyer
59378485be Remove purge-nobody-user script
The corresponding change proposal is from 2018. Enough time has passed
since then that we don't need to carry this around anymore
2025-03-23 11:00:27 +01:00
Zbigniew Jędrzejewski-Szmek
d1380dc114 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.
2025-03-23 10:59:08 +01:00
Zbigniew Jędrzejewski-Szmek
6f0d03443d 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.
2025-03-23 10:59:08 +01:00
Daan De Meyer
df9a74d530 Make the source tarball glob in the test script more generic
If we download the main branch from github by defining %branch, the
source tarball will be named main.tar.gz, so let's make the tarball
pattern more generic to match.
2025-03-21 21:40:07 +01:00
Daan De Meyer
2ecfbec1a4 Support specifying extra mkosi repositories to the test script 2025-03-21 15:59:32 +01:00
Daan De Meyer
f5b47b1302 Use old setup sysusers files on Fedora < 43 2025-03-21 14:38:40 +01:00
Daan De Meyer
2da5793357 Merge #196 Migrate fmf metadata and test script from the upstream repository 2025-03-21 13:32:58 +00:00
Daan De Meyer
3e9051124e Migrate fmf metadata and test script from the upstream repository
Primarily, this allows us to get rid of dist-git-source which makes
the fmf stuff reusable for CentOS Stream in gitlab which we'd like to
make use of in the systemd backport in the Hyperscale SIG.

Also in general making the integration touch points with Fedora CI
and the other systems as small as possible seems like a good thing.
2025-03-21 13:29:53 +01:00
Yaakov Selkowitz
e346d9f33e 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
2025-03-20 19:15:52 -04:00
Daan De Meyer
d366b59657 Fix test_sysusers_defined check
https://src.fedoraproject.org/rpms/setup/c/7ced36d60b67c9e74f7951123225200597e3d2fa?branch=rawhide
merged the two setup sysusers files into one and changed the name, so
let's adapt the test_sysusers_defined check for those changes.
2025-03-20 10:57:58 +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
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
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
0c236cedb9 Upload sources
[skip changelog]
2024-11-07 17:14:33 +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
Zbigniew Jędrzejewski-Szmek
8f44e8097d Add forgotten patch
[skip changelog]
2024-11-07 11:45:37 +01: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
Yu Watanabe
e42eed4afd test_sysusers_defined: support new ! line flag for creating fully locked accounts
For https://github.com/systemd/systemd/pull/34876.
2024-10-24 18:11:08 +09: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
Zbigniew Jędrzejewski-Szmek
5a82129a41 Reword some descriptions
Also reflow %descriptions to 80 columns.

[skip changelog]
2024-09-20 17:45:09 +02:00
Matteo Croce
ce99022f7b Version 256.6
Bump version and remove already present ukify patch
2024-09-12 02:00:30 +02:00
Daan De Meyer
a67221c3f0 Always build ukify package
Even on non-uefi architectures, ukify can be used to build UKIs for
UEFI images. For example, mkosi can use it to build UKIs on s390x.
To enable this use case, let's always build ukify, but with a conditional
dependency on systemd-boot only on arches that support UEFI.
2024-08-29 12:58:16 +03:00
Daan De Meyer
abb115a905 Do not use patch to modify systemd-user pam config file
We still want the Fedora systemd-user pam config when building with
--noprep so let's install the pam config file using a regular source
instead of patching the one provided by systemd.
2024-08-28 11:38:58 +02:00
Daan De Meyer
196ec98228 Drop %upstream conditionalization for patches
rpm will imply --noprep when using --build-in-place in rpm 4.20 and
we're switching the mkosi rpm builds to use --noprep as well on older
rpm versions. This means we don't need to gate out patch applications
anymore with the %upstream macro.
2024-08-28 10:22:26 +02:00
Daan De Meyer
28076e6232 Only make python3-pillow Recommends on Fedora
python3-pillow is not available in CentOS Stream 9/10 so let's not
mark it as Recommends.
2024-08-27 15:04:08 +02:00
Davide Cavalca
a9807c4486 Do not require grubby on CentOS Stream 9
This is a fixup for 12d1f05029.
2024-08-24 08:29:51 -07:00
Zbigniew Jędrzejewski-Szmek
d38cacfd3a Version 256.5
- Includes the patches for the kernel change with kernel threads in
  leaf cgroups (https://github.com/systemd/systemd/pull/33885)
- Various smaller fixes
2024-08-20 19:18:05 +02:00
Zbigniew Jędrzejewski-Szmek
38291e13c1 Disable integration of userdb in sshd 2024-08-20 18:42:34 +02:00
Daan De Meyer
53118d2112 Backport patch to only read /proc/cmdline when not in container 2024-07-29 19:01:26 +02:00
Daan De Meyer
903e8e0f88 Backport upstream patch to try more initrd variants in 90-loaderentry.install
This makes sure that 90-loaderentry.install plays nicely with the
dracut kernel-install plugin that is shipped in Fedora and CentOS
Stream.
2024-07-29 17:59:27 +02:00
Zbigniew Jędrzejewski-Szmek
b29a66006c Version 256.4
- Hardware db update
- Minor fixes for systemd-udevd and varlink protocol
2024-07-25 12:50:06 +02:00
Daan De Meyer
1cdae03391 Update tmpfiles --destroy-data patch
Let's make sure we patch the integration test for systemd-tmpfiles
--purge as well so it doesn't fail.
2024-07-23 13:22:01 +02:00
Zbigniew Jędrzejewski-Szmek
4fd4ef72a6 Upload sources
[skip changelog]
2024-07-23 10:58:29 +02:00
Zbigniew Jędrzejewski-Szmek
3c3772150d Version 256.3
- A bunch of fixes for systemd (pid1)
- Various upgrades related to running tests in mkosi
2024-07-23 10:25:28 +02:00
Daan De Meyer
00babccdea Simplify BFQ scheduler enablement
This doesn't need to be a patch, let's instead install it as part of
%install to simplify things a little.
2024-07-20 17:08:03 +02:00
Fedora Release Engineering
ef8ddb130b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 06:58:47 +00:00
Zbigniew Jędrzejewski-Szmek
5b4a5461d6 Fix changelog
rpmautospec doesn't like the merge: "unresolvable merge".
To avoid the issue, re-add the changelog file. Also, let's drop the
stuff that is only specific to EPEL, since this branch is primarily
for rawhide.
2024-07-19 16:57:23 +02:00
Daan De Meyer
a8c5c736f6 Only apply shorter shutdown timer changes on Fedora
We had a *lot* of breakage caused by this change internally so let's
make the spec a little more conservative by only applying the shorter
shutdown timer for Fedora builds.
2024-07-19 14:53:40 +00:00
Zbigniew Jędrzejewski-Szmek
f4e284cd7a Merge #150 Deal with systemd-timesyncd backport in EPEL 2024-07-19 14:52:52 +00:00
Daan De Meyer
12d1f05029 Don't claim /sbin/installkernel if building for CentOS Stream 9
CentOS Stream 9 has older grubby that still claims /sbin/installkernel
for itself so let's not install the symlink in that case.
2024-07-19 16:33:08 +02:00
Daan De Meyer
9378a0733a Deal with systemd-timesyncd backport in EPEL 2024-07-19 13:26:50 +02:00
Zbigniew Jędrzejewski-Szmek
79828f2753 spec: use "positive" conditions in conditionals
I think it's easier to read this way.

[skip changelog]
2024-07-18 10:12:15 +02:00
Daan De Meyer
c5d3af1638 Add build dependency on rsync on CentOS Stream 9
meson on CentOS Stream 9 is too old to properly handle symlinks
when installing test data so the systemd meson build script uses
rsync instead. Let's add the requisite build requires to make that
work.
2024-07-18 08:00:02 +00:00
Zbigniew Jędrzejewski-Szmek
8d080fb5cb Backport udma buffer access patch
... (rhbz#2298422)
2024-07-17 11:49:37 +02:00
Daan De Meyer
6084453807 Add support for building from a specific branch
For our nightly systemd build for the CentOS Hyperscale build it
would be very useful to download sources straight from git main on
github so let's allow defining the "branch" macro to do just that.
2024-07-16 19:24:32 +02:00
Daan De Meyer
cb9d631ca0 Update PR patch metadata
The PR was recently rebased so let's include the newest patch metadata
in the repo.
2024-07-16 18:17:54 +02:00
Zbigniew Jędrzejewski-Szmek
3889da947e In standalone subpackages, suggest coreutils-single
In a minimal installation, we pull in coreutils via dependencies.
coreutils-single is much smaller, so bias the resolved towards that.

$ sudo dnf5 install --releasever=rawhide --installroot=/var/tmp/inst1 --use-host-config \
  /var/lib/mock/fedora-rawhide-x86_64/result/systemd-standalone-{repart,shutdown,sysusers,tmpfiles}-256.2-5*rpm
After this operation 57 MiB will be used (install 57 MiB, remove 0 B).

$ sudo dnf5 install --releasever=rawhide --installroot=/var/tmp/inst1 --use-host-config \
  /var/lib/mock/fedora-rawhide-x86_64/result/systemd-standalone-{repart,shutdown,sysusers,tmpfiles}-256.2-6*rpm
After this operation 41 MiB will be used (install 41 MiB, remove 0 B).
2024-07-15 13:36:06 +02:00
Zbigniew Jędrzejewski-Szmek
b7800e3e66 Drop versions from Conflicts for standalone packages
Because the conflicts are in one direction, dnf may try to install older
systemd/systemd-duev and newer systemd-standalone-*. This is not what we want:

$ sudo dnf5 install systemd-standalone-repart
Updating and loading repositories:
Repositories loaded.
Package                             Arch    Version       Repository          Size
Downgrading:
 systemd                            x86_64  255.4-1.fc40  fedora          14.6 MiB
   replacing systemd                x86_64  256.2-1.fc40  @commandline    16.8 MiB
 systemd-container                  x86_64  255.4-1.fc40  fedora           1.4 MiB
   replacing systemd-container      x86_64  256.2-1.fc40  @commandline     1.5 MiB
 systemd-devel                      x86_64  255.4-1.fc40  fedora         550.3 KiB
   replacing systemd-devel          x86_64  256.2-1.fc40  @commandline   556.1 KiB
 systemd-libs                       x86_64  255.4-1.fc40  fedora           1.9 MiB
   replacing systemd-libs           x86_64  256.2-1.fc40  @commandline     2.0 MiB
 systemd-networkd                   x86_64  255.4-1.fc40  fedora           2.0 MiB
   replacing systemd-networkd       x86_64  256.2-1.fc40  @commandline     2.1 MiB
 systemd-oomd-defaults              noarch  255.4-1.fc40  fedora         187.0   B
   replacing systemd-oomd-defaults  noarch  256.2-1.fc40  @commandline   187.0   B
 systemd-pam                        x86_64  255.4-1.fc40  fedora           1.0 MiB
   replacing systemd-pam            x86_64  256.2-1.fc40  @commandline     1.1 MiB
 systemd-resolved                   x86_64  255.4-1.fc40  fedora         629.9 KiB
   replacing systemd-resolved       x86_64  256.2-1.fc40  @commandline   667.1 KiB
 systemd-rpm-macros                 noarch  255.4-1.fc40  fedora           9.5 KiB
   replacing systemd-rpm-macros     noarch  256.2-1.fc40  @commandline     9.3 KiB
 systemd-tests                      x86_64  255.4-1.fc40  fedora          16.5 MiB
   replacing systemd-tests          x86_64  256.2-1.fc40  @commandline    20.0 MiB
 systemd-udev                       x86_64  255.4-1.fc40  fedora          11.5 MiB
   replacing systemd-udev           x86_64  256.2-1.fc40  @commandline    11.7 MiB
 systemd-ukify                      noarch  255.4-1.fc40  fedora          69.9 KiB
   replacing systemd-ukify          noarch  256.2-1.fc40  @commandline    73.3 KiB
Installing:
 systemd-standalone-repart          x86_64  255.8-1.fc40  updates        986.6 KiB

Transaction Summary:
 Installing:        1 packages
 Replacing:        12 packages
 Downgrading:      12 packages

Also, declare the Conflicts on both sides, so that the issue is resolved
immediately. Otherwise, it could still occur when an older version of the
non-standalone packages are available (or installed).
2024-07-15 13:34:36 +02:00
Zbigniew Jędrzejewski-Szmek
a3524fc837 Use a more precise Recommends for libkxbcommon
The old one was the first one added, and referred to the package.
The later ones refer to the soname. Let's convert that one to that
too.
2024-07-14 11:28:29 +02:00
Daan De Meyer
980ede8c0f Drop machined revert
The selinux-policy was fixed (https://bugzilla.redhat.com/show_bug.cgi?id=2279923)
so let's drop the revert. The minimum version for the selinux-policy
Conflicts is updated to make sure it is installed.
2024-07-11 13:05:04 +02:00
Zbigniew Jędrzejewski-Szmek
d569018a92 Rebuilt for the bin-sbin merge
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2024-07-09 12:40:39 +02:00
Zbigniew Jędrzejewski-Szmek
8881fa94ee Version 256.2
- A bunch of various small fixes
2024-07-08 19:27:29 +02:00
Zbigniew Jędrzejewski-Szmek
1cc4f83002 Link systemd-executor statically 2024-07-08 15:21:08 +02:00
Yaakov Selkowitz
0319e62d9c Update dracut workaround
Fedora 40 and RHEL 10 both now have dracut 101.
2024-07-05 18:56:02 -04:00
Yaakov Selkowitz
c96f54de22 Fix ELN build
ELN, following rawhide, now also splits out the openssl-devel-engine
headers in preparation for their eventual removal.
2024-07-05 18:00:39 -04:00
Daan De Meyer
3f68c5d802 Only exclude dracut conflicts on non-fedora on upstream builds
For the CentOS Stream Hyperscale SIG we backport a newer version of
dracut and still want the Conflicts to apply so let's conditionalize
the check on the %upstream macro since we only need it for upstream
builds anyway.
2024-07-05 15:26:40 +02:00
Daan De Meyer
7db154308b Conditionalize dracut Conflicts more
Make sure on centos stream 10 we also conflict with dracut 060-2
and that on centos stream 9 so that the spec can still be used to
build systemd rpms for centos stream 9 upstream in systemd CI that
can be installed on centos stream 9.

(dracut is pulled in as a required dependency of kernel-core so we
can't just not install it on centos stream 9 unfortunately).
2024-07-05 11:09:10 +02:00
Daan De Meyer
f9fe17dbde Use vmlinux.h from kernel-devel
Let's make sure we use the vmlinux.h from kernel-devel or none at
all. This makes sure the systemd BPF programs are built against a
known version of vmlinux.h and we don't depend on /sys being available
to generate vmlinux.h ourselves.

Use rpmdev-vercmp to select vmlinux.h from the latest kernel.
2024-07-02 19:41:34 +02:00
Zbigniew Jędrzejewski-Szmek
9cbad936a6 Pull in openssl-devel-engine 2024-07-02 13:40:53 +02:00
Daan De Meyer
8ae009f929 Only add Requires on python3-zstd on Fedora
python3-zstd is not packaged on for CentOS Stream.
2024-07-01 15:18:47 +02:00
Daan De Meyer
750e910c7c Drop BuildRequires on python3-zstd
python3-zstd is only required by ukify and ukify already has a Requires
dependency on python3-zstd so let's drop the BuildRequires.
2024-07-01 15:18:07 +02:00
Zbigniew Jędrzejewski-Szmek
8153d9b0f9 Revert "Remove tmpfiles snippet for /home and /srv"
This reverts commit a76669ee22.

People create /usr-only images by making an installation and only picking
up /usr from it. In that case, the snippet is needed to re-recreate /home
on the rootfs.
2024-06-25 10:29:02 +02:00
Zbigniew Jędrzejewski-Szmek
a76669ee22 Remove tmpfiles snippet for /home and /srv 2024-06-18 21:18:10 +02:00
Zbigniew Jędrzejewski-Szmek
b3e1d52cb4 Soft-disable tmpfiles --purge until a good use case comes up 2024-06-18 21:18:10 +02:00
Zbigniew Jędrzejewski-Szmek
4a29ab3f3b Version 256.1 2024-06-18 21:03:17 +02:00
U2FsdGVkX1
ebf352d292 disable auto-features when bootstrapping 2024-06-15 22:56:39 -04:00
Zbigniew Jędrzejewski-Szmek
1ae0516ae7 Version 256
- Only minor changes since -rc4.
- Hardward db is updated.
2024-06-12 00:08:45 +02:00
Zbigniew Jędrzejewski-Szmek
b32641170e Restore patch to drop varlink method call
It still seems to fail in the CI. Maybe the selinux policy does not
work as expected.
2024-06-07 17:03:26 +02:00
Zbigniew Jędrzejewski-Szmek
421f0041b3 Version 256~rc4 2024-06-06 22:04:51 +02:00
Zbigniew Jędrzejewski-Szmek
65d9b49791 Fix typo
[skip changelog]
2024-06-06 21:55:27 +02:00
Zbigniew Jędrzejewski-Szmek
c56891fb68 Drop sysusers.d/basic.conf
- We rely on setup to provide all necessary groups.
2024-06-06 21:55:27 +02:00
Zbigniew Jędrzejewski-Szmek
69472997b9 Renumber sources and make order more consistent
[skip changelog]
2024-06-06 21:55:27 +02:00
Adam Williamson
1f94b56cee Partially backport PR #33016 to fix crashes in KDE 6.3.0 2024-06-02 10:07:04 -07:00
Zbigniew Jędrzejewski-Szmek
74810c5bc4 Fix release field
[skip changelog]
2024-05-29 14:54:54 +02:00
Zbigniew Jędrzejewski-Szmek
a94605b586 Add patch to work-around libbpf bug
... (rhbz#2280935)
2024-05-29 14:24:15 +02:00
Zbigniew Jędrzejewski-Szmek
c72623872a Version 256~rc3
The revert patch Patch0001 could be droppped, since the policy has
been updated, but let's do that later separately.
2024-05-23 10:11:57 +02:00
Zbigniew Jędrzejewski-Szmek
f706e12e05 Upload sources
[skip changelog]
2024-05-15 13:57:29 +02:00
Zbigniew Jędrzejewski-Szmek
b64db84892 Version 256~rc2
- Various small changes all over
- A fix for rhbz#2273069
2024-05-15 11:07:54 +02:00
Zbigniew Jędrzejewski-Szmek
8fe1f037d2 Restore compatibility with F40
In systemd upstream CI, we only have the rawhide branch, because we import
dist-git via git submodule. But we want to build systemd on F40 too from this
branch, so conditionally ressurect the patch to make that work. This partially
reverts 69d6e44695.

[skip changelog]
2024-05-14 20:55:59 +02:00
Zbigniew Jędrzejewski-Szmek
f2d12ae6d1 Make %release_override overridable from outside 2024-05-13 13:26:25 +02:00
Zbigniew Jędrzejewski-Szmek
491a9ed5d1 Override release tag
I think this is a bug in rpmautospec. The release tag is always generated
as "1". Before this is investigated and fixed, just set it manually.

[skip changelog]
2024-05-11 14:08:39 +02:00
Zbigniew Jędrzejewski-Szmek
a2d3bbf3d2 Temporarily drop call to varlink method to avoid SELinux denial
There were a bunch of other commits incl. bugfixes that mean that it'd
make sense to update to the latest snapshot, but I chose not to do that to
avoid introducing new issues. We'll get -rc2 soon enough anyway.
2024-05-11 13:32:56 +02:00
Zbigniew Jędrzejewski-Szmek
f872d00c6a Version 256-rc1^20240509git
- There were some fixes merged upstream, so let's try again before
  v256-rc2 is released.
2024-05-09 12:20:52 +02:00
Jan Macku
b9ec39c0ef spec: systemd-ukify should depend on systemd-boot
`systemd-ukify` requires `/usr/lib/systemd/boot/efi/{addonx64,linuxx64}.efi.stub` to work properly, e.g.

```
Traceback (most recent call last):
  File "/usr/bin/ukify", line 1660, in <module>
    main()
  File "/usr/bin/ukify", line 1648, in main
    check_inputs(opts)
  File "/usr/bin/ukify", line 390, in check_inputs
    value.open().close()
  File "/usr/lib64/python3.9/pathlib.py", line 1252, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/usr/lib64/python3.9/pathlib.py", line 1120, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/systemd/boot/efi/addonx64.efi.stub'
```

`/usr/lib/systemd/boot/efi/{addonx64,linuxx64}.efi.stub` are now contained in `systemd-boot-unsigned` sub-package so adding a dependency on it seems like the easiest solution.

Originally reported by: Vitaly Kuznetsov <vkuznets@redhat.com> in https://issues.redhat.com/browse/RHEL-33990

Signed-off-by: Jan Macku <jamacku@redhat.com>
2024-05-02 08:54:12 +02:00
Zbigniew Jędrzejewski-Szmek
580f7f149a Override release tag
I think this is a bug in rpmautospec. The release tag is always generated
as "1". Before this is investigated and fixed, just set it manually.

[skip changelog]
2024-04-27 21:28:18 +02:00
Zbigniew Jędrzejewski-Szmek
c6f7df8b6c Add additional daemon-reexec for upgrades from old systemd versions
https://github.com/systemd/systemd/issues/32508#issuecomment-2079991745

> The new systemd package does the reexec in %postun, but the old one does it in
> %post. So if we install the new one, we don't do any reexec (since %postun
> doesn't run in this case), but once we remove the old one we also don't do any
> reexec, because in this case there's no reexec in %postun:

> # dnf upgrade --rpmverbosity=debug ./*.rpm |& tee log.txt
> ...
> : %postun(systemd-255.5-1.fc41.x86_64): scriptlet start
> D: %postun(systemd-255.5-1.fc41.x86_64): execv(/bin/sh) pid 2649
> D: Plugin: calling hook scriptlet_fork_post in selinux plugin
> D: setexecfilecon: (/bin/sh, rpm_script_t)
> + '[' 1 -eq 1 ']'
> + '[' -w /var ']'
> + journalctl --update-catalog
> + systemd-tmpfiles --create
2024-04-27 20:52:59 +02:00
Zbigniew Jędrzejewski-Szmek
529e5aa70e Drop trigger scriptlets for upgrades from systemd < 247 2024-04-27 20:52:42 +02:00
Zbigniew Jędrzejewski-Szmek
9ebc196a77 Add Recommends for dlopen libraries
They were already in place, but disabled using %{with upstream}. So it's
enough to drop this conditionalization.
2024-04-27 20:47:38 +02:00
Zbigniew Jędrzejewski-Szmek
c29942f58b Version 256~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v256-rc1/NEWS.
  Too many changes to list or discuss here.
2024-04-26 09:04:32 +02:00
Zbigniew Jędrzejewski-Szmek
4e7c10c3a5 Reexec systemd in %postun (https://github.com/systemd/systemd/issues/5096)
- The workaround dbus issues in upgrades from systemd-239 is dropped
2024-04-24 17:29:40 +02:00
Zbigniew Jędrzejewski-Szmek
69d6e44695 Drop workaround to run generators without sandboxing
... (requirement on dracut >= 60 is added)
2024-04-24 16:45:03 +02:00
Zbigniew Jędrzejewski-Szmek
041d0e2394 Version 255.5
- Many different small fixes: systemd itself, systemd-networkd,
  systemd-journal-remote, compilation fixes for newer kernels and
  clang, systemd-homed, systemd-resolved, ukify, systemd-tmpfiles,
  various other.
2024-04-24 16:43:34 +02:00
Zbigniew Jędrzejewski-Szmek
cffa0853c9 Move systemctl symlinks to /usr/bin too
[skip changelog]
2024-04-18 16:00:40 +02:00
Zbigniew Jędrzejewski-Szmek
a37923658f Prepare for bin-sbin merge
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

Skip symlinks if they'd point to themselves,
rely on filesystem to create symlinks for us.
2024-04-10 22:08:06 +02:00
Zbigniew Jędrzejewski-Szmek
3f8c38e5d6 Drop perl from BR
It was removed upstream in 711169905e75617eabf3934273aa37dac02c6458,
except for one call in test/test-functions, but we don't run those
during package build.

[skip changelog]
2024-04-08 13:54:32 +02:00
Zbigniew Jędrzejewski-Szmek
5a7cc0a327 Fix build with newer kernel headers
[skip changelog]
2024-04-07 10:57:49 +02:00
Zbigniew Jędrzejewski-Szmek
976e1b0a68 spec: add %bcond to build without documentation
Building of the man pages takes quite a while. We can skip this step
in integration mkosi tests, we don't care about documentation there.
2024-03-27 11:40:36 +01:00
Zbigniew Jędrzejewski-Szmek
3a8ac5baa8 spec: sort and deduplicate gid configuration
[skip changelog]
2024-03-27 11:39:37 +01:00
Zbigniew Jędrzejewski-Szmek
f1d38667ef Revert "Adjust release tag for riscv64"
This reverts commit b6f8f82d8b.

It was a misunderstanding, it wasn't supposed to go in.
2024-03-22 13:10:38 +01:00
David Abdurachmanov
ac2364bc4b Enable bootloader stack for riscv64 2024-03-22 13:03:35 +01:00
Zbigniew Jędrzejewski-Szmek
b6f8f82d8b Adjust release tag for riscv64
If it is specified externally, we hounour that. Otherwise, default
to "1.0.riscv64" on riscv.
2024-03-22 13:02:00 +01:00
Zbigniew Jędrzejewski-Szmek
58b044d8e9 Adjust indentation
[skip changelog]
2024-03-22 13:02:00 +01:00
Zbigniew Jędrzejewski-Szmek
e3e9477031 BR: valgrind is not available on riscv64
[skip changelog]
2024-03-22 13:02:00 +01:00
Zbigniew Jędrzejewski-Szmek
ec5f3a94bc BR: add versioned dependency on binutils for ukify tests
[skip changelog]
2024-03-22 13:02:00 +01:00
David Tardon
2e32a339a1 Make Requires(*) on systemd versioned
Most systemd tools run from scriptlets need libsystemd-shared-X.so (from
systemd package), which contains version and release in it's name.
Therefore, the same version of systemd package must be already installed
when they run.

Resolves: #2282821
2024-03-20 11:01:27 +01:00
Zbigniew Jędrzejewski-Szmek
95a3861e92 Add R:systemd-udev to systemd-networkd subpackage
... (rhbz#2173425)
2024-03-20 09:57:27 +01:00
Daan De Meyer
ae8a47e92e Add psutil dependency to systemd-tests
Required by systemd-networkd-tests.py
2024-03-18 14:25:44 +01:00
Daan De Meyer
2822a03dde Build in developer mode when building for upstream 2024-03-07 12:18:11 +00:00
Zbigniew Jędrzejewski-Szmek
e8d02128c9 Version 255.4 2024-03-01 16:38:06 +01:00
Daan De Meyer
dc3dcc0114 Allow setting extra configure options using %meson_extra_configure_options
Will be used when building upstream to enable developer mode or sanitizers
for example.
2024-02-21 15:42:47 +01:00
Daan De Meyer
104532bab2 Apply pam patch when building for upstream
It applies without conflicts and ensures coverage of a pretty important
patch so let's apply it when building for upstream.
2024-02-21 15:42:00 +01:00
Daan De Meyer
0a51fe1e6b Use %version_override/%release_override to specify version/release by users
When backporting the latest changes to CentOS Hyperscale reviewers
were confused by using %version and %release to define "Version" and
"Release" which are supposed to specify the values for %version and
%release. Let's use different macros to make it more clear that these
are supposed to be set by users building the rpm and add a comment
to explain why we do this.
2024-02-21 12:02:00 +01:00
Zbigniew Jędrzejewski-Szmek
7740aea610 Let libkmod be a dlopen'ed dependency 2024-02-20 11:11:20 +01:00
Daan De Meyer
3520bb5c92 Allow overriding the version and release using macros
Let's allow overriding the version and release by specifying the
corresponding macros on the rpmbuild command line. This allows us
to specify a custom version and release when doing upstream builds.
2024-02-17 22:08:38 +01:00
Daan De Meyer
74b3ef386f Stop passing %{release} to meson when building in upstream mode
When building in upstream mode, the release doesn't really have any
meaning so let's stop passing it as part of the version-tag and
shared-library-tag arguments.

This also makes it possible to make the release a timestamp so that
each package built from upstream is guaranteed to be newer. If we
pass the release to meson via version-tag and shared-library-tag and
the release changes every build, we end up having constant rebuilds
of various targets in meson that depend on the version.
2024-02-17 22:08:35 +01:00
Daan De Meyer
4c5b844e62 Don't pass b_lto to meson
Let's depend on %lto_cflags doing the right thing instead of manually
passing the b_lto option to meson.
2024-02-17 17:58:18 +01:00
Daan De Meyer
3f65739521 Update usage of meson-vcs-tag.sh to account for upstream changes
The second argument now specifies the version tag version so let's
adapt. Because the script now supports running without any arguments
at all, let's just do that.

The output now also doesn't use any hyphens anymore so we get rid
of the sed transformation as well;
2024-02-15 20:23:48 +01:00
Daan De Meyer
a95f14a72e Replace inplace macro with upstream macro
Currently, the inplace macro only influences whether we use
tools/meson-vcs-tag.sh to figure out the version instead of using
the predefined one. But doing an inplace build shouldn't really
affect the version, since it's possible to do an inplace builds that's
not a git main upstream build, so the two concepts are disjoint.

Instead, let's replace the "inplace" macro with an "upstream" macro
to indicate that we're building from systemd git upstream. Aside from
influencing the version, this also disables various patches and adds
a libarchive dependency that was added upstream recently but isn't in
an official release yet.
2024-02-11 20:31:41 +01:00
Daan De Meyer
a9172a2e9c Remove reconfiguration logic
meson handles this internally since 1.3 so we don't need this logic
anymore.
2024-02-11 20:31:41 +01:00
Daan De Meyer
b375f983d9 Stop depending on filelists
There's a bug in dnf5 where it always downloads filelists metadata
even for file dependencies that are in the "allowed" paths, such as
/usr/bin/getfacl. Let's use the package names for now to avoid
downloading the filelists metadata unnecessarily.

See https://bugzilla.redhat.com/show_bug.cgi?id=2263771
2024-02-11 20:31:28 +01:00
Zbigniew Jędrzejewski-Szmek
92ef780f99 Conflicts/Provides with systemd-standalone-repart are moved udev subpackage
/usr/bin/systemd-repart is in systemd-udev, so this Conflicts/Provides
combo was misplaced. (For the Conflicts, this is actually not a real
issue, because systemd-udev Requires systemd, so transitively, the
conflicting packages could not be installed. But for Provides, the
issue is real, because systemd by itself does _not_ provide the
binary.)

This was noticed by rpmdeplint CI job:
Undeclared file conflicts:
systemd-standalone-repart-255.3-1.fc40.x86_64 provides /usr/bin/systemd-repart which is also provided by systemd-udev-255.2-2.fc40.x86_64
2024-01-29 11:23:07 +01:00
Zbigniew Jędrzejewski-Szmek
6f32627f61 Version 255.3
- A bunch of various fixes for memory and behaviour, in many different
  components (bootctl, systemd, udev, systemd-networkd, systemd-homed,
  systemd-logind, systemd-resolve, systemd-repart, systemd-analyze,
  systemd-dissect, systemd-boot, pam modules, systemd-storagetm,
  systemd-journal-remote, kernel-install)
- Improved detection of virtualization (Google Compute Engine, Apple Virt)
- Updates for shell completions and docs
- An update for hardware database
2024-01-25 16:49:50 +01:00
Zbigniew Jędrzejewski-Szmek
7ec963cfce Add temporary patch to adjust uid range classification
... (rhbz#2251843)
2024-01-23 18:31:57 +01:00
Zbigniew Jędrzejewski-Szmek
cb344fd09f Upload sources
[skip changelog]
2024-01-09 16:21:46 +01:00
Zbigniew Jędrzejewski-Szmek
047337bfbc Version 255.2
- Fixes missing DNSSEC validity check in SOA DNS packets (CVE-2023-7008)
- systemd-resolved and systemd-networkd are restarted after an upgrade.
2024-01-09 15:52:01 +01:00
Zbigniew Jędrzejewski-Szmek
cd0e291d13 Add missing %postun scriptlets for systemd-{resolved,networkd}
... (rhbz#2255718)

I'm not sure what happened here. But I think both services should be
fine with a restart and there is no reason not to do this.
2024-01-09 10:12:34 +01:00
Zbigniew Jędrzejewski-Szmek
3211e4adfc Version 255.1 2023-12-16 11:07:35 +01:00
Zbigniew Jędrzejewski-Szmek
4c7acded2a Do not remove modified config files
Our config files in /etc/ were marked as %config(noreplace). This means that the
would not be replaced on upgraded if local modifications have been made. But
when we moved them to /usr/lib, they would be be renamed to .rpmsave, if they
had local modifications. This is not what I expected, but what rpm apparently
does. So we need to add them as %ghost to prevent the removal. This is probably
for the better anyway.
2023-12-13 13:02:45 +01:00
Zbigniew Jędrzejewski-Szmek
3a8edc7540 Fix previous commit
[skip changelog]
2023-12-11 22:51:48 +01:00
Zbigniew Jędrzejewski-Szmek
1d61a36c4c Add comment
[skip changelog]
2023-12-09 14:36:49 +01:00
Zbigniew Jędrzejewski-Szmek
245a2587e0 Add /etc/ssh/sshd_config.d to the file list
This is a bit of a mess: sshd can only load configuration from
/etc/ssh/sshd_config.d, and that directory is declared as non-world-readable.
This is in violation of the packaging guidelines which say that packaged files
must be world-readable, and also makes very little sense, since those files
are part of the package payload.

If we create the directory with different permissions, and list it in %files,
installation will fail. If we don't list it in %files, and the user doesn't have
openssh-server installed, they will have an unowned directory. Another option
would be to depend on owner of this directory, i.e. openssh-server, but we don't
want to have that dependency. So let's copy the %files line from openssh-server
and figure out what to do if it changes in openssh-server again.
2023-12-08 18:17:39 +01:00
Zbigniew Jędrzejewski-Szmek
29eb35530b Move config files to /usr/lib/systemd
... (e.g. /etc/systemd/system.conf → /usr/lib/systemd/systemd.conf).
Both config file locations were already supported, and the files
installed in /etc/ were "empty" (i.e. they had only comments and section
headers). The move does not change the configuration, but just makes
/etc more empty by default. See
6495361c7d for more
discussion and details.
2023-12-08 13:25:18 +01:00
Zbigniew Jędrzejewski-Szmek
40811593d0 Move systemd-bsod is to udev subpackage 2023-12-08 13:24:58 +01:00
Zbigniew Jędrzejewski-Szmek
81bbc12743 Version 255
- Just a few bugfixes since 255-rc4: seccomp filters, logging,
  documentation, systemd-repart
- Includes a hardware database update.
2023-12-06 22:19:12 +01:00
Yu Watanabe
3bab7a695c Drop deprecated split-usr option
[skip changelog]
2023-12-06 00:36:37 +09:00
Yu Watanabe
e36c897dbd Replace deprecated boolean value with enabled/disabled
[skip changelog]
2023-12-06 00:36:26 +09:00
Zbigniew Jędrzejewski-Szmek
a3dfa110ec split-files: fix check for empty package
[skip changelog]
2023-12-02 10:56:51 +01:00
Zbigniew Jędrzejewski-Szmek
f37ad39430 Upload sources
[skip changelog]
2023-12-02 10:28:45 +01:00
Zbigniew Jędrzejewski-Szmek
268ca6a059 Version 255~rc4 2023-12-02 09:56:40 +01:00
Zbigniew Jędrzejewski-Szmek
453bbcb423 split-files: also handle conditional packages
This is a bit annoying, but meh.

[skip changelog]
2023-12-02 09:50:58 +01:00
Zbigniew Jędrzejewski-Szmek
0e8fc18fbd split-files: fail early if we split-files produces an empty output
We would fail later anyway, because rpm refuses %files with an empty filelist
file. But this is much later, after %check, so let's fail already in %install.

[skip changelog]
2023-12-02 09:50:58 +01:00
Zbigniew Jędrzejewski-Szmek
0708112d48 split-files: use a dictionary instead of many little variables
Just refactoring, to make it easier to act on the list of outputs.

[skip changelog]
2023-12-02 09:50:58 +01:00
Zbigniew Jędrzejewski-Szmek
b8d3767687 split-files: move static filelist config into split-files.py
The idea was that it's nicer to keep that config in .spec where it's subject
to syntax highlighting. split-files.py was supposed to a stand-alone program.
But in practice this split is confusing, because file rules are listed in two
places and we need to modify split-files.py quite often. This will be easier if
everything is in one file.

[skip changelog]
2023-12-02 09:50:58 +01:00
Adam Williamson
f41ff634cb Backport PRs #30170 and #30266 to fix BPF denials (RHBZ #2250930) 2023-12-01 09:10:38 -08:00
Adam Williamson
8ff2a6f2d9 Backport #30197 to fix vconsole startup (RHBZ #2251394) 2023-11-29 10:42:54 -08:00
Peter Robinson
f216cc8c79 de-dupe LICENSE.LGPL2.1 in licenses
The LICENSE.LGPL2.1 file is installed into the same systemd license
directory for both the base systemd and -libs. Because the base
systemd requires the -libs sub package it's a duplicate and will
always be there, it shouldn't cause an issue but it seems in some
cases the duplication into the same directory causes issues with
ostree so remove it from the base systemd package as it will always
be there due to the hard dep on the -libs subpackage.
2023-11-23 20:19:16 +00:00
Zbigniew Jędrzejewski-Szmek
f071684b2e Version 255~rc3 2023-11-23 00:53:04 +01:00
Zbigniew Jędrzejewski-Szmek
f93a1346f0 Add systemd-networkd-defaults subpackage 2023-11-23 00:53:04 +01:00
Zbigniew Jędrzejewski-Szmek
92eed01493 Version 255~rc2
- See See https://raw.githubusercontent.com/systemd/systemd/v255-rc2/NEWS
2023-11-15 18:26:36 +01:00
Zbigniew Jędrzejewski-Szmek
82517d01b5 rpminspect: disable udev rules check
https://github.com/rpminspect/rpminspect/issues/1294#issuecomment-1808737198

[skip changelog]
2023-11-14 22:57:07 +01:00
Zbigniew Jędrzejewski-Szmek
fdfc8c33c8 Fix dracut version
[skip changelog]
2023-11-08 17:02:18 +01:00
Zbigniew Jędrzejewski-Szmek
10915ad981 Add Conflicts with older dracut which doesn't have required patches 2023-11-08 16:20:57 +01:00
Zbigniew Jędrzejewski-Szmek
1c98102f5d Also build systemd-vmspawn 2023-11-07 22:22:58 +01:00
Zbigniew Jędrzejewski-Szmek
5cae6af05f Move oomd to systemd-udev
It is really only useful on "full" machines, either VMs or bare metal,
so it should be in systemd-udev.
2023-11-07 22:22:58 +01:00
Zbigniew Jędrzejewski-Szmek
e8cc280d45 Version 255~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v255-rc1/NEWS
- All the files and services related to pcrs are moved to -udev subpackage.
  This includes the new systemd-pcrlock binary.
2023-11-07 17:24:24 +01:00
Zbigniew Jędrzejewski-Szmek
a9b4725785 Pull in more patches for keyboard layout matching 2023-09-27 18:02:52 +02:00
Zbigniew Jędrzejewski-Szmek
99506ee643 Version 254.5
- Resolves rhbz#29216.
2023-09-27 17:23:35 +02:00
Zbigniew Jędrzejewski-Szmek
bb2f5f0fab Pull in patches to add PollLimit setting 2023-09-27 17:23:35 +02:00
Zbigniew Jędrzejewski-Szmek
9a522c2a5a Change versioned Conflicts to rich Requires
... (rhbz#2240828)

We currently have grubby-8.40-72.fc39 and sdubby-1.0-3.fc39.
systemd had 'Conflicts: grubby < 8.40-72', which is satisfied by grubby.
But sdubby has 'Provides: grubby' (with no version), which prevented
installation:

$ sudo rpm -i ./sdubby-1.0-3.fc39.noarch.rpm
error: Failed dependencies:
	grubby < 8.40-72 conflicts with (installed) systemd-udev-254.2-7.fc39.x86_64

The rpm docs don't actually say what the meaning of the 'if' is:
is it only satisfied by actual package names, or also by Provides. But
experiments suggest that Provides are not used. The rich dependency seems
to avoid the issue.
2023-09-27 17:22:47 +02:00
Adam Williamson
18e1ed3201 Backport PR #29215 to improve keyboard layout matching
This lays the ground for simplifying anaconda's keyboard layout
handling while improving results from where they are currently.
2023-09-19 14:57:30 -07:00
Zbigniew Jędrzejewski-Szmek
592d710bfd zuul: adjust config
Though apparently this will not work without further work in other
places, see https://pagure.io/fedora-project-config/issue/292.

[skip changelog]
2023-09-19 09:27:54 +02:00
Zbigniew Jędrzejewski-Szmek
bd2499ee33 rpminspect: add duplicate dependency to appease rpmispect
[skip changelog]
2023-09-19 09:27:54 +02:00
Zbigniew Jędrzejewski-Szmek
5dfe4c64c5 rpminspect: suppress complain about inet_aton in /usr/bin/networkctl
[skip changelog]
2023-09-19 09:27:54 +02:00
Zbigniew Jędrzejewski-Szmek
3f41433302 rpminspect: rename config file for rpminspect
According to https://fedoraproject.org/wiki/How_to_filter_libabigail_reports
and https://github.com/rpminspect/rpminspect/issues/739#issuecomment-1125258249,
the name must be just the extension.

[skip changelog]
2023-09-19 09:27:44 +02:00
Zbigniew Jędrzejewski-Szmek
360975c08b Fix creation of installkernel symlink 2023-09-18 21:52:54 +02:00
Zbigniew Jędrzejewski-Szmek
f66faf9fa1 Provide /usr/sbin/installkernel
... (rhbz#2239008).
2023-09-15 12:02:40 +02:00
Zbigniew Jędrzejewski-Szmek
32656b2b87 Move file manipulation to %build
Without this, in-place builds are broken: they don't execute %prep, so
%install fails.

[skip changelog]
2023-09-11 17:16:16 +02:00
Zbigniew Jędrzejewski-Szmek
6674346bfd Revert "Disable systemd-boot-update.service in presets"
This reverts commit 8eea43e714.

Fedora already ships 'disable systemd-boot-update.service' in
/usr/lib/systemd/system-preset/90-default.preset, so we don't need
this.

[skip changelog]
2023-09-11 17:15:44 +02:00
Zbigniew Jędrzejewski-Szmek
8365e8181d README.build-in-place: fix example command
[skip changelog]
2023-09-11 16:58:03 +02:00
Zbigniew Jędrzejewski-Szmek
14701a7bc8 Make inter-subpackage dependencies archful
Prompted by the discussion in
https://github.com/rpminspect/rpminspect/issues/1231.
2023-09-07 12:17:02 +02:00
Zbigniew Jędrzejewski-Szmek
c95e750cfb Version 254.2
- A bunch of fixes in various areas: manager, coredump, sysupdate,
  hibernation, journal.
- Should fix rhbz#2234653.
2023-09-07 09:49:11 +02:00
Zbigniew Jędrzejewski-Szmek
11c465372a Actually reload user managers and backport unit reload macros
The macro expansions would only work when compiled with a recent version of
systemd. We don't want to create a dependency loop like this, let's just expand
the string manually.

Also backport the patch adding %systemd_postun_with_reload and
%systemd_user_postun_with_reload so a FPC documentation change can be filed.
2023-09-06 13:52:04 +02:00
Daan De Meyer
c4232bef96 ukify: Drop obsolete dependency on objcopy 2023-09-02 18:12:59 +02:00
Daan De Meyer
46dc8f5060 Add missing ukify dependency on python-cryptography 2023-09-02 18:11:39 +02:00
Yu Watanabe
45fc64ccd0 spec: also explicitly enable/disable ukify support
For upstream packit builds with https://github.com/systemd/systemd/pull/24175.
2023-08-20 10:20:41 +09:00
Yu Watanabe
49575fa6ed spec: explicitly enable/disable xen support
For upstream packit builds with https://github.com/systemd/systemd/pull/24175.
2023-08-13 19:52:21 +09:00
Zbigniew Jędrzejewski-Szmek
f5162af2a6 rpminspect: adjust disablement for badfuncs
We had something, but apparently it stopped working.
Let's try with a new format:
https://github.com/rpminspect/rpminspect/issues/1229#issuecomment-1673327657

[skip changelog]
2023-08-10 16:57:19 +02:00
Zbigniew Jędrzejewski-Szmek
3c4a463e49 Upload sources
[skip changelog]
2023-08-09 17:35:10 +02:00
Zbigniew Jędrzejewski-Szmek
453f57749f Version 254.1
... (rhbz#2228089, possibly partial fix for rhbz#2229524)
2023-08-09 16:13:46 +02:00
Zbigniew Jędrzejewski-Szmek
c4c8de9e3e Do daemon-reexec of user managers after package upgrade 2023-08-09 16:06:22 +02:00
Daan De Meyer
993f682ecc Revert "Supress errors on selinux systems"
The selinux policy was modified in
https://github.com/fedora-selinux/selinux-policy/pull/944
to allow the reload to happen, so let's revert the silencing of
the logging.

This reverts commit 1d712f8acf.
2023-08-07 12:51:12 +00:00
Daan De Meyer
2b6870dbdc Add a custom %clean implementation
Let's make sure we clean up after ourselves. We have to remove
the generated timeout user config file, the file list files and the
generated .lang file.
2023-08-03 23:13:40 +02:00
Daan De Meyer
6775af66c5 Update libbpf soname
The libbpf package now ships the libbpf.so.1 soname, so update our
spec to match that.
2023-08-03 23:13:03 +02:00
Zbigniew Jędrzejewski-Szmek
d9fe7ec043 Version 254
... (just a bunch of bugfixes, mostly for unusual architectures, since rc3)
- rhbz#2226908
- See https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS
  for the full changeset.
2023-07-28 13:25:06 +02:00
Zbigniew Jędrzejewski-Szmek
1edbd67466 Version 254~rc3
- A bunch of fixes, e.g. rhbz#2223795. Also a bunch of reverts of
  commits which were found to cause problems.
2023-07-24 15:14:33 +02:00
Fedora Release Engineering
8e1134ffe7 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 03:05:22 +00:00
Zbigniew Jędrzejewski-Szmek
219083fc04 Fix scriptlets for various services and remote-cryptsetup.target
... (rhbz#2217997)

systemd-homed.service and systemd-portabled.service are in
systemd-udev but the scriptlet was attached to main subpackage, so it
wouldn't work because the unit file wasn't installed yet when it was
invoked. systemd-pstore.service and remote-cryptsetup.target were
forgotten, so they wouldn't get enabled on installation.
2023-07-17 14:46:28 +02:00
Stewart Smith
5c840a72b5 Convert existing bcond_with[out] to plain bcond 2023-07-16 16:12:46 -07:00
Stewart Smith
379f9bfba1 Move gnutls, zlib, bzip2, lz4, xz, and zstd to bconds 2023-07-16 16:10:41 -07:00
Zbigniew Jędrzejewski-Szmek
c50dc7ccda Version 254~rc2
- Various bug fixes, in particular kernel-install should again
  work without /proc.
2023-07-15 15:40:24 +02:00
Zbigniew Jędrzejewski-Szmek
d80a45533d Version 254~rc1
- Way too many changes to list. See
  https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS
- Fix regression in socket activation of services (rhbz#2213660).
2023-07-13 12:09:53 +02:00
Yaakov Selkowitz
9c05b44a4b Use rpm sysuser provide generation on RHEL >= 10
ELN, and as a result the future RHEL 10, also just got the new rpm
version with these files.
2023-06-26 10:39:41 -04:00
Panu Matilainen
dce828f167 Use rpm's sysuser provide generation on Fedora >= 39
Rpm >= 4.19 has native sysusers integration and generates similar
user() and group() provides but encodes additional information into
them, information that is required for the rpm integration to work.

Besides additional data, one noteworthy difference in the rpm generated
provides is there are no provides generated for m(ember) directives.
This is because users and groups possibly created by that directive are
a too implicit for dependency resolution and install ordering purposes
in the case where the user/group is actually owned by some other package.
2023-06-22 08:16:26 -06:00
Anita Zhang
d64ddbaa83 fix typos in standalone package provides 2023-06-21 15:59:17 +01:00
Yaakov Selkowitz
5982ae9504 Avoid pillow and pyflakes in RHEL builds
These test dependencies are unwanted in RHEL.
2023-06-05 12:49:57 -04:00
Yaakov Selkowitz
4980b39c44 Avoid qrencode dependency in RHEL builds
Based on c9s:

c7784e6584
2023-06-05 12:46:26 -04:00
Alessandro Astone
aedd5488be Increase vm.max_map_count
https://fedoraproject.org/wiki/Changes/IncreaseVmMaxMapCount
2023-06-02 18:51:48 +02:00
Zbigniew Jędrzejewski-Szmek
21df2af848 Version 253.5 2023-06-01 16:46:08 +02:00
Zbigniew Jędrzejewski-Szmek
3d02d53d87 Version 253.4 2023-05-11 22:54:39 +02:00
Michael Catanzaro
806c95e1c7 Raise ManagedOOMMemoryPressureLimit from 50% to 80%
Admittedly I don't know what I'm doing here, but this should make
systemd-oomd kill things less often, which seems like the direction we
want to move towards, so let's try it.

https://pagure.io/fedora-workstation/issue/358
2023-05-11 18:46:17 +00:00
Zbigniew Jędrzejewski-Szmek
5448e2ee0e Add forgotten Provides and Conflicts for standalones 2023-05-09 14:59:07 +02:00
Zbigniew Jędrzejewski-Szmek
7e62bd0762 sysusers.generate-pre.sh: properly escape quotes in description strings
... (rhbz#2104141)

In the first version, I wanted to use POSIX quotes with $''. But that required
'printf %q', which brings in a dependency on coreutils.

Following mcr0mmand's suggestion, ${foo@Q} is used instead, which should work
equivalently, and does not require anything new.

Tested with 'sysusers.generate-pre.sh /usr/lib/sysusers.d/*conf'. The output is
the same before and after, apart from the dovecot user with a quote.
2023-04-26 13:27:07 +02:00
Zbigniew Jędrzejewski-Szmek
ef79df9490 sysusers.generate-pre.sh: fix indentation in generated scripts
We need to use a mix of spaces and tabs: the tabs are removed because of -EOF,
and then the spaces indent the output. Jesus.
2023-04-26 13:23:03 +02:00
Zbigniew Jędrzejewski-Szmek
1fa99260fc pytest-flakes is required for test_ukify.py
[skip changelog]
2023-04-22 12:37:06 +02:00
Zbigniew Jędrzejewski-Szmek
7f6f230506 Version 253.2 2023-03-29 22:23:51 +02:00
Zbigniew Jędrzejewski-Szmek
1320fc3009 oomd: stop monitoring user-*.slice slices
... (rhbz#2177722)

Oomd was killing a login session (user-*.slice/session-*.scope).

Quoting https://bugzilla.redhat.com/show_bug.cgi?id=2177722#c21:

> In F37 and prior the config was killing based on swap and pressure
> on user-*.slice/user@.service. In 7665e1796f
> it was changed to pressure only on system.slice and all slices under
> user.slice. The relevant point here is that this change now includes
> user-*.slice/session-*.scope which is the critical session bits
> you're seeing killed here.
>
> That session scope should be omitted. The config that I intended
> with the initial PR was for all slices under
> user.slice/user-*.slice/user@.service to be monitored, not for all
> slices under user.slice.

With the file removed:

$ oomctl | rg Path | sort
  Path: /system.slice
  Path: /user.slice/user-1000.slice/user@1000.service/app.slice
  Path: /user.slice/user-1000.slice/user@1000.service/session.slice
2023-03-29 18:17:29 +02:00
Zbigniew Jędrzejewski-Szmek
1a6178ce6e Move /usr/lib/systemd/boot/ to systemd-boot-unsigned subpackage 2023-03-09 09:05:16 +01:00
Zbigniew Jędrzejewski-Szmek
01af054efc Prepare to replace use of gnu-efi with the internal support
See https://github.com/systemd/systemd/pull/26641.
This will allow upstream pull request (and the main branch after the pull
request has been merged) to be built with the new code. This doesn't do
anything for official rpm builds until the new code is part of the sources.

[skip changelog]
2023-03-05 14:12:08 +01:00
Zbigniew Jędrzejewski-Szmek
9a0266ff7b Include two more patches that didn't make it into the stable tag
[skip changelog]
2023-03-03 20:14:38 +01:00
Zbigniew Jędrzejewski-Szmek
5227302c98 Really fix build with gnu-efi-3.0.11-13
It turns out that the patch applied cleanly when backported to
v253-stable, but did not work.

[skip changelog]
2023-03-03 20:11:48 +01:00
Zbigniew Jędrzejewski-Szmek
ddd4dcd1fe Fix build with gnu-efi-3.0.11-13 2023-03-03 18:56:53 +01:00
Zbigniew Jędrzejewski-Szmek
68db5d4680 Version 253.1
- Fixes rhbz#2148464
2023-03-03 18:28:25 +01:00
Zbigniew Jędrzejewski-Szmek
7a81930dd2 Move man pages for sd-boot into systemd-boot-unsigned 2023-03-01 14:09:03 +01:00
Zbigniew Jędrzejewski-Szmek
55ee787b77 Set TimeoutStopFailureMode=abort for services
... (see https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer)
2023-02-22 16:03:38 +01:00
Dusty Mabe
6770ee3c6d remove group write permission from 98-default-mac-none.link
The 99-default.link has 644 perms so let's do the same for
98-default-mac-none.link. This was tripping up a test in the
Fedora CoreOS test framework [1].

https://github.com/coreos/fedora-coreos-tracker/issues/1427
2023-02-21 14:51:35 +00:00
Dusty Mabe
cfc2c60978 fix comment instructions for 98-default-mac-none.link
Fixup for aff1671.
2023-02-21 14:51:35 +00:00
Zbigniew Jędrzejewski-Szmek
0104b2cfb3 Backport patch for container compatibility
... (rhbz#2165004)
2023-02-21 11:14:00 +01:00
Zbigniew Jędrzejewski-Szmek
4bdd16eba5 Add workaround patch for dracut generator issue
... (rhbz#2164404)
2023-02-21 11:06:27 +01:00
Zbigniew Jędrzejewski-Szmek
296e35b054 Version 253
... (mostly some documentation fixes since -rc3).
2023-02-20 21:07:32 +01:00
Zbigniew Jędrzejewski-Szmek
4f23aac033 Version 253-rc3
- A bunch of bugfixes for regressions, some documentation and bug fixes too.
- Really fix rhbz#2165692 (previous build carried an unapplied patch).
2023-02-10 18:57:22 +01:00
Zbigniew Jędrzejewski-Szmek
b642986a84 Revert patch switch causes problems for 'systemctl isolate'
... (rhbz#2165692)
2023-02-09 22:55:13 +01:00
Zbigniew Jędrzejewski-Szmek
8eea43e714 Disable systemd-boot-update.service in presets 2023-02-08 16:39:45 +01:00
Zbigniew Jędrzejewski-Szmek
0dfb1a37e1 Use proper capitalization in license string
[skip changelog]
2023-02-08 12:38:11 +01:00
Zbigniew Jędrzejewski-Szmek
eb6fe37e3c Update License to SPDX 2023-02-08 12:31:21 +01:00
Thomas Haller
aff167152e add "98-default-mac-none.link" to keep default MAC address of bridge/bond/team
https://bugzilla.redhat.com/show_bug.cgi?id=2107754
https://fedoraproject.org/wiki/Changes/MAC_Address_Policy_none
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/FZGH473ZUGPXK2E3GOEQ5TBLJ62FYJBC/
2023-02-06 15:30:29 +01:00
Michael Catanzaro
ba02e90496 Shorten shutdown timeout to 45 s 2023-02-02 20:46:37 +01:00
Zbigniew Jędrzejewski-Szmek
708a09cead Version 253~rc2
- Sysusers fixup (rhbz#2156900) + other small changes
2023-02-02 20:40:31 +01:00
Zbigniew Jędrzejewski-Szmek
ba48b51817 BuildRequire pytest
This is needed to run ukify tests. They were skipped because pytest
was not available.

[skip changelog]
2023-02-02 20:34:01 +01:00
Yaakov Selkowitz
3c935dd203 Build with xen only on Fedora 2023-02-01 20:14:52 -05:00
Zbigniew Jędrzejewski-Szmek
189f5d16f4 Add a new provides with just the version
[skip changelog]
2023-01-27 16:08:56 +01:00
Zbigniew Jędrzejewski-Szmek
efa3d301b9 Reenable systemd-journald-audit.socket after upgrades
... (rhbz#2164594)

The socket exists and is enabled in the initrd. After switch-root, the system
goes into an infinite loop trying to stop the socket while incoming audit
messages trigger start jobs for the socket. This is a bug in the transaction
logic, that'll need to be fixed separately.

We need to preset the socket after the upgrade so that it remains enabled
by default. This should fix the boot issue, though it's not a complete fix,
because we actually want to allow people to disable the socket.

On initial install, the socket is covered by preset-all and gets enabled.
2023-01-26 11:28:32 +01:00
Zbigniew Jędrzejewski-Szmek
58eb55671d Add Requires on Python modules to systemd-ukify and Recommends for libp11-kit 2023-01-25 15:10:41 +01:00
Zbigniew Jędrzejewski-Szmek
903ce887fd Version 253~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v253-rc1/NEWS
- New subpackages: systemd-repart-standalone, systemd-shutdown-standalone,
  and systemd-ukify.
2023-01-25 00:16:28 +01:00
Zbigniew Jędrzejewski-Szmek
a142c87042 Backport patches to fix issues gcc-13 and -D_FORTIFY_SOURCE=3
gcc has a new warning which caught a bug of int/enum mismatches.
And we would crash on some architectures when built with -D_FORTIFY_SOURCE=3
because of our malloc_usable_size() use.

This should resolve the build failure in F38 mass build.
2023-01-22 22:41:22 +01:00
Fedora Release Engineering
17d16267e2 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 04:33:41 +00:00
Daan De Meyer
67561d75bf Add python3 to BuildRequires
Let's make it explicit that python3 is required during the build
process.
2023-01-05 13:52:34 +01:00
Zbigniew Jędrzejewski-Szmek
befb0e11dd Version 252.4
- Fixes a few different issues (systemd-timesyncd connectivity problems, broken
  emoji output on the console, crashes in pid1 unit dependency logic)
- CVE-2022-4415: systemd: coredump not respecting fs.suid_dumpable kernel
  setting
2022-12-20 19:27:52 +01:00
Zbigniew Jędrzejewski-Szmek
732bdcb223 boot: add Provides:systemd-boot(isa)
As requested in https://github.com/rhinstaller/anaconda/pull/4368#discussion_r1043839809,
so that it's easier to depend on the appropriate package. Once we have the
signed version built, this provides might be dropped. But let's add it at least
for now so that there's a stable name to depend on.

While at it, let's drop ? from %{_isa}. Systemd is always archful.
2022-12-17 18:34:31 +01:00
Zbigniew Jędrzejewski-Szmek
1d366e53d8 Stop trying to use removed source file
[skip changelog]
2022-12-15 12:48:00 +01:00
Zbigniew Jędrzejewski-Szmek
2a3fc2e21f Use upstream pam systemd-auth file with a patch, add pam_keyinit
This file changes rarely, but it does every one in a while. And since we have an
independent copy, we forget to adjust it. We have had already two bugs because
of this. I submitted a PR upstream to include pam_namespace (because that makes
sense for all distros), so the diff between upstream and us now is just the
inclusion of system-auth (which is not upstreamable).

Effectively, the only difference right now is that 'pam_keyinit force revoke'
is included. It was added upstream with the comment:

   We want that systemd --user gets its own keyring as usual, even if the
   barebones PAM snippet we ship upstream is used. If we don't do this we get
   the basic keyring systemd --system sets up for us.
2022-12-14 22:35:52 +01:00
Zbigniew Jędrzejewski-Szmek
ef4c00c6a4 Version 252.3
... (rhbz#2136916, rhbz#2083900)
2022-12-08 23:10:51 +01:00
Zbigniew Jędrzejewski-Szmek
778f8ef8a5 Do not create boot subpackage on non-efi arches
This fixes build.
[skip changelog]
2022-12-03 09:47:34 +01:00
Zbigniew Jędrzejewski-Szmek
54a3b6f942 Split out systemd-boot-unsigned package 2022-12-02 19:08:56 +01:00
Zbigniew Jędrzejewski-Szmek
da37ad3139 Version 252.2
- Latest batch of bugfixes (rhbz#2137631)
2022-11-24 17:48:41 +01:00
Martin Osvald
83301531c0 Support user:group notation by sysusers.generate-pre.sh script
#Type Name       ID                  GECOS              Home directory Shell
u     user_name  uid:gid             "User Description" /home/dir      /path/to/shell

According to: https://www.freedesktop.org/software/systemd/man/sysusers.d.html
2022-11-24 13:35:27 +01:00
Zbigniew Jędrzejewski-Szmek
b3fa8789f9 BR: xen-devel
This improves support for XEN.

[skip changelog]
2022-11-21 11:46:31 +01:00
Zbigniew Jędrzejewski-Szmek
c6d202c6ac Version 252.1
... (just some small fixes).
2022-11-08 20:27:13 +01:00
Zbigniew Jędrzejewski-Szmek
eeb9a47dfb Version 252
No big changes from -rc3. A bunch of bugfixes.
2022-10-31 22:27:33 +01:00
Zbigniew Jędrzejewski-Szmek
9acedf97ae Version 252-rc3 (#2135778) 2022-10-25 09:00:02 +02:00
Zbigniew Jędrzejewski-Szmek
6594cdc49b Version 252-rc2 (#2134741, #2133792) 2022-10-18 14:48:29 +02:00
Zbigniew Jędrzejewski-Szmek
bab6dfc23a Fix upgrade detection in %posttrans scriptlet (rhbz#2115094)
4047e4fb7b got things very wrong.
The trick with "[ $1 -eq 1 ]" doesn't work for transaction triggers
because the argument is not provided by rpm. We need to use a state
file to propagate the information from %post to %posttrans.
2022-10-14 16:18:53 +02:00
Zbigniew Jędrzejewski-Szmek
3c5b26ff79 Fix indentation in %sysusers_create_compat macro (rhbz#2132835)
Automatic unindentation after <<-EOF only works with tabs. Jesus.
2022-10-09 15:20:41 +02:00
Zbigniew Jędrzejewski-Szmek
b2ad8fb38b Correctly move systemd-measure to systemd-udev subpackage
I had a local modification that didn't make it into commit.
2022-10-09 15:20:41 +02:00
Zbigniew Jędrzejewski-Szmek
0b51ecfabd Version 252-rc1
... (for details see https://raw.githubusercontent.com/systemd/systemd/v252-rc1/NEWS)

systemd-pcrphase and systemd-measure and initrd-* units are moved to systemd-udev.
systemd-udev should be part of the initrd, and those tools don't make much sense
in systems without hardware (i.e. containers). (systemd-measure could possibly be
useful, but we can always move it back if there's a good reason.)
2022-10-07 18:39:55 +02:00
36 changed files with 2525 additions and 649 deletions

11
.editorconfig Normal file
View file

@ -0,0 +1,11 @@
root = true
[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.{yml,yaml}]
indent_size = 2

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

4
.gitignore vendored
View file

@ -7,3 +7,7 @@
/systemd-*.tar.xz
/systemd-*.tar.gz
/*.rpm
/mkosi.output/
/mkosi.cache/
/mkosi.builddir/
/mkosi.local.conf

View file

@ -1,5 +1,7 @@
- project:
vars:
install_repo_exclude:
- systemd-standalone-repart
- systemd-standalone-shutdown
- systemd-standalone-sysusers
- systemd-standalone-tmpfiles
- systemd-standalone-sysuser

View file

@ -0,0 +1,88 @@
From 61750e265ce3f7783a8dba831e91140f84ad89f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 5 Nov 2025 17:52:16 +0100
Subject: [PATCH 1/3] Revert "units: drop runlevel[0-6].target"
This partially reverts commit e58ba80a40fb6e96543d56774a5bc5aa9cdadbf3.
The unit are still needed for compat.
---
units/meson.build | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/units/meson.build b/units/meson.build
index 2e04c4aa2b..46eaac4073 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -1,5 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
+with_runlevels = conf.get('HAVE_SYSV_COMPAT') == 1
+
units = [
{ 'file' : 'basic.target' },
{ 'file' : 'blockdev@.target' },
@@ -49,7 +51,7 @@ units = [
},
{
'file' : 'graphical.target',
- 'symlinks' : ['default.target'],
+ 'symlinks' : ['default.target'] + (with_runlevels ? ['runlevel5.target'] : []),
},
{ 'file' : 'halt.target' },
{
@@ -142,7 +144,10 @@ units = [
'conditions' : ['ENABLE_MACHINED'],
},
{ 'file' : 'modprobe@.service' },
- { 'file' : 'multi-user.target' },
+ {
+ 'file' : 'multi-user.target',
+ 'symlinks' : with_runlevels ? ['runlevel2.target', 'runlevel3.target', 'runlevel4.target'] : [],
+ },
{
'file' : 'systemd-mute-console.socket',
'symlinks' : ['sockets.target.wants/']
@@ -155,7 +160,10 @@ units = [
{ 'file' : 'nss-lookup.target' },
{ 'file' : 'nss-user-lookup.target' },
{ 'file' : 'paths.target' },
- { 'file' : 'poweroff.target' },
+ {
+ 'file' : 'poweroff.target',
+ 'symlinks' : with_runlevels ? ['runlevel0.target'] : [],
+ },
{ 'file' : 'printer.target' },
{
'file' : 'proc-sys-fs-binfmt_misc.automount',
@@ -180,7 +188,7 @@ units = [
},
{
'file' : 'reboot.target',
- 'symlinks' : ['ctrl-alt-del.target'],
+ 'symlinks' : ['ctrl-alt-del.target'] + (with_runlevels ? ['runlevel6.target'] : []),
},
{
'file' : 'remote-cryptsetup.target',
@@ -200,7 +208,10 @@ units = [
'symlinks' : ['initrd-root-device.target.wants/'],
},
{ 'file' : 'rescue.service.in' },
- { 'file' : 'rescue.target' },
+ {
+ 'file' : 'rescue.target',
+ 'symlinks' : with_runlevels ? ['runlevel1.target'] : [],
+ },
{ 'file' : 'rpcbind.target' },
{ 'file' : 'serial-getty@.service.in' },
{ 'file' : 'shutdown.target' },
@@ -1001,4 +1012,10 @@ else
dbussessionservicedir / 'org.freedesktop.systemd1.service'))
endif
+if conf.get('HAVE_SYSV_COMPAT') == 1
+ foreach i : [1, 2, 3, 4, 5]
+ install_emptydir(systemunitdir / 'runlevel@0@.target.wants'.format(i))
+ endforeach
+endif
+
subdir('user')

View file

@ -0,0 +1,32 @@
From 8d6d86d1d7e45eeae921e88adde55d6524027c96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 26 Nov 2025 22:29:53 +0100
Subject: [PATCH 3/3] machined: continue without resolve.hook socket
---
src/machine/machined-varlink.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c
index f83cbb8562..0b30cd0531 100644
--- a/src/machine/machined-varlink.c
+++ b/src/machine/machined-varlink.c
@@ -894,9 +894,15 @@ static int manager_varlink_init_resolve_hook(Manager *m) {
r = sd_varlink_server_listen_address(s, VARLINK_PATH_MACHINED_RESOLVE_HOOK,
0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755);
- if (r < 0)
- return log_error_errno(r, "Failed to bind to varlink socket %s: %m",
- VARLINK_PATH_MACHINED_RESOLVE_HOOK);
+ if (r < 0) {
+ bool ignore = ERRNO_IS_NEG_PRIVILEGE(r);
+ log_full_errno(ignore ? LOG_WARNING : LOG_ERR,
+ r,
+ "Failed to bind to varlink socket %s%s: %m",
+ VARLINK_PATH_MACHINED_RESOLVE_HOOK,
+ ignore ? ", ignoring" : "");
+ return ignore ? 0 : r;
+ }
r = sd_varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL);
if (r < 0)

View file

@ -0,0 +1,112 @@
From 75890d949f92c412c0936b8536b2e0dc8f7dfb40 Mon Sep 17 00:00:00 2001
From: Nick Rosbrook <enr0n@ubuntu.com>
Date: Fri, 19 Dec 2025 11:01:49 -0500
Subject: [PATCH] ukify: omit .osrel section when --os-release= is empty
The primary motivation for this is to allow users of ukify to build
UKI-like objects, without having them later be detected as a UKI by
tools like kernel-install and bootctl.
The common code used by these tools to determine if a PE binary is a UKI
checks that both .osrel and .linux sections are present. Hence, adding
a mechansim to skip .osrel provides a way to avoid being labeled a UKI.
---
man/ukify.xml | 5 ++++-
src/ukify/test/test_ukify.py | 15 +++++++++++----
src/ukify/ukify.py | 10 +++++++++-
3 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/man/ukify.xml b/man/ukify.xml
index 829761642d..7462c5c92f 100644
--- a/man/ukify.xml
+++ b/man/ukify.xml
@@ -365,7 +365,10 @@
<listitem><para>The os-release description (the <literal>.osrel</literal> section). The argument
may be a literal string, or <literal>@</literal> followed by a path name. If not specified, the
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry> file
- will be picked up from the host system.</para>
+ will be picked up from the host system. If explicitly set to an empty string, the ".osrel" section
+ is omitted from the UKI (this is not recommended in most cases, and causes the resulting artifact
+ to not be recognized as a UKI by other tools like <command>kernel-install</command>
+ and <command>bootctl</command>).</para>
<xi:include href="version-info.xml" xpointer="v253"/></listitem>
</varlistentry>
diff --git a/src/ukify/test/test_ukify.py b/src/ukify/test/test_ukify.py
index f75ef0c891..224a38569f 100755
--- a/src/ukify/test/test_ukify.py
+++ b/src/ukify/test/test_ukify.py
@@ -641,7 +641,7 @@ def test_efi_signing_pesign(kernel_initrd, tmp_path):
shutil.rmtree(tmp_path)
-def test_inspect(kernel_initrd, tmp_path, capsys):
+def test_inspect(kernel_initrd, tmp_path, capsys, osrel=True):
if kernel_initrd is None:
pytest.skip('linux+initrd not found')
if not shutil.which('sbsign'):
@@ -653,7 +653,7 @@ def test_inspect(kernel_initrd, tmp_path, capsys):
output = f'{tmp_path}/signed2.efi'
uname_arg='1.2.3'
- osrel_arg='Linux'
+ osrel_arg='Linux' if osrel else ''
cmdline_arg='ARG1 ARG2 ARG3'
args = [
@@ -680,8 +680,12 @@ def test_inspect(kernel_initrd, tmp_path, capsys):
text = capsys.readouterr().out
- expected_osrel = f'.osrel:\n size: {len(osrel_arg)}'
- assert expected_osrel in text
+ if osrel:
+ expected_osrel = f'.osrel:\n size: {len(osrel_arg)}'
+ assert expected_osrel in text
+ else:
+ assert '.osrel:' not in text
+
expected_cmdline = f'.cmdline:\n size: {len(cmdline_arg)}'
assert expected_cmdline in text
expected_uname = f'.uname:\n size: {len(uname_arg)}'
@@ -694,6 +698,9 @@ def test_inspect(kernel_initrd, tmp_path, capsys):
shutil.rmtree(tmp_path)
+def test_inspect_no_osrel(kernel_initrd, tmp_path, capsys):
+ test_inspect(kernel_initrd, tmp_path, capsys, osrel=False)
+
@pytest.mark.skipif(not slow_tests, reason='slow')
def test_pcr_signing(kernel_initrd, tmp_path):
if kernel_initrd is None:
diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py
index c98f8e2a5d..b7542c7eca 100755
--- a/src/ukify/ukify.py
+++ b/src/ukify/ukify.py
@@ -1477,6 +1477,9 @@ def make_uki(opts: UkifyConfig) -> None:
'.profile',
}
+ if not opts.os_release:
+ to_import.remove('.osrel')
+
for profile in opts.join_profiles:
pe = pefile.PE(profile, fast_load=True)
prev_len = len(uki.sections)
@@ -2412,7 +2415,12 @@ def finalize_options(opts: argparse.Namespace) -> None:
opts.os_release = resolve_at_path(opts.os_release)
- if not opts.os_release and opts.linux:
+ if opts.os_release == '':
+ # If --os-release= with an empty string was passed, treat that as
+ # explicitly disabling the .osrel section, and do not fallback to the
+ # system's os-release files.
+ pass
+ elif opts.os_release is None and opts.linux:
p = Path('/etc/os-release')
if not p.exists():
p = Path('/usr/lib/os-release')
--
2.52.0

View file

@ -0,0 +1,51 @@
From e57e599e6b11039ab6484e5622b3deae20bfd678 Mon Sep 17 00:00:00 2001
From: Hans de Goede <johannes.goede@oss.qualcomm.com>
Date: Mon, 12 Jan 2026 14:56:36 +0100
Subject: [PATCH] stub: Fix NULL pointer deref when there are no initrds
When n_all_initrds == 0, then all_initrds is unmodified from its initial
value of:
_cleanup_free_ struct iovec *all_initrds = NULL;
and in the else block of the "if (n_all_initrds > 1)" the NULL is
dereferenced:
final_initrd = all_initrds[0];
Leading to the stub crashing due to a NULL pointer deref.
Fix this by initializing final_initrd to all 0s and only
running the else block if (n_all_initrds == 1).
---
src/boot/stub.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/boot/stub.c b/src/boot/stub.c
index 06ecbc7d18..65950262c6 100644
--- a/src/boot/stub.c
+++ b/src/boot/stub.c
@@ -1302,9 +1302,9 @@ static EFI_STATUS run(EFI_HANDLE image) {
/* Combine the initrds into one */
_cleanup_pages_ Pages initrd_pages = {};
- struct iovec final_initrd;
+ struct iovec final_initrd = {};
if (n_all_initrds > 1) {
- /* There will always be a base initrd, if this counter is higher, we need to combine them */
+ /* If there is more then 1 initrd we need to combine them */
err = combine_initrds(all_initrds, n_all_initrds, &initrd_pages, &final_initrd.iov_len);
if (err != EFI_SUCCESS)
return err;
@@ -1313,7 +1313,7 @@ static EFI_STATUS run(EFI_HANDLE image) {
/* Given these might be large let's free them explicitly before we pass control to Linux */
initrds_free(&initrds);
- } else
+ } else if (n_all_initrds == 1)
final_initrd = all_initrds[0];
struct iovec kernel = IOVEC_MAKE(
--
2.52.0

3
10-map-count.conf Normal file
View file

@ -0,0 +1,3 @@
# Increase the number of virtual memory areas that one process may request
# https://fedoraproject.org/wiki/Changes/IncreaseVmMaxMapCount
vm.max_map_count=1048576

View file

@ -1,3 +1,3 @@
[Slice]
ManagedOOMMemoryPressure=kill
ManagedOOMMemoryPressureLimit=50%
ManagedOOMMemoryPressureLimit=80%

14
10-timeout-abort.conf Normal file
View file

@ -0,0 +1,14 @@
# This file is part of the systemd package.
# See https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer.
#
# To facilitate debugging when a service fails to stop cleanly,
# TimeoutStopFailureMode=abort is set to "crash" services that fail to stop in
# the time allotted. This will cause the service to be terminated with SIGABRT
# and a coredump to be generated.
#
# To undo this configuration change, create a mask file:
# sudo mkdir -p /etc/systemd/system/service.d
# sudo ln -sv /dev/null /etc/systemd/system/service.d/10-timeout-abort.conf
[Service]
TimeoutStopFailureMode=abort

30
26494.patch Normal file
View file

@ -0,0 +1,30 @@
From 6b25470ee28843a49c50442e9d8a98edc842ceca Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Mon, 20 Feb 2023 12:00:30 +0900
Subject: [PATCH] core/manager: run generators directly when we are in initrd
Some initrd system write files at ourside of /run, /etc, or other
allowed places. This is a kind of workaround, but in most cases, such
sandboxing is not necessary as the filesystem is on ramfs when we are in
initrd.
Fixes #26488.
---
src/core/manager.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/core/manager.c b/src/core/manager.c
index 7b394794b0d4..306477c6e6c2 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -3822,8 +3822,8 @@ static int manager_run_generators(Manager *m) {
/* If we are the system manager, we fork and invoke the generators in a sanitized mount namespace. If
* we are the user manager, let's just execute the generators directly. We might not have the
* necessary privileges, and the system manager has already mounted /tmp/ and everything else for us.
- */
- if (MANAGER_IS_USER(m)) {
+ * If we are in initrd, let's also execute the generators directly, as we are in ramfs. */
+ if (MANAGER_IS_USER(m) || in_initrd()) {
r = manager_execute_generators(m, paths, /* remount_ro= */ false);
goto finish;
}

56
30846.patch Normal file
View file

@ -0,0 +1,56 @@
From 07bedc8f93277f705622625f440a1f56ccff1cd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 9 Jan 2024 11:28:04 +0100
Subject: [PATCH] journal: again create user journals for users with high uids
This effectively reverts a change in 115d5145a257c1a27330acf9f063b5f4d910ca4d
'journald: move uid_for_system_journal() to uid-alloc-range.h', which slipped
in an additional check of uid_is_container(uid). The problem is that that change
is not backwards-compatible at all and very hard for users to handle.
There is no common agreement on mappings of high-range uids. Systemd declares
ownership of a large range for container uids in https://systemd.io/UIDS-GIDS/,
but this is only a recent change and various sites allocated those ranges
in a different way, in particular FreeIPA uses (used?) uids from this range
for human users. On big sites with lots of users changing uids is obviously a
hard problem. We generally assume that uids cannot be "freed" and/or changed
and/or reused safely, so we shouldn't demand the same from others.
This is somewhat similar to the situation with SYSTEM_ALLOC_UID_MIN /
SYSTEM_UID_MAX, which we tried to define to a fixed value in our code, causing
huge problems for existing systems with were created with a different
definition and couldn't be easily updated. For that case, we added a
configuration time switch and we now parse /etc/login.defs to actually use the
value that is appropriate for the local system.
Unfortunately, login.defs doesn't have a concept of container allocation ranges
(and we don't have code to parse and use those nonexistent names either), so we
can't tell users to adjust logind.defs to work around the changed definition.
login.defs has SUB_UID_{MIN,MAX}, but those aren't really the same thing,
because they are used to define where the add allocations for subuids, which is
generally a much smaller range. Maybe we should talk with other folks about
the appropriate allocation ranges and define some new settings in login.defs.
But this would require discussion and coordination with other projects first.
Actualy, it seems that this change was needed at all. The code in the container
does not log to the outside journal. It talks to its own journald, which does
journal splitting using its internal logic based on shifted uids. So let's
revert the change to fix user systems.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2251843.
---
src/basic/uid-classification.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/basic/uid-classification.c b/src/basic/uid-classification.c
index 203ce2c68a..2eb384395d 100644
--- a/src/basic/uid-classification.c
+++ b/src/basic/uid-classification.c
@@ -129,5 +129,6 @@ bool uid_for_system_journal(uid_t uid) {
/* Returns true if the specified UID shall get its data stored in the system journal. */
- return uid_is_system(uid) || uid_is_dynamic(uid) || uid_is_greeter(uid) || uid == UID_NOBODY || uid_is_container(uid) || uid_is_foreign(uid);
+ return uid_is_system(uid) || uid_is_dynamic(uid) || uid_is_greeter(uid) || uid == UID_NOBODY || uid_is_foreign(uid);
+
}

42
38769.patch Normal file
View file

@ -0,0 +1,42 @@
From 00d70f36a0866660693347009446b7f872a05bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
Date: Sat, 30 Aug 2025 13:55:56 +0200
Subject: [PATCH] core: create userdb root directory with correct label
Set up the /run/systemd/userdb directory with the default SELinux context
on creation.
With version 257.7-1 on Debian the directory was automatically created with the
correct label. Starting with version 258 (only tested with 258~rc3-1) it no
longer is. Regression introduced in 736349958efe34089131ca88950e2e5bb391d36a.
[zjs: edited the patch to apply comments from review and update the description.]
---
src/core/varlink.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/core/varlink.c b/src/core/varlink.c
index 99f12c59e5..71a8ffd0e5 100644
--- a/src/core/varlink.c
+++ b/src/core/varlink.c
@@ -5,6 +5,7 @@
#include "constants.h"
#include "errno-util.h"
#include "manager.h"
+#include "mkdir-label.h"
#include "path-util.h"
#include "pidref.h"
#include "string-util.h"
@@ -441,7 +442,11 @@ static int manager_varlink_init_system(Manager *m) {
if (!fresh && varlink_server_contains_socket(m->varlink_server, address))
continue;
- r = sd_varlink_server_listen_address(m->varlink_server, address, 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755);
+ r = mkdir_parents_label(address, 0755);
+ if (r < 0)
+ log_warning_errno(r, "Failed to create parent directory of '%s', ignoring: %m", address);
+
+ r = sd_varlink_server_listen_address(m->varlink_server, address, 0666);
if (r < 0)
return log_error_errno(r, "Failed to bind to varlink socket '%s': %m", address);
}

5
60-block-scheduler.rules Normal file
View file

@ -0,0 +1,5 @@
# do not edit this file, it will be overwritten on update
ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", \
KERNEL=="mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|sd*[!0-9]|sr*", \
ATTR{queue/scheduler}="bfq"

20
98-default-mac-none.link Normal file
View file

@ -0,0 +1,20 @@
# SPDX-License-Identifier: MIT-0
#
# This config file is installed as part of systemd.
# It may be freely copied and edited (following the MIT No Attribution license).
#
# To make local modifications, one of the following methods may be used:
# 1. add a drop-in file that extends this file by creating the
# /etc/systemd/network/98-default-mac-none.link.d/ directory and creating a
# new .conf file there.
# 2. copy this file into /etc/systemd/network or one of the other paths checked
# by systemd-udevd and edit it there.
# This file should not be edited in place, because it'll be overwritten on upgrades.
[Match]
Kind=bridge bond team
[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=none

View file

@ -7,7 +7,7 @@ and his [talk during ASG2019](https://www.youtube.com/watch?v=fVM1kJrymRM).
git clone https://github.com/systemd/systemd
fedpkg clone systemd fedora-systemd
cd systemd
rpmbuild -bb --build-in-place --noprep --define "_sourcedir $PWD/../fedora-systemd" --define "_rpmdir $PWD/rpms" --with inplace ../systemd.spec
rpmbuild -bb --build-in-place --noprep --define "_sourcedir $PWD/../fedora-systemd" --define "_rpmdir $PWD/rpms" --with upstream ../fedora-systemd/systemd.spec
sudo dnf upgrade --setopt install_weak_deps=False rpms/*/*.rpm
```

757
changelog
View file

@ -1,3 +1,760 @@
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257.2-6
- Rebuilt for the bin-sbin merge (2nd attempt)
* Fri Jan 10 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257.2-4
- Revert use of PrivateTmp=disconnected (rhbz#2334015,
https://github.com/coreos/fedora-coreos-tracker/issues/1857)
* Wed Jan 08 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257.2-1
- 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.
* Tue Jan 07 2025 Yu Watanabe <watanabe.yu+github@gmail.com> - 257.1-7
- Replace 'udevadm hwdb' with systemd-hwdb
* Tue Jan 07 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257.1-6
- Rename source .abignore file
* Fri Dec 20 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 257.1-2
- Re-enable upstream behaviour of systemd-tmpfiles --purge
* Fri Dec 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257.1-1
- Version 257.1
- A bunch of post-release fixes, incl. for systemd-resolved, tpm2 support,
systemd-networkd, systemd-logind, journalct.
- Should fix rhbz#2325780.
* Sun Dec 15 2024 Yu Watanabe <watanabe.yu+github@gmail.com> - 257-3
- Add patch for test-time-util
* Sun Dec 15 2024 Yu Watanabe <watanabe.yu+github@gmail.com> - 257-2
- sysusers: support new ! line flag for creating fully locked accounts
* Tue Dec 10 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257-1
- 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
* Thu Dec 05 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc3-5
- Enable slow tests during build
* Tue Dec 03 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc3-3
- Recommend qemu-kvm-core instead of qemu-kvm (rhbz#2329979)
* Fri Nov 29 2024 Yu Watanabe <watanabe.yu+github@gmail.com> - 257~rc3-2
- Update tmpfiles --destroy-data patch
* Wed Nov 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc3-1
- Version 257~rc3
- A bunch of small fixes here and there: virtualization detection, udev,
systemd-networked, pid1.
- Includes a hardware database update.
* Tue Nov 26 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc2-4
- Make systemd-network-generator co-owned by -udev and -networkd
(rhbz#2328723)
* Tue Nov 19 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc2-3
- Pull in qemu from systemd-container
* Fri Nov 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc2-2
- Change sysusers u! lines to u because we don't have support in rpm
* Fri Nov 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc2-1
- 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
* Fri Nov 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc1-3
- Disable freezing of user sessions (rhbz#2321268)
* Thu Nov 07 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 257~rc1-1
- Version 257~rc1
* Thu Nov 07 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.7-7
- Use %%posttrans instead of %%postun to restart services
* Thu Nov 07 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 256.7-6
- Disable OpenSSL v3 ENGINE on RHEL
* Tue Nov 05 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.7-4
- Backport user manager reexec changes
* Tue Nov 05 2024 David Tardon <dtardon@redhat.com> - 256.7-3
- Use %%systemd_preun in systemd-resolved
* Thu Oct 24 2024 Yu Watanabe <watanabe.yu+github@gmail.com> - 256.7-2
- test_sysusers_defined: support new ! line flag for creating fully locked
accounts
* Fri Oct 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.7-1
- Version 256.7
- Various small fixes in many components
- Documentation updates
* Tue Sep 24 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.6-3
- Move yum/dnf protection removal config file under /usr
* Thu Sep 12 2024 Matteo Croce <teknoraver@meta.com> - 256.6-1
- Version 256.6
* Thu Aug 29 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.5-6
- Always build ukify package
* Wed Aug 28 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.5-5
- Do not use patch to modify systemd-user pam config file
* Tue Aug 27 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.5-3
- Only make python3-pillow Recommends on Fedora
* Sat Aug 24 2024 Davide Cavalca <dcavalca@fedoraproject.org> - 256.5-2
- Do not require grubby on CentOS Stream 9
* Tue Aug 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.5-1
- Version 256.5
- Includes the patches for the kernel change with kernel threads in leaf
cgroups (https://github.com/systemd/systemd/pull/33885)
- Various smaller fixes
* Tue Aug 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.4-4
- Disable integration of userdb in sshd
* Mon Jul 29 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.4-3
- Backport patch to only read /proc/cmdline when not in container
* Mon Jul 29 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.4-2
- Backport upstream patch to try more initrd variants in
90-loaderentry.install
* Thu Jul 25 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.4-1
- Version 256.4
- Hardware db update
- Minor fixes for systemd-udevd and varlink protocol
* Tue Jul 23 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.3-3
- Update tmpfiles --destroy-data patch
* Tue Jul 23 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.3-1
- Version 256.3
- A bunch of fixes for systemd (pid1)
- Various upgrades related to running tests in mkosi
* Sat Jul 20 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.2-17
- Simplify BFQ scheduler enablement
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 256.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jul 17 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-9
- Backport udma buffer access patch (rhbz#2298422)
* Tue Jul 16 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.2-8
- Add support for building from a specific branch
* Tue Jul 16 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.2-7
- Update PR patch metadata
* Mon Jul 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-6
- In standalone subpackages, suggest coreutils-single
* Mon Jul 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-5
- Drop versions from Conflicts for standalone packages
* Sun Jul 14 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-4
- Use a more precise Recommends for libkxbcommon
* Thu Jul 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.2-3
- Drop machined revert
* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-2
- Rebuilt for the bin-sbin merge
* Mon Jul 08 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.2-1
- Version 256.2
- A bunch of various small fixes
* Mon Jul 08 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-13
- Link systemd-executor statically
* Fri Jul 05 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 256.1-12
- Update dracut workaround
* Fri Jul 05 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 256.1-11
- Fix ELN build
* Fri Jul 05 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.1-10
- Only exclude dracut conflicts on non-fedora on upstream builds
* Fri Jul 05 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.1-9
- Conditionalize dracut Conflicts more
* Tue Jul 02 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.1-8
- Use vmlinux.h from kernel-devel
* Tue Jul 02 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-7
- Pull in openssl-devel-engine
* Mon Jul 01 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.1-6
- Only add Requires on python3-zstd on Fedora
* Mon Jul 01 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 256.1-5
- Drop BuildRequires on python3-zstd
* Tue Jun 25 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-4
- Revert "Remove tmpfiles snippet for /home and /srv"
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-3
- Remove tmpfiles snippet for /home and /srv
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-2
- Soft-disable tmpfiles --purge until a good use case comes up
* Tue Jun 18 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256.1-1
- Version 256.1
* Sun Jun 16 2024 U2FsdGVkX1 <U2FsdGVkX1@gmail.com> - 256-2
- disable auto-features when bootstrapping
* Tue Jun 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256-1
- Version 256
- Only minor changes since -rc4.
- Hardward db is updated.
* Fri Jun 07 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc4-2
- Restore patch to drop varlink method call
* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc4-1
- Version 256~rc4
* Thu Jun 06 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-6
- Drop sysusers.d/basic.conf
- We rely on setup to provide all necessary groups.
* Sun Jun 02 2024 Adam Williamson <awilliam@redhat.com> - 256~rc3-4
- Partially backport PR #33016 to fix crashes in KDE 6.3.0
* Wed May 29 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-2
- Add patch to work-around libbpf bug (rhbz#2280935)
* Thu May 23 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc3-1
- Version 256~rc3
* Wed May 15 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc2-6
- Version 256~rc2
- Various small changes all over
- A fix for rhbz#2273069
* Mon May 13 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1^20240509git1781de1-4
- Make %%release_override overridable from outside
* Sat May 11 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1^20240509git1781de1-2
- Temporarily drop call to varlink method to avoid SELinux denial
* Thu May 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1^20240509git1781de1-1
- Version 256-rc1^20240509git
- There were some fixes merged upstream, so let's try again before v256-rc2
is released.
* Thu May 02 2024 Jan Macku <jamacku@redhat.com> - 256~rc1-6
- spec: `systemd-ukify` should depend on `systemd-boot`
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-4
- Add additional daemon-reexec for upgrades from old systemd versions
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-3
- Drop trigger scriptlets for upgrades from systemd < 247
* Sat Apr 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-2
- Add Recommends for dlopen libraries
* Fri Apr 26 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 256~rc1-1
- Version 256~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v256-rc1/NEWS. Too
many changes to list or discuss here.
* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.5-3
- Reexec systemd in %%postun
(https://github.com/systemd/systemd/issues/5096)
- The workaround dbus issues in upgrades from systemd-239 is dropped
* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.5-2
- Drop workaround to run generators without sandboxing (requirement on
dracut >= 60 is added)
* Wed Apr 24 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.5-1
- Version 255.5
- Many different small fixes: systemd itself, systemd-networkd, systemd-
journal-remote, compilation fixes for newer kernels and clang, systemd-
homed, systemd-resolved, ukify, systemd-tmpfiles, various other.
* Wed Apr 10 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-16
- Prepare for bin-sbin merge
* Wed Mar 27 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-13
- spec: add %%bcond to build without documentation
* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-11
- Revert "Adjust release tag for riscv64"
* Fri Mar 22 2024 David Abdurachmanov <davidlt@rivosinc.com> - 255.4-10
- Enable bootloader stack for riscv64
* Fri Mar 22 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-9
- Adjust release tag for riscv64
* Wed Mar 20 2024 David Tardon <dtardon@redhat.com> - 255.4-5
- Make Requires(*) on systemd versioned
* Wed Mar 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-4
- Add R:systemd-udev to systemd-networkd subpackage (rhbz#2173425)
* Mon Mar 18 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.4-3
- Add psutil dependency to systemd-tests
* Thu Mar 07 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.4-2
- Build in developer mode when building for upstream
* Fri Mar 01 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.4-1
- Version 255.4
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-13
- Allow setting extra configure options using
%%meson_extra_configure_options
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-12
- Apply pam patch when building for upstream
* Wed Feb 21 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-11
- Use %%version_override/%%release_override to specify version/release by
users
* Tue Feb 20 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.3-10
- Let libkmod be a dlopen'ed dependency
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-9
- Allow overriding the version and release using macros
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-8
- Stop passing %%{release} to meson when building in upstream mode
* Sat Feb 17 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-7
- Don't pass b_lto to meson
* Thu Feb 15 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-6
- Update usage of meson-vcs-tag.sh to account for upstream changes
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-5
- Replace inplace macro with upstream macro
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-4
- Remove reconfiguration logic
* Sun Feb 11 2024 Daan De Meyer <daan.j.demeyer@gmail.com> - 255.3-3
- Stop depending on filelists
* Mon Jan 29 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.3-2
- Conflicts/Provides with systemd-standalone-repart are moved udev
subpackage
* Thu Jan 25 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.3-1
- Version 255.3
- A bunch of various fixes for memory and behaviour, in many different
components (bootctl, systemd, udev, systemd-networkd, systemd-homed,
systemd-logind, systemd-resolve, systemd-repart, systemd-analyze,
systemd-dissect, systemd-boot, pam modules, systemd-storagetm, systemd-
journal-remote, kernel-install)
- Improved detection of virtualization (Google Compute Engine, Apple Virt)
- Updates for shell completions and docs
- An update for hardware database
* Tue Jan 23 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.2-3
- Add temporary patch to adjust uid range classification (rhbz#2251843)
* Tue Jan 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.2-1
- Version 255.2
- Fixes missing DNSSEC validity check in SOA DNS packets (CVE-2023-7008)
- systemd-resolved and systemd-networkd are restarted after an upgrade.
* Tue Jan 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.1-2
- Add missing %%postun scriptlets for systemd-{resolved,networkd}
(rhbz#2255718)
* Sat Dec 16 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255.1-1
- Version 255.1
* Wed Dec 13 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-7
- Do not remove modified config files
* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-4
- Add /etc/ssh/sshd_config.d to the file list
* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-3
- Move config files to /usr/lib/systemd (e.g. /etc/systemd/system.conf →
/usr/lib/systemd/systemd.conf). Both config file locations were already
supported, and the files installed in /etc/ were "empty" (i.e. they had
only comments and section headers). The move does not change the
configuration, but just makes /etc more empty by default. See
https://github.com/systemd/systemd/commit/6495361c7d for more discussion
and details.
* Fri Dec 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-2
- Move systemd-bsod is to udev subpackage
* Wed Dec 06 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255-1
- Version 255
- Just a few bugfixes since 255-rc4: seccomp filters, logging,
documentation, systemd-repart
- Includes a hardware database update.
* Sat Dec 02 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc4-1
- Version 255~rc4
* Fri Dec 01 2023 Adam Williamson <awilliam@redhat.com> - 255~rc3-4
- Backport PRs #30170 and #30266 to fix BPF denials (RHBZ #2250930)
* Wed Nov 29 2023 Adam Williamson <awilliam@redhat.com> - 255~rc3-3
- Backport #30197 to fix vconsole startup (RHBZ #2251394)
* Thu Nov 23 2023 Peter Robinson <pbrobinson@gmail.com> - 255~rc3-2
- de-dupe LICENSE.LGPL2.1 in licenses
* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc3-1
- Version 255~rc3
* Wed Nov 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc2-2
- Add systemd-networkd-defaults subpackage
* Wed Nov 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc2-1
- Version 255~rc2
- See See https://raw.githubusercontent.com/systemd/systemd/v255-rc2/NEWS
* Wed Nov 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
- Add Conflicts with older dracut which doesn't have required patches
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc1-3
- Also build systemd-vmspawn
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc1-2
- Move oomd to systemd-udev
* Tue Nov 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 255~rc1-1
- Version 255~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v255-rc1/NEWS
- All the files and services related to pcrs are moved to -udev subpackage.
This includes the new systemd-pcrlock binary.
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.5-2
- Pull in more patches for keyboard layout matching
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.5-1
- Version 254.5
- Resolves rhbz#29216.
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-14
- Pull in patches to add PollLimit setting
* Wed Sep 27 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-13
- Change versioned Conflicts to rich Requires (rhbz#2240828)
* Tue Sep 19 2023 Adam Williamson <awilliam@redhat.com> - 254.2-12
- Backport PR #29215 to improve keyboard layout matching
* Mon Sep 18 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-7
- Fix creation of installkernel symlink
* Fri Sep 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-6
- Provide /usr/sbin/installkernel (rhbz#2239008).
* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-2
- Make inter-subpackage dependencies archful
* Thu Sep 07 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.2-1
- Version 254.2
- A bunch of fixes in various areas: manager, coredump, sysupdate,
hibernation, journal.
- Should fix rhbz#2234653.
* Wed Sep 06 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.1-8
- Actually reload user managers and backport unit reload macros
* Sat Sep 02 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254.1-7
- ukify: Drop obsolete dependency on objcopy
* Sat Sep 02 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254.1-6
- Add missing ukify dependency on python-cryptography
* Sun Aug 20 2023 Yu Watanabe <watanabe.yu+github@gmail.com> - 254.1-5
- spec: also explicitly enable/disable ukify support
* Sun Aug 13 2023 Yu Watanabe <watanabe.yu+github@gmail.com> - 254.1-4
- spec: explicitly enable/disable xen support
* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254.1-1
- Version 254.1 (rhbz#2228089, possibly partial fix for rhbz#2229524)
* Wed Aug 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254-5
- Do daemon-reexec of user managers after package upgrade
* Mon Aug 07 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-4
- Revert "Supress errors on selinux systems"
* Thu Aug 03 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-3
- Add a custom %%clean implementation
* Thu Aug 03 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 254-2
- Update libbpf soname
* Fri Jul 28 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254-1
- Version 254 (just a bunch of bugfixes, mostly for unusual architectures,
since rc3)
- rhbz#2226908
- See https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS for
the full changeset.
* Mon Jul 24 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254~rc3-1
- Version 254~rc3
- A bunch of fixes, e.g. rhbz#2223795. Also a bunch of reverts of commits
which were found to cause problems.
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 254~rc2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jul 17 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254~rc2-4
- Fix scriptlets for various services and remote-cryptsetup.target
(rhbz#2217997)
* Sun Jul 16 2023 Stewart Smith <stewart@flamingspork.com> - 254~rc2-3
- Convert existing bcond_with[out] to plain bcond
* Sun Jul 16 2023 Stewart Smith <trawets@amazon.com> - 254~rc2-2
- Move gnutls, zlib, bzip2, lz4, xz, and zstd to bconds
* Sat Jul 15 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254~rc2-1
- Version 254~rc2
- Various bug fixes, in particular kernel-install should again work without
/proc.
* Thu Jul 13 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 254~rc1-1
- Version 254~rc1
- Way too many changes to list. See
https://raw.githubusercontent.com/systemd/systemd/v254-rc1/NEWS
- Fix regression in socket activation of services (rhbz#2213660).
* Mon Jun 26 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253.5-7
- Use rpm sysuser provide generation on RHEL >= 10
* Thu Jun 22 2023 Panu Matilainen <pmatilai@redhat.com> - 253.5-6
- Use rpm's sysuser provide generation on Fedora >= 39
* Wed Jun 21 2023 Anita Zhang <the.anitazha@gmail.com> - 253.5-5
- fix typos in standalone package provides
* Mon Jun 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253.5-4
- Avoid pillow and pyflakes in RHEL builds
* Mon Jun 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253.5-3
- Avoid qrencode dependency in RHEL builds
* Fri Jun 02 2023 Alessandro Astone <ales.astone@gmail.com> - 253.5-2
- Increase vm.max_map_count
* Thu Jun 01 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.5-1
- Version 253.5
* Thu May 11 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.4-1
- Version 253.4
* Thu May 11 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 253.2-6
- Raise ManagedOOMMemoryPressureLimit from 50%% to 80%%
* Tue May 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-5
- Add forgotten Provides and Conflicts for standalones
* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-4
- sysusers.generate-pre.sh: properly escape quotes in description strings
(rhbz#2104141)
* Wed Apr 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-3
- sysusers.generate-pre.sh: fix indentation in generated scripts
* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.2-1
- Version 253.2
* Wed Mar 29 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-7
- oomd: stop monitoring user-*.slice slices (rhbz#2177722)
* Thu Mar 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-6
- Move /usr/lib/systemd/boot/ to systemd-boot-unsigned subpackage
* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-2
- Fix build with gnu-efi-3.0.11-13
* Fri Mar 03 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253.1-1
- Version 253.1
- Fixes rhbz#2148464
* Wed Mar 01 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-7
- Move man pages for sd-boot into systemd-boot-unsigned
* Wed Feb 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-6
- Set TimeoutStopFailureMode=abort for services (see
https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer)
* Tue Feb 21 2023 Dusty Mabe <dusty@dustymabe.com> - 253-5
- remove group write permission from 98-default-mac-none.link
* Tue Feb 21 2023 Dusty Mabe <dusty@dustymabe.com> - 253-4
- fix comment instructions for 98-default-mac-none.link
* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-3
- Backport patch for container compatibility (rhbz#2165004)
* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-2
- Add workaround patch for dracut generator issue (rhbz#2164404)
* Mon Feb 20 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253-1
- Version 253 (mostly some documentation fixes since -rc3).
* Fri Feb 10 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc3-1
- Version 253-rc3
- A bunch of bugfixes for regressions, some documentation and bug fixes
too.
- Really fix rhbz#2165692 (previous build carried an unapplied patch).
* Thu Feb 09 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-7
- Revert patch switch causes problems for 'systemctl isolate'
(rhbz#2165692)
* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-6
- Disable systemd-boot-update.service in presets
* Wed Feb 08 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-4
- Update License to SPDX
* Mon Feb 06 2023 Thomas Haller <thaller@redhat.com> - 253~rc2-3
- add "98-default-mac-none.link" to keep default MAC address of
bridge/bond/team
* Thu Feb 02 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 253~rc2-2
- Shorten shutdown timeout to 45 s
* Thu Feb 02 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc2-1
- Version 253~rc2
- Sysusers fixup (rhbz#2156900) + other small changes
* Thu Feb 02 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 253~rc1-5
- Build with xen only on Fedora
* Thu Jan 26 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc1-3
- Reenable systemd-journald-audit.socket after upgrades (rhbz#2164594)
* Wed Jan 25 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc1-2
- Add Requires on Python modules to systemd-ukify and Recommends for
libp11-kit
* Tue Jan 24 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 253~rc1-1
- Version 253~rc1
- See https://raw.githubusercontent.com/systemd/systemd/v253-rc1/NEWS
- New subpackages: systemd-repart-standalone, systemd-shutdown-standalone,
and systemd-ukify.
* Sun Jan 22 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.4-4
- Backport patches to fix issues gcc-13 and -D_FORTIFY_SOURCE=3
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 252.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 05 2023 Daan De Meyer <daan.j.demeyer@gmail.com> - 252.4-2
- Add python3 to BuildRequires
* Tue Dec 20 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.4-1
- Version 252.4
- Fixes a few different issues (systemd-timesyncd connectivity problems,
broken emoji output on the console, crashes in pid1 unit dependency
logic)
- CVE-2022-4415: systemd: coredump not respecting fs.suid_dumpable kernel
setting
* Sat Dec 17 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.3-4
- boot: add Provides:systemd-boot(isa)
* Wed Dec 14 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.3-2
- Use upstream pam systemd-auth file with a patch, add pam_keyinit
* Thu Dec 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.3-1
- Version 252.3 (rhbz#2136916, rhbz#2083900)
* Fri Dec 02 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.2-2
- Split out systemd-boot-unsigned package
* Thu Nov 24 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.2-1
- Version 252.2
- Latest batch of bugfixes (rhbz#2137631)
* Thu Nov 24 2022 Martin Osvald <mosvald@redhat.com> - 252.1-3
- Support user:group notation by sysusers.generate-pre.sh script
* Tue Nov 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252.1-1
- Version 252.1 (just some small fixes).
* Mon Oct 31 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252-1
- Version 252
* Tue Oct 25 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc3-1
- Version 252-rc3 (#2135778)
* Tue Oct 18 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc2-28
- Version 252-rc2 (#2134741, #2133792)
* Fri Oct 14 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-31
- Fix upgrade detection in %%posttrans scriptlet (rhbz#2115094)
* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-30
- Fix indentation in %%sysusers_create_compat macro (rhbz#2132835)
* Sun Oct 09 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-29
- Correctly move systemd-measure to systemd-udev subpackage
* Fri Oct 07 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 252~rc1-28
- Version 252-rc1 (for details see
https://raw.githubusercontent.com/systemd/systemd/v252-rc1/NEWS)
* Sat Oct 01 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 251.5-29
- Fix permissions on %%ghost files (rhbz#2122889)
* Sat Oct 01 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 251.5-28
- Version 251.5 (rhbz#2129343, rhbz#2121106, rhbz#2130188)
* Fri Sep 30 2022 Yu Watanabe <watanabe.yu+github@gmail.com> - 251.4-41
- Replace patch for test-mountpoint-util
* Fri Sep 30 2022 Yu Watanabe <watanabe.yu+github@gmail.com> - 251.4-40
- patch: fix regression in bfq patch
* Fri Sep 30 2022 Luca BRUNO <lucab@lucabruno.net> - 251.4-39
- sysusers/generate: bridge 'm' entries to usermod
* Fri Sep 30 2022 Anita Zhang <the.anitazha@gmail.com> - 251.4-38
- Update systemd-oomd defaults to friendlier values
- Remove swap policy. Default amount of swap (8GB?) is a lot lower than
what we use internally with the swap policy. Which frequently leads to
GNOME getting killed (e.g.
https://bugzilla.redhat.com/show_bug.cgi?id=1941170, and other BZs not
linked here). Internally we use 0.5x-1x size of physical memory for swap
via swapfiles (this will be documented in systemd upstream). In simple
cases of using more memory than is available (but without memory
pressure), the Kernel OOM killer can handle killing the offending
process.
* Thu Sep 29 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 251.4-37
- Make systemd-devel conditionally pull in systemd-rpm-macros
* Fri Aug 19 2022 Neal Gompa <ngompa@fedoraproject.org> - 251.4-53
- Set compile-time fallback hostname to "localhost"
https://fedoraproject.org/wiki/Changes/FallbackHostname

View file

@ -2,9 +2,9 @@
#
# Turn a sysusers.d file into macros specified by
# https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_dynamic_allocation
#
# After https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers,
# those macros are not needed anymore.
%sysusers_requires_compat Requires(pre): shadow-utils
%sysusers_create_compat() \
%(%{_rpmconfigdir}/sysusers.generate-pre.sh %{?*}) \
%{nil}
%sysusers_requires_compat %nil
%sysusers_create_compat() %nil

10
macros.sysusers.compat Normal file
View file

@ -0,0 +1,10 @@
# RPM macros for packages creating system accounts
#
# Turn a sysusers.d file into macros specified by
# https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_dynamic_allocation
%sysusers_requires_compat Requires(pre): shadow-utils
%sysusers_create_compat() \
%(%{_rpmconfigdir}/sysusers.generate-pre.sh %{?*}) \
%{nil}

127
plans/run-integration-tests.sh Executable file
View file

@ -0,0 +1,127 @@
#!/bin/bash
set -eux
set -o pipefail
# Switch SELinux to permissive if possible, since the tests don't set proper contexts
setenforce 0 || true
echo "CPU and Memory information:"
lscpu
lsmem
echo "Clock source: $(cat /sys/devices/system/clocksource/clocksource0/current_clocksource)"
# Bump inotify limits if we can so nspawn containers don't run out of inotify file descriptors.
sysctl fs.inotify.max_user_watches=65536 || true
sysctl fs.inotify.max_user_instances=1024 || true
if [[ -n "${KOJI_TASK_ID:-}" ]]; then
koji download-task --noprogress --arch="noarch,$(rpm --eval '%{_arch}')" "$KOJI_TASK_ID"
elif [[ -n "${CBS_TASK_ID:-}" ]]; then
cbs download-task --noprogress --arch="noarch,$(rpm --eval '%{_arch}')" "$CBS_TASK_ID"
elif [[ -n "${PACKIT_SRPM_URL:-}" ]]; then
COPR_BUILD_ID="$(basename "$(dirname "$PACKIT_SRPM_URL")")"
COPR_CHROOT="$(basename "$(dirname "$(dirname "$PACKIT_BUILD_LOG_URL")")")"
copr download-build --rpms --chroot "$COPR_CHROOT" "$COPR_BUILD_ID"
mv "$COPR_CHROOT"/* .
else
echo "Not running within packit and no CBS/koji task ID provided"
exit 1
fi
PACKAGEDIR="$PWD"
# This will match both the regular and the debuginfo rpm so make sure we select only the
# non-debuginfo rpm.
RPMS=(systemd-tests-*.rpm)
rpm2cpio "${RPMS[0]}" | cpio --make-directories --extract
pushd usr/lib/systemd/tests
mkosi_hash="$(grep "MinimumVersion=commit:" mkosi/mkosi.conf | sed "s|MinimumVersion=commit:||g")"
# Now prepare mkosi at the same version required by the systemd repo.
git clone https://github.com/systemd/mkosi /var/tmp/systemd-integration-tests-mkosi
git -C /var/tmp/systemd-integration-tests-mkosi checkout "$mkosi_hash"
export PATH="/var/tmp/systemd-integration-tests-mkosi/bin:$PATH"
# shellcheck source=/dev/null
. /etc/os-release || . /usr/lib/os-release
tee mkosi/mkosi.local.conf <<EOF
[Distribution]
Distribution=${MKOSI_DISTRIBUTION:-$ID}
Release=${MKOSI_RELEASE:-${VERSION_ID:-rawhide}}
[Content]
PackageDirectories=$PACKAGEDIR
SELinuxRelabel=yes
[Build]
ToolsTreeDistribution=${MKOSI_DISTRIBUTION:-$ID}
ToolsTreeRelease=${MKOSI_RELEASE:-${VERSION_ID:-rawhide}}
ToolsTreePackageDirectories=$PACKAGEDIR
Environment=NO_BUILD=1
WithTests=yes
EOF
if [[ -n "${MKOSI_REPOSITORIES:-}" ]]; then
tee --append mkosi/mkosi.local.conf <<EOF
[Distribution]
Repositories=$MKOSI_REPOSITORIES
[Build]
ToolsTreeRepositories=$MKOSI_REPOSITORIES
EOF
fi
if [[ -n "${TEST_SELINUX_CHECK_AVCS:-}" ]]; then
tee --append mkosi/mkosi.local.conf <<EOF
[Runtime]
KernelCommandLineExtra=systemd.setenv=TEST_SELINUX_CHECK_AVCS=$TEST_SELINUX_CHECK_AVCS
EOF
fi
# If we don't have KVM, skip running in qemu, as it's too slow. But try to load the module first.
modprobe kvm || true
if [[ ! -e /dev/kvm ]]; then
export TEST_NO_QEMU=1
fi
NPROC="$(nproc)"
if [[ "$NPROC" -ge 10 ]]; then
export TEST_JOURNAL_USE_TMP=1
NPROC="$((NPROC / 3))"
else
NPROC="$((NPROC - 1))"
fi
# This test is only really useful if we're building with sanitizers and takes a long time, so let's skip it
# for now.
export TEST_SKIP="TEST-21-DFUZZER ${TEST_SKIP:-}"
mkosi genkey
mkosi summary
mkosi -f box -- true
mkosi box -- meson setup build integration-tests/standalone
mkosi -f
if [[ "$(mkosi box -- meson test --help)" == *"--max-lines"* ]]; then
MAX_LINES=(--max-lines 300)
else
MAX_LINES=()
fi
mkosi box -- \
meson test \
-C build \
--setup=integration \
--print-errorlogs \
--no-stdsplit \
--num-processes "$NPROC" \
"${MAX_LINES[@]}" && EC=0 || EC=$?
[[ -d build/meson-logs ]] && find build/meson-logs -type f -exec mv {} "$TMT_TEST_DATA" \;
[[ -d build/test/journal ]] && find build/test/journal -type f -exec mv {} "$TMT_TEST_DATA" \;
popd
exit "$EC"

22
plans/upstream.fmf Normal file
View file

@ -0,0 +1,22 @@
summary: systemd upstream test suite
provision:
hardware:
virtualization:
is-supported: true
prepare:
- name: install-dependencies
how: install
package:
- coreutils
- distribution-gpg-keys
- dnf
- git-core
- koji
- centos-packager
- copr-cli
exclude:
- systemd-standalone-.*
execute:
how: tmt
script: exec plans/run-integration-tests.sh
duration: 2h

View file

@ -1,101 +0,0 @@
#!/bin/bash -eu
if [ $UID -ne 0 ]; then
echo "WARNING: This script needs to run as root to be effective"
exit 1
fi
export SYSTEMD_NSS_BYPASS_SYNTHETIC=1
if [ "${1:-}" = "--ignore-journal" ]; then
shift
ignore_journal=1
else
ignore_journal=0
fi
echo "Checking processes..."
if ps h -u 99 | grep .; then
echo "ERROR: ps reports processes with UID 99!"
exit 2
fi
echo "... not found"
echo "Checking UTMP..."
if w -h 199 | grep . ; then
echo "ERROR: w reports UID 99 as active!"
exit 2
fi
if w -h nobody | grep . ; then
echo "ERROR: w reports user nobody as active!"
exit 2
fi
echo "... not found"
echo "Checking the journal..."
if [ "$ignore_journal" = 0 ] && journalctl -q -b -n10 _UID=99 | grep . ; then
echo "ERROR: journalctl reports messages from UID 99 in current boot!"
exit 2
fi
echo "... not found"
echo "Looking for files in /etc, /run, /tmp, and /var..."
if find /etc /run /tmp /var -uid 99 -print | grep -m 10 . ; then
echo "ERROR: found files belonging to UID 99"
exit 2
fi
echo "... not found"
echo "Checking if nobody is defined correctly..."
if getent passwd nobody |
grep '^nobody:[x*]:65534:65534:.*:/:/sbin/nologin';
then
echo "OK, nothing to do."
exit 0
else
echo "NOTICE: User nobody is not defined correctly"
fi
echo "Checking if nfsnobody or something else is using the uid..."
if getent passwd 65534 | grep . ; then
echo "NOTICE: will have to remove this user"
else
echo "... not found"
fi
if [ "${1:-}" = "-x" ]; then
if getent passwd nobody >/dev/null; then
# this will remove both the user and the group.
( set -x
userdel nobody
)
fi
if getent passwd 65534 >/dev/null; then
# Make sure the uid is unused. This should free gid too.
name="$(getent passwd 65534 | cut -d: -f1)"
( set -x
userdel "$name"
)
fi
if grep -qE '^(passwd|group):.*\bsss\b' /etc/nsswitch.conf; then
echo "Sleeping, so sss can catch up"
sleep 3
fi
if getent group 65534; then
# Make sure the gid is unused, even if uid wasn't.
name="$(getent group 65534 | cut -d: -f1)"
( set -x
groupdel "$name"
)
fi
# systemd-sysusers uses the same gid and uid
( set -x
systemd-sysusers --inline 'u nobody 65534 "Kernel Overflow User" / /sbin/nologin'
)
else
echo "Pass '-x' to perform changes"
fi

View file

@ -1,13 +1,24 @@
# Disable badfuncs check that has tons of false positives.
badfuncs:
exclude_path: .*
allowed:
/usr/lib/systemd/tests/unit-tests/*:
- inet_addr
- inet_aton
/usr/bin/networkctl:
- inet_addr
- inet_aton
# don't report changed content of compiled files
# that is expected with every update
changedfiles:
exclude_path: .*
# completely disabled inspections:
# completely disable inspections:
inspections:
# we know about our patches, no need to report anything
patches: off
# this inspection uses `udevadm` which comes from this package
# disable so we do not check udev rules with a possibly outdated version
# of the command
udevrules: off

View file

@ -1 +1 @@
SHA512 (systemd-251.19.tar.gz) = a1bd8f449e2ec92e823eae81a002b2da7e008bdcaeeac2c9c381eee42d58990d277994062541c4ba7721bb581b5f2147c9b9af2af611edc2a0d578dc2d08eb4c
SHA512 (systemd-259.tar.gz) = ef46b13661df43e3cfbeee1bc22f0b1eb902e8ebe39c19868c465efd08b35a199c2a2cd9d8021a6bc4d692fa0c6e0eab3f13eecd6ce24dde81d3945464a25b50

View file

@ -1,8 +1,47 @@
import re, sys, os, collections
buildroot = sys.argv[1]
known_files = sys.stdin.read().splitlines()
known_files = {line.split()[-1]:line for line in known_files}
no_bootloader = '--no-bootloader' in sys.argv
known_files = '''
%ghost %config(noreplace) /etc/crypttab
%ghost %attr(0444,root,root) /etc/udev/hwdb.bin
/etc/inittab
# This directory is owned by openssh-server, but we don't want to introduce
# a dependency. So let's copy the config and co-own the directory.
%dir %attr(0700,root,root) /etc/ssh/sshd_config.d
%ghost %config(noreplace) /etc/vconsole.conf
%ghost %config(noreplace) /etc/X11/xorg.conf.d/00-keyboard.conf
%ghost %attr(0664,root,root) %verify(not group) /run/utmp
%ghost %attr(0664,root,root) %verify(not group) /var/log/wtmp
%ghost %attr(0660,root,root) %verify(not group) /var/log/btmp
%ghost %attr(0664,root,root) %verify(not md5 size mtime group) /var/log/lastlog
%ghost %config(noreplace) /etc/hostname
%ghost %config(noreplace) /etc/localtime
%ghost %config(noreplace) /etc/locale.conf
%ghost %attr(0444,root,root) %config(noreplace) /etc/machine-id
%ghost %config(noreplace) /etc/machine-info
%ghost %attr(0700,root,root) %dir /var/cache/private
%ghost %attr(0700,root,root) %dir /var/lib/private
%ghost %dir /var/lib/private/systemd
%ghost %dir /var/lib/private/systemd/journal-upload
%ghost /var/lib/private/systemd/journal-upload/state
%ghost %dir /var/lib/systemd/timesync
%ghost /var/lib/systemd/timesync/clock
%ghost %dir /var/lib/systemd/backlight
%ghost /var/lib/systemd/catalog/database
%ghost %dir /var/lib/systemd/coredump
%ghost /var/lib/systemd/journal-upload
%ghost %dir /var/lib/systemd/linger
%ghost %attr(0600,root,root) /var/lib/systemd/random-seed
%ghost %dir /var/lib/systemd/rfkill
%ghost %dir %verify(not mode group) /var/log/journal
%ghost %dir /var/log/journal/remote
%ghost %attr(0700,root,root) %dir /var/log/private
'''
known_files = {line.split()[-1]:line for line in known_files.splitlines()
if line and not line.startswith('#')}
def files(root):
os.chdir(root)
@ -15,21 +54,31 @@ def files(root):
if file.is_dir() and not file.is_symlink():
todo.append(file)
o_libs = open('.file-list-libs', 'w')
o_udev = open('.file-list-udev', 'w')
o_boot = open('.file-list-boot', 'w')
o_pam = open('.file-list-pam', 'w')
o_rpm_macros = open('.file-list-rpm-macros', 'w')
o_devel = open('.file-list-devel', 'w')
o_container = open('.file-list-container', 'w')
o_networkd = open('.file-list-networkd', 'w')
o_oomd_defaults = open('.file-list-oomd-defaults', 'w')
o_remote = open('.file-list-remote', 'w')
o_resolve = open('.file-list-resolve', 'w')
o_tests = open('.file-list-tests', 'w')
o_standalone_tmpfiles = open('.file-list-standalone-tmpfiles', 'w')
o_standalone_sysusers = open('.file-list-standalone-sysusers', 'w')
o_main = open('.file-list-main', 'w')
outputs = {suffix: open(f'.file-list-{suffix}', 'w')
for suffix in (
'shared',
'libs',
'udev',
'ukify',
'boot',
'pam',
'rpm-macros',
'sysusers',
'devel',
'container',
'networkd',
'networkd-defaults',
'oomd-defaults',
'remote',
'resolve',
'tests',
'standalone-repart',
'standalone-tmpfiles',
'standalone-sysusers',
'standalone-shutdown',
'main',
)}
for file in files(buildroot):
n = file.path[1:]
if re.match(r'''/usr/(share|include)$|
@ -53,38 +102,84 @@ for file in files(buildroot):
/var(/cache|/log|/lib|/run|)$
''', n, re.X):
continue
if '/security/pam_' in n or '/man8/pam_' in n:
o = o_pam
if n.endswith('.standalone'):
if 'repart' in n:
o = outputs['standalone-repart']
elif 'tmpfiles' in n:
o = outputs['standalone-tmpfiles']
elif 'sysusers' in n:
o = outputs['standalone-sysusers']
elif 'shutdown' in n:
o = outputs['standalone-shutdown']
else:
assert False, 'Found .standalone not belonging to known packages'
elif '/security/pam_' in n or '/man8/pam_' in n:
o = outputs['pam']
elif '/rpm/' in n:
o = o_rpm_macros
o = outputs['rpm-macros']
elif '/usr/lib/systemd/tests' in n:
o = o_tests
elif re.search(r'/libsystemd-(shared|core)-.*\.so$', n):
o = o_main
o = outputs['tests']
elif 'ukify' in n and '/man/' not in n:
o = outputs['ukify']
elif re.search(r'/libsystemd-core-.*\.so$', n):
o = outputs['main']
elif re.search(r'/libsystemd-shared-.*\.so$', n):
o = outputs['shared']
elif re.search(r'/libcryptsetup-token-systemd-.*\.so$', n):
o = o_udev
elif re.search(r'/lib.*\.pc|/man3/|/usr/include|\.so$', n):
o = o_devel
o = outputs['udev']
elif re.search(r'/lib.*\.pc$|/man3/|/usr/include|\.so$', n):
o = outputs['devel']
elif re.search(r'''journal-(remote|gateway|upload)|
systemd-remote\.conf|
/usr/share/systemd/gatewayd|
/var/log/journal/remote
''', n, re.X):
o = o_remote
o = outputs['remote']
# Just the binary, the dir, and the man page.
elif re.search(r'''systemd-sysusers$|
sysusers\.d$|
man/.*sysusers\.d\.5|
man/.*systemd-sysusers\.8
''', n, re.X):
o = outputs['sysusers']
elif re.search(r'''mymachines|
machinectl|
mount.ddi|
importctl|
portablectl|
systemd-nspawn|
import-pubring.gpg|
systemd-(machined|import|pull)|
systemd\.nspawn|
systemd-vmspawn|
systemd-dissect|
import-pubring|
systemd-machined|
systemd-import|
systemd-export|
systemd-pull|
systemd-mountfsd|
systemd-mountwork|
systemd-nsresource|
/machine.slice|
/machines.target|
var-lib-machines.mount|
org.freedesktop.(import|machine)1
''', n, re.X):
o = o_container
o = outputs['container']
elif re.search(r'''/usr/lib/systemd/network/80-|
# .network.example files go into systemd-networkd, and the matching files
# without .example go into systemd-networkd-defaults
elif (re.search(r'''/usr/lib/systemd/network/.*\.network$''', n)
and os.path.exists(f'./{n}.example')):
o = outputs['networkd-defaults']
# Files that are "consumed" by systemd-networkd go into the -networkd
# subpackage. As a special case, network-generator is co-owned also by
# the -udev subpackage because systemd-udevd reads .link files.
elif re.search(r'''/usr/lib/systemd/network/.*\.network|
networkd|
networkctl|
org.freedesktop.network1|
@ -93,18 +188,26 @@ for file in files(buildroot):
systemd\.network|
systemd\.netdev
''', n, re.X):
o = o_networkd
o = outputs['networkd']
elif 'network-generator' in n:
o = (outputs['networkd'], outputs['udev'])
elif '.so.' in n:
o = o_libs
o = outputs['libs']
elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X):
o = outputs['oomd-defaults']
elif re.search(r'''udev(?!\.pc)|
hwdb|
ac-power|
bootctl|
boot-update|
bless-boot|
boot-system-token|
bsod|
kernel-install|
installkernel|
vconsole|
backlight|
rfkill|
@ -119,6 +222,7 @@ for file in files(buildroot):
pstore|
sleep|suspend|hibernate|
systemd-tmpfiles-setup-dev|
network/98-default-mac-none.link|
network/99-default.link|
growfs|makefs|makeswap|mkswap|
fsck|
@ -129,6 +233,10 @@ for file in files(buildroot):
integritysetup|
integritytab|
remount-fs|
/initrd|
systemd[.-]pcr|
/pcrlock\.d|
systemd-measure|
/boot$|
/kernel/|
/kernel$|
@ -137,51 +245,54 @@ for file in files(buildroot):
sysctl|
coredump|
homed|home1|
sysupdate|updatctl|
oomd|
portabled|portable1
''', n, re.X): # coredumpctl, homectl, portablectl are included in the main package because
# they can be used to interact with remote daemons. Also, the user could be
# confused if those user-facing binaries are not available.
o = o_udev
o = outputs['udev']
elif re.search(r'''/boot/efi|
/usr/lib/systemd/boot|
sd-boot|systemd-boot\.|loader.conf
''', n, re.X):
o = o_boot
o = outputs['boot']
elif re.search(r'''resolved|resolve1|
systemd-resolve|
resolvconf|
systemd\.(positive|negative)
''', n, re.X): # resolvectl and nss-resolve are in the main package.
o = o_resolve
elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X):
o = o_oomd_defaults
elif n.endswith('.standalone'):
if 'tmpfiles' in n:
o = o_standalone_tmpfiles
elif 'sysusers' in n:
o = o_standalone_sysusers
else:
assert False, 'Found .standalone not belonging to known packages'
o = outputs['resolve']
else:
o = o_main
o = outputs['main']
if n in known_files:
prefix = ' '.join(known_files[n].split()[:-1])
if prefix:
prefix += ' '
elif file.is_dir() and not file.is_symlink():
prefix = '%dir '
prefix = known_files[n].split()[:-1]
elif file.is_dir(follow_symlinks=False):
prefix = ['%dir']
elif 'README' in n:
prefix = '%doc '
prefix = ['%doc']
elif n.startswith('/etc'):
prefix = '%config(noreplace) '
prefix = ['%config(noreplace)']
if not file.is_symlink() and file.stat().st_size == 0:
prefix += ['%ghost']
else:
prefix = ''
prefix = []
prefix = ' '.join(prefix + ['']) if prefix else ''
suffix = '*' if '/man/' in n else ''
print(f'{prefix}{n}{suffix}', file=o)
if not isinstance(o, tuple):
o = (o,)
for file in o:
print(f'{prefix}{n}{suffix}', file=file)
if [print(f'ERROR: no file names were written to {o.name}')
for name, o in outputs.items()
if (o.tell() == 0 and
not (no_bootloader and name == 'boot'))
]:
sys.exit(1)

View file

@ -1,14 +1,14 @@
# This file is part of systemd.
#
# Used by systemd --user instances.
-account sufficient pam_systemd_home.so
account sufficient pam_unix.so no_pass_expiry
account include system-auth
account include system-auth
session required pam_selinux.so close
session required pam_selinux.so nottys open
session required pam_loginuid.so
session required pam_namespace.so
-session optional pam_systemd_home.so
session include system-auth
session required pam_selinux.so close
session required pam_selinux.so nottys open
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session required pam_namespace.so
-session optional pam_systemd_home.so
session optional pam_umask.so silent
session include system-auth

File diff suppressed because it is too large Load diff

View file

@ -20,16 +20,16 @@ user() {
if [ "$uid" = '-' ] || [ "$uid" = '' ]; then
cat <<-EOF
getent passwd '$user' >/dev/null || \\
useradd -r -g '$group' -d '$home' -s '$shell' -c '$desc' '$user' || :
useradd -r -g ${group@Q} -d ${home@Q} -s ${shell@Q} -c ${desc@Q} ${user@Q} || :
EOF
else
cat <<-EOF
if ! getent passwd '$user' >/dev/null; then
if ! getent passwd '$uid' >/dev/null; then
useradd -r -u '$uid' -g '$group' -d '$home' -s '$shell' -c '$desc' '$user' || :
else
useradd -r -g '$group' -d '$home' -s '$shell' -c '$desc' '$user' || :
fi
if ! getent passwd ${user@Q} >/dev/null; then
if ! getent passwd ${uid@Q} >/dev/null; then
useradd -r -u ${uid@Q} -g ${group@Q} -d ${home@Q} -s ${shell@Q} -c ${desc@Q} ${user@Q} || :
else
useradd -r -g ${group@Q} -d ${home@Q} -s ${shell@Q} -c ${desc@Q} ${user@Q} || :
fi
fi
EOF
@ -42,11 +42,11 @@ group() {
if [ "$gid" = '-' ]; then
cat <<-EOF
getent group '$group' >/dev/null || groupadd -r '$group' || :
getent group ${group@Q} >/dev/null || groupadd -r ${group@Q} || :
EOF
else
cat <<-EOF
getent group '$group' >/dev/null || groupadd -f -g '$gid' -r '$group' || :
getent group ${group@Q} >/dev/null || groupadd -f -g ${gid@Q} -r ${group@Q} || :
EOF
fi
}
@ -56,8 +56,8 @@ usermod() {
group="$2"
cat <<-EOF
if getent group '$group' >/dev/null; then
usermod -a -G '$group' '$user' || :
if getent group ${group@Q} >/dev/null; then
usermod -a -G ${group@Q} '$user' || :
fi
EOF
}
@ -69,7 +69,7 @@ parse() {
[ -z "$line" ] && continue
eval "arr=( $line )"
case "${arr[0]}" in
('u')
('u'|'u!')
if [[ "${arr[2]}" == *":"* ]]; then
user "${arr[1]}" "${arr[2]%:*}" "${arr[3]}" "${arr[2]#*:}" "${arr[4]}" "${arr[5]}"
else

View file

@ -42,7 +42,7 @@ parse() {
[ -z "$line" ] && continue
set -- $line
case "$1" in
('u')
('u'|'u!')
process_u "$2" "$3"
;;
('g')

39
test_sysusers_defined.py Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/python
import os
import sys
def parse_sysusers_file(filename):
users, groups = set(), set()
for line in open(filename):
line = line.strip()
if not line or line.startswith('#'):
continue
words = line.split()
match words[0]:
case 'u'|'u!':
users.add(words[1])
case 'g':
groups.add(words[1])
case 'm'|'r':
continue
case _:
assert False
return users, groups
setup_users, setup_groups = set(), set()
for arg in sys.argv[1:-1]:
users, groups = parse_sysusers_file(arg)
setup_users |= users
setup_groups |= groups
basic_users, basic_groups = parse_sysusers_file(sys.argv[-1])
ignored = set(os.getenv('IGNORED', '').split())
if d := basic_users - setup_users - ignored:
exit(f'We have new users: {d}')
if d := basic_groups - setup_groups - ignored:
exit(f'We have new groups: {d}')

View file

@ -1,50 +0,0 @@
---
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
tasks:
# switch SELinux to permissive mode
- name: Get default kernel
command: "grubby --default-kernel"
register: default_kernel
- debug: msg="{{ default_kernel.stdout }}"
- name: Set permissive mode
command: "grubby --args=enforcing=0 --update-kernel {{ default_kernel.stdout }}"
- name: reboot
block:
- name: restart host
shell: sleep 2 && shutdown -r now "Ansible updates triggered"
async: 1
poll: 0
ignore_errors: true
- name: wait for host to come back
wait_for_connection:
delay: 10
timeout: 300
- name: Re-create /tmp/artifacts
command: mkdir /tmp/artifacts
- name: Gather SELinux denials since boot
shell: |
result=pass
dmesg | grep -i -e type=1300 -e type=1400 > /tmp/avc.log && result=fail
ausearch -m avc -m selinux_err -m user_avc -ts boot &>> /tmp/avc.log
grep -q '<no matches>' /tmp/avc.log || result=fail
echo -e "\nresults:\n- test: reboot and collect AVC\n result: $result\n logs:\n - avc.log\n\n" > /tmp/results.yml
( [ $result = "pass" ] && echo PASS test-reboot || echo FAIL test-reboot ) > /tmp/test.log
always:
- name: Pull out the artifacts
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
flat: yes
with_items:
- /tmp/test.log
- /tmp/avc.log
- /tmp/results.yml

View file

@ -9,21 +9,17 @@
#
# Minimum rpm version supported: 4.14.0
%transfiletriggerin -P 900900 -- /usr/lib/systemd/system /etc/systemd/system
%transfiletriggerin -P 900900 -- /usr/lib/systemd/system/ /etc/systemd/system/
# This script will run after any package is initially installed or
# upgraded. We care about the case where a package is initially
# installed, because other cases are covered by the *un scriptlets,
# so sometimes we will reload needlessly.
/usr/lib/systemd/systemd-update-helper system-reload-restart || :
%transfiletriggerin -P 900899 -- /usr/lib/systemd/user /etc/systemd/user
if selinuxenabled &>/dev/null; then
/usr/lib/systemd/systemd-update-helper user-reload-restart 2>/dev/null || :
else
/usr/lib/systemd/systemd-update-helper user-reload-restart || :
fi
%transfiletriggerin -P 900899 -- /usr/lib/systemd/user/ /etc/systemd/user/
/usr/lib/systemd/systemd-update-helper user-reload-restart || :
%transfiletriggerpostun -P 1000100 -- /usr/lib/systemd/system /etc/systemd/system
%transfiletriggerpostun -P 1000100 -- /usr/lib/systemd/system/ /etc/systemd/system/
# On removal, we need to run daemon-reload after any units have been
# removed.
# On upgrade, we need to run daemon-reload after any new unit files
@ -31,43 +27,35 @@ fi
# executed.
/usr/lib/systemd/systemd-update-helper system-reload || :
%transfiletriggerpostun -P 1000099 -- /usr/lib/systemd/user /etc/systemd/user
%transfiletriggerpostun -P 1000099 -- /usr/lib/systemd/user/ /etc/systemd/user/
# Execute daemon-reload in user managers.
if selinuxenabled &>/dev/null; then
/usr/lib/systemd/systemd-update-helper user-reload 2>/dev/null || :
else
/usr/lib/systemd/systemd-update-helper user-reload || :
fi
/usr/lib/systemd/systemd-update-helper user-reload || :
%transfiletriggerpostun -P 10000 -- /usr/lib/systemd/system /etc/systemd/system
%transfiletriggerpostun -P 10000 -- /usr/lib/systemd/system/ /etc/systemd/system/
# We restart remaining system services that should be restarted here.
/usr/lib/systemd/systemd-update-helper system-restart || :
%transfiletriggerpostun -P 9999 -- /usr/lib/systemd/user /etc/systemd/user
%transfiletriggerpostun -P 9999 -- /usr/lib/systemd/user/ /etc/systemd/user/
# We restart remaining user services that should be restarted here.
if selinuxenabled &>/dev/null; then
/usr/lib/systemd/systemd-update-helper user-restart 2>/dev/null || :
else
/usr/lib/systemd/systemd-update-helper user-restart || :
fi
/usr/lib/systemd/systemd-update-helper user-restart || :
%transfiletriggerin -P 1000700 -- /usr/lib/sysusers.d
%transfiletriggerin -P 1000700 -- /usr/lib/sysusers.d/
# This script will process files installed in /usr/lib/sysusers.d to create
# specified users automatically. The priority is set such that it
# will run before the tmpfiles file trigger.
systemd-sysusers || :
%transfiletriggerin -P 1000700 udev -- /usr/lib/udev/hwdb.d
%transfiletriggerin -P 1000700 udev -- /usr/lib/udev/hwdb.d/
# This script will automatically invoke hwdb update if files have been
# installed or updated in /usr/lib/udev/hwdb.d.
systemd-hwdb update || :
%transfiletriggerin -P 1000700 -- /usr/lib/systemd/catalog
%transfiletriggerin -P 1000700 -- /usr/lib/systemd/catalog/
# This script will automatically invoke journal catalog update if files
# have been installed or updated in /usr/lib/systemd/catalog.
journalctl --update-catalog || :
%transfiletriggerin -P 1000700 -- /usr/lib/binfmt.d
%transfiletriggerin -P 1000700 -- /usr/lib/binfmt.d/
# This script will automatically apply binfmt rules if files have been
# installed or updated in /usr/lib/binfmt.d.
if test -d "/run/systemd/system"; then
@ -76,7 +64,7 @@ if test -d "/run/systemd/system"; then
/usr/lib/systemd/systemd-binfmt || :
fi
%transfiletriggerin -P 1000600 -- /usr/lib/tmpfiles.d
%transfiletriggerin -P 1000600 -- /usr/lib/tmpfiles.d/
# This script will process files installed in /usr/lib/tmpfiles.d to create
# tmpfiles automatically. The priority is set such that it will run
# after the sysusers file trigger, but before any other triggers.
@ -84,14 +72,12 @@ if test -d "/run/systemd/system"; then
systemd-tmpfiles --create || :
fi
%transfiletriggerin -P 1000600 udev -- /usr/lib/udev/rules.d
%transfiletriggerin -P 1000600 udev -- /usr/lib/udev/rules.d/
# This script will automatically update udev with new rules if files
# have been installed or updated in /usr/lib/udev/rules.d.
if test -e /run/udev/control; then
udevadm control --reload || :
fi
/usr/lib/systemd/systemd-update-helper mark-reload-system-units systemd-udevd.service || :
%transfiletriggerin -P 1000500 -- /usr/lib/sysctl.d
%transfiletriggerin -P 1000500 -- /usr/lib/sysctl.d/
# This script will automatically apply sysctl rules if files have been
# installed or updated in /usr/lib/sysctl.d.
if test -d "/run/systemd/system"; then

View file

@ -1,43 +0,0 @@
From 1990fb757f6d275d807fcb48ad09f5fc7c947bc6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 14 Aug 2019 15:57:42 +0200
Subject: [PATCH] udev: use bfq as the default scheduler
As requested in https://bugzilla.redhat.com/show_bug.cgi?id=1738828.
Test results are that bfq seems to behave better and more consistently on
typical hardware. The kernel does not have a configuration option to set
the default scheduler, and it currently needs to be set by userspace.
See the bug for more discussion and links.
---
rules.d/60-block-scheduler.rules | 5 +++++
rules.d/meson.build | 1 +
2 files changed, 6 insertions(+)
create mode 100644 rules.d/60-block-scheduler.rules
diff --git a/rules.d/60-block-scheduler.rules b/rules.d/60-block-scheduler.rules
new file mode 100644
index 0000000000..850b64540e
--- /dev/null
+++ b/rules.d/60-block-scheduler.rules
@@ -0,0 +1,5 @@
+# do not edit this file, it will be overwritten on update
+
+ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", \
+ KERNEL=="mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|sd*[!0-9]|sr*", \
+ ATTR{queue/scheduler}="bfq"
diff --git a/rules.d/meson.build b/rules.d/meson.build
index 8d2878a36d..a3b395c9ce 100644
--- a/rules.d/meson.build
+++ b/rules.d/meson.build
@@ -8,6 +8,7 @@ rules = [
[files('60-autosuspend.rules',
'60-block.rules',
'60-cdrom_id.rules',
+ '60-block-scheduler.rules',
'60-drm.rules',
'60-evdev.rules',
'60-fido-id.rules',
--
2.37.2

View file

@ -1,2 +0,0 @@
systemd
systemd-udev