From 5cae6af05feca642414f9bd678f16a161265f7ce Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Nov 07 2023 21:22:58 +0000 Subject: 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. --- diff --git a/split-files.py b/split-files.py index cd309cc..83f1f46 100644 --- a/split-files.py +++ b/split-files.py @@ -116,6 +116,9 @@ for file in files(buildroot): elif '.so.' in n: o = o_libs + elif re.search(r'10-oomd-.*defaults.conf|lib/systemd/oomd.conf.d', n, re.X): + o = o_oomd_defaults + elif re.search(r'''udev(?!\.pc)| hwdb| bootctl| @@ -160,6 +163,7 @@ for file in files(buildroot): sysctl| coredump| homed|home1| + 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 @@ -179,9 +183,6 @@ for file in files(buildroot): ''', 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 - else: o = o_main diff --git a/systemd.spec b/systemd.spec index 3473ec4..8a40760 100644 --- a/systemd.spec +++ b/systemd.spec @@ -500,7 +500,7 @@ resolver, as well as an LLMNR and MulticastDNS resolver and responder. %package oomd-defaults Summary: Configuration files for systemd-oomd -Requires: %{name} = %{version}-%{release} +Requires: %{name}-udev = %{version}-%{release} License: LGPL-2.1-or-later BuildArch: noarch @@ -871,13 +871,6 @@ systemd-machine-id-setup &>/dev/null || : # this would make things worse, increasing the number of warnings we get # about needed daemon-reload. -oomd_state=$(systemctl is-active systemd-oomd 2>/dev/null || :) - -# Work-around for #1931034. Remove after F34 is released. -if [ "$oomd_state" == "active" ]; then - systemctl stop -q systemd-oomd 2>/dev/null || : -fi - systemctl daemon-reexec &>/dev/null || { # systemd v239 had bug #9553 in D-Bus authentication of the private socket, # which was later fixed in v240 by #9625. @@ -898,10 +891,6 @@ systemctl daemon-reexec &>/dev/null || { fi } -if [ "$oomd_state" == "active" ]; then - systemctl start -q systemd-oomd 2>/dev/null || : -fi - [ $1 -eq 1 ] || exit 0 # create /var/log/journal only on initial installation, @@ -928,7 +917,7 @@ if [ $1 -eq 1 ]; then systemd-tmpfiles --create &>/dev/null || : fi -%systemd_postun_with_restart systemd-timedated.service systemd-hostnamed.service systemd-journald.service systemd-localed.service systemd-userdbd.service systemd-oomd.service +%systemd_postun_with_restart systemd-timedated.service systemd-hostnamed.service systemd-journald.service systemd-localed.service systemd-userdbd.service # FIXME: systemd-logind.service is excluded (https://github.com/systemd/systemd/pull/17558) @@ -966,7 +955,7 @@ systemctl --no-reload preset systemd-oomd.service &>/dev/null || : # a different package version. systemctl --no-reload preset systemd-journald-audit.socket &>/dev/null || : -%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket systemd-homed.service systemd-timesyncd.service %{?want_bootloader:systemd-boot-update.service} systemd-portabled.service systemd-pstore.service remote-cryptsetup.target +%global udev_services systemd-udev{d,-settle,-trigger}.service systemd-udevd-{control,kernel}.socket systemd-homed.service %{?want_bootloader:systemd-boot-update.service} systemd-oomd.service systemd-portabled.service systemd-pstore.service systemd-timesyncd.service remote-cryptsetup.target %post udev # Move old stuff around in /var/lib