Commit graph

71 commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
f4e7691d3b Make .conf files non-%doc, install one more license file
Since 99-hardening.conf is supposed to be symlinked as configuration,
it cannot be marked with %doc. Also add one more license file listed
in the License line, and clean things up a bit while at it.

[skip changelog]
2026-07-17 12:15:19 +02:00
Zbigniew Jędrzejewski-Szmek
4830641844 Move portabled to systemd-container subpackage
Previously, the idea was that portabled is in -udev because it can be
used to implement generic services, incl. basic system functionality.
But it seems that nobody is doing that… People who _are_ packing
portables, are using them more like containers, i.e. to deliver
external payloads. So let's move it to the -container subpackage to
shrink -udev which is installed almost everywhere.

Also, fix bogus comment and fix typo, effectively moving updatectl to
-udev.
2026-07-03 17:04:38 +02:00
Zbigniew Jędrzejewski-Szmek
c783e74791 split-files: improve error message
[skip changelog]
2026-07-03 15:51:45 +02:00
Zbigniew Jędrzejewski-Szmek
ee2dff42d6 Add systemd-report-standalone
This adds the packaging required for
https://github.com/systemd/systemd/pull/42874. The build will work
with the changes here even before that the upstream changes are
merged and is in fact required for upstream CI to pass, so the plan
is to merge it early.

