Commit graph

1,164 commits

Author SHA1 Message Date
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
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
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
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