[skip changelog]
2026-07-03 15:00:53 +02:00
Zbigniew Jędrzejewski-Szmek
720fa8259a Do not check ownership of /var/lib/systemd/timesync/ in rpm -V
rpm -V systemd-udev would report that /var/lib/systemd/timesync/ has
wrong ownership. This happens because create the directory via %ghost
and it ends up with the default root:root ownership in the rpm %files
list. We _could_ fix the owernship in the listing, but it's actually OK
if the directory is owned by root or even some other account, as long as
the service is not running. Systemd will change owernship to the
systemd-timesync user:group when starting the service. Disabling of the
ownership verification makes it easier to precreate the timestamp (c.f.
https://src.fedoraproject.org/rpms/systemd/pull-request/238). So let's
just disable the owernship check.
2026-06-10 15:07:53 +02:00
Zbigniew Jędrzejewski-Szmek
9cb09470c9 Version 261~rc1
- explicit dependencies are added for various libraries loaded
  using dlopen()
2026-05-22 19:46:16 +02:00
Zbigniew Jędrzejewski-Szmek
455f277188 Move support for tpm2 to systemd-udev subpackage
This was first attempted in ec5e1b1ed7, together
with some other changes. Moving of getty@.service was wrong, because it is
needed in containers. But moving of the tpm2 stuff should be fine.

List of affected files:
/usr/lib/systemd/system-generators/systemd-tpm2-generator
/usr/lib/systemd/system/sysinit.target.wants/systemd-tpm2-setup-early.service
/usr/lib/systemd/system/sysinit.target.wants/systemd-tpm2-setup.service
/usr/lib/systemd/system/systemd-tpm2-clear.service
/usr/lib/systemd/system/systemd-tpm2-setup-early.service
/usr/lib/systemd/system/systemd-tpm2-setup.service
/usr/lib/systemd/system/tpm2.target
/usr/lib/systemd/systemd-tpm2-clear
/usr/lib/systemd/systemd-tpm2-setup
/usr/share/man/man8/systemd-tpm2-clear.service.8.gz
/usr/share/man/man8/systemd-tpm2-generator.8.gz
/usr/share/man/man8/systemd-tpm2-setup-early.service.8.gz
/usr/share/man/man8/systemd-tpm2-setup.8.gz
/usr/share/man/man8/systemd-tpm2-setup.service.8.gz
2026-02-26 13:06:30 +01:00
Luca Boccassi
23a1c1fed9 Install /usr/lib/systemd/boot/hwids/ in ukify package
For https://github.com/systemd/systemd/pull/40541
2026-02-25 12:58:09 +00:00
Adam Williamson
2e10d7da1e Revert getty changes a bit harder
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-02-04 11:04:54 -08:00
96c683c3de Revert all remaing changes to getty@.service
The previous commit fixed a lot of the test, but the '64bit cloud' and
'aarch64 cloud' tests still fail, there is no login prompt on the tty.

Also, make sure that the autovt@.service symlink is in -udev subpackage.
2026-02-04 18:13:41 +01:00
ec5e1b1ed7 Move tpm2 and getty support to -udev subpackage
We want getty@.service to be enabled through presets, so that the
autovt@.service alias is created (or not). See
https://fedoraproject.org/wiki/Changes/UseKmsconVTConsole.
getty@.service was changed upstream to have a full [Install] section,
but we need to handle installation of the unit here. This will now
create the autovt@.service alias when enabled.

While looking at this, I noticed that the getty units are in the main
package. They don't have to be, virtual terminals are only available
if we have "hardware", i.e. the -udev subpackage is appropriate.
Same for the tpm2 stuff.

List of affected files:
/etc/systemd/system/getty.target.wants
/usr/lib/systemd/system-generators/systemd-getty-generator
/usr/lib/systemd/system-generators/systemd-tpm2-generator
/usr/lib/systemd/system/console-getty.service
/usr/lib/systemd/system/container-getty@.service
/usr/lib/systemd/system/getty-pre.target
/usr/lib/systemd/system/getty.target
/usr/lib/systemd/system/getty@.service
/usr/lib/systemd/system/multi-user.target.wants/getty.target
/usr/lib/systemd/system/serial-getty@.service
/usr/lib/systemd/system/sysinit.target.wants/systemd-tpm2-setup-early.service
/usr/lib/systemd/system/sysinit.target.wants/systemd-tpm2-setup.service
/usr/lib/systemd/system/systemd-tpm2-clear.service
/usr/lib/systemd/system/systemd-tpm2-setup-early.service
/usr/lib/systemd/system/systemd-tpm2-setup.service
/usr/lib/systemd/system/tpm2.target
/usr/lib/systemd/systemd-tpm2-clear
/usr/lib/systemd/systemd-tpm2-setup
/usr/share/man/man8/systemd-getty-generator.8.gz
/usr/share/man/man8/systemd-tpm2-clear.service.8.gz
/usr/share/man/man8/systemd-tpm2-generator.8.gz
/usr/share/man/man8/systemd-tpm2-setup-early.service.8.gz
/usr/share/man/man8/systemd-tpm2-setup.8.gz
/usr/share/man/man8/systemd-tpm2-setup.service.8.gz

I considered leaving getty.target in the main package, so that
foreign units that refer to it don't generate a warning about missing
units, but I think that those packages should not be installed on
systems without systemd-udev, so it's fine if the warning appears.
2026-01-24 16:12:28 +01:00
1d3b892105 Enable sysupdate and sysupdated
The files will land in the -udev subpackage.
2025-10-31 13:11:29 +00:00
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
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
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
David Tardon
5a53eac13c Package pcrlock files together with systemd-pcrlock
... (rhbz#2366948)
2025-05-20 14:58:07 +02:00
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
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
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
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
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
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
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
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
3a8edc7540 Fix previous commit
[skip changelog]
2023-12-11 22:51:48 +01:00
1d61a36c4c Add comment
[skip changelog]
2023-12-09 14:36:49 +01:00
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
40811593d0 Move systemd-bsod is to udev subpackage 2023-12-08 13:24:58 +01:00
a3dfa110ec split-files: fix check for empty package
[skip changelog]
2023-12-02 10:56:51 +01:00
453bbcb423 split-files: also handle conditional packages
This is a bit annoying, but meh.

[skip changelog]
2023-12-02 09:50:58 +01:00
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
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
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
f93a1346f0 Add systemd-networkd-defaults subpackage 2023-11-23 00:53:04 +01:00
1c98102f5d Also build systemd-vmspawn 2023-11-07 22:22:58 +01:00
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
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
f66faf9fa1 Provide /usr/sbin/installkernel
... (rhbz#2239008).
2023-09-15 12:02:40 +02:00
1a6178ce6e Move /usr/lib/systemd/boot/ to systemd-boot-unsigned subpackage 2023-03-09 09:05:16 +01:00
7a81930dd2 Move man pages for sd-boot into systemd-boot-unsigned 2023-03-01 14:09:03 +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
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
54a3b6f942 Split out systemd-boot-unsigned package 2022-12-02 19:08:56 +01:00
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
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
Daan De Meyer
901acf5a2a Move networkd sysusers snippet to networkd rpm
Now that the tmpfiles snippet is a separate file shipped as part
of the networkd package, we can ship the sysusers snippet as a part
of the networkd package as well.
2022-07-07 12:07:01 +02:00
Daan De Meyer
77e121360a Move networkd man pages to networkd package 2022-07-06 20:50:31 +02:00
04e285047a Version 251-rc2 2022-05-05 19:40:03 +02:00
3c4f9413a7 Version 251-rc1 2022-03-29 22:41:15 +02:00
98684a818d Fix the wrong file assignment done in previous version 2022-03-18 13:37:38 +01:00