[packages/earlyoom] Up to 1.9.0
arekm
arekm at pld-linux.org
Mon Sep 14 16:29:11 CEST 2026
commit 93dbf93f8a9b3b7e3cbdf679f6955cc3e258f985
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Sep 14 16:27:37 2026 +0200
Up to 1.9.0
earlyoom.conf | 7 +++++--
earlyoom.init | 6 ++----
earlyoom.logrotate | 1 -
earlyoom.spec | 21 +++++++++++++++------
4 files changed, 22 insertions(+), 13 deletions(-)
---
diff --git a/earlyoom.spec b/earlyoom.spec
index c8f3015..bc7deac 100644
--- a/earlyoom.spec
+++ b/earlyoom.spec
@@ -1,16 +1,18 @@
Summary: Early OOM Daemon for Linux
Name: earlyoom
-Version: 1.7
-Release: 3
+Version: 1.9.0
+Release: 1
License: MIT
URL: https://github.com/rfjakob/earlyoom
Source0: https://github.com/rfjakob/earlyoom/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 9c567930c60b2ccdc536951b005d413d
+# Source0-md5: ce0cfaca4b8563140a9b64a19f255ed0
Source1: %{name}.conf
Source2: %{name}.init
Source3: %{name}.logrotate
BuildRequires: pandoc
Requires(post,preun): /sbin/chkconfig
+Requires(post,preun,postun): systemd-units
+Requires: rc-scripts
Requires: systemd-units
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -29,9 +31,15 @@ sed -i -e '/systemctl/d' Makefile
sed -i -e 's#/default/#/sysconfig/#g' Makefile earlyoom.service.in
%build
+# flags go through the environment: the Makefile appends -DVERSION and
+# -std=gnu99 with +=, which a make command line assignment would discard
+CPPFLAGS="%{rpmcppflags}" \
+CFLAGS="%{rpmcflags}" \
+LDFLAGS="%{rpmldflags}" \
%{__make} \
+ CC="%{__cc}" \
VERSION=%{version} \
- BINDIR=/bin \
+ BINDIR=%{_bindir} \
PREFIX=%{_prefix} \
SYSCONFDIR=%{_sysconfdir} \
SYSTEMDUNITDIR=%{systemdunitdir}
@@ -43,8 +51,9 @@ install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d}
install -d $RPM_BUILD_ROOT/var/log
%{__make} install \
+ VERSION=%{version} \
PREFIX=%{_prefix} \
- BINDIR=/bin \
+ BINDIR=%{_bindir} \
SYSCONFDIR=%{_sysconfdir} \
SYSTEMDUNITDIR=%{systemdunitdir} \
DESTDIR=$RPM_BUILD_ROOT
@@ -81,5 +90,5 @@ fi
%{systemdunitdir}/%{name}.service
%{_mandir}/man1/%{name}.*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%ghost %{_var}/log/%{name}.log
+%attr(640,root,root) %ghost %{_var}/log/%{name}.log
diff --git a/earlyoom.conf b/earlyoom.conf
index 1f7eb86..c1a1bc2 100644
--- a/earlyoom.conf
+++ b/earlyoom.conf
@@ -1,6 +1,9 @@
-# These default settings were approved by the Fedora Workstation SIG:
+# Desktop part of the avoid list comes from the Fedora Workstation SIG:
# https://pagure.io/fedora-workstation/issue/119
+# poldek, rpm: killing the package manager mid-transaction corrupts the rpm database
+# sshd, sshd-session: on a headless machine this is the only way back in
+# Names are matched against /proc/pid/comm, which is truncated to 15 bytes.
-EARLYOOM_ARGS="-r 0 -m 4 -M 409600 --prefer '^(Web Content|Isolated Web Co)$' --avoid '^(dnf|packagekitd|gnome-shell|gnome-session-c|gnome-session-b|lightdm|sddm|sddm-helper|gdm|gdm-wayland-ses|gdm-session-wor|gdm-x-session|Xorg|Xwayland|systemd|systemd-logind|dbus-daemon|dbus-broker|cinnamon|cinnamon-sessio|kwin_x11|kwin_wayland|plasmashell|ksmserver|plasma_session|startplasma-way|xfce4-session|mate-session|marco|lxqt-session|openbox|cryptsetup)$'"
+EARLYOOM_ARGS="-r 0 -m 4 -M 1048576 --prefer '^(Web Content|Isolated Web Co)$' --avoid '^(poldek|rpm|sshd|sshd-session|gnome-shell|gnome-session-c|gnome-session-b|lightdm|sddm|sddm-helper|gdm|gdm-wayland-ses|gdm-session-wor|gdm-x-session|Xorg|Xwayland|systemd|systemd-logind|dbus-daemon|dbus-broker|cinnamon|cinnamon-sessio|kwin_x11|kwin_wayland|plasmashell|ksmserver|plasma_session|startplasma-way|xfce4-session|mate-session|marco|lxqt-session|openbox|cryptsetup)$'"
# More documentation at `man earlyoom` or `earlyoom -h`.
diff --git a/earlyoom.init b/earlyoom.init
index 64ff5d7..3765102 100644
--- a/earlyoom.init
+++ b/earlyoom.init
@@ -8,7 +8,6 @@
#
# processname: earlyoom
# config: /etc/sysconfig/earlyoom
-# pidfile: /var/run/earlyoom.pid
#
# Source function library
@@ -17,8 +16,6 @@
# Get service config - may override defaults
[ -f /etc/sysconfig/earlyoom ] && . /etc/sysconfig/earlyoom
-pidfile="/var/run/earlyoom.pid"
-
start() {
# Check if the service is already running?
if [ -f /var/lock/subsys/earlyoom ]; then
@@ -27,7 +24,8 @@ start() {
fi
msg_starting "earlyoom"
- start-stop-daemon --start --quiet --background --pidfile /var/log/earlyoom --exec /bin/sh -- -c "exec /usr/bin/earlyoom $EARLYOOM_ARGS 2>> \"/var/log/earlyoom.log\"" && ok || fail
+ # umask 027: the log records names and uids of killed processes
+ start-stop-daemon --start --quiet --background --exec /bin/sh -- -c "umask 027; exec /usr/bin/earlyoom $EARLYOOM_ARGS 2>> \"/var/log/earlyoom.log\"" && ok || fail
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/earlyoom
}
diff --git a/earlyoom.logrotate b/earlyoom.logrotate
index caebcb5..ae94b1d 100644
--- a/earlyoom.logrotate
+++ b/earlyoom.logrotate
@@ -1,5 +1,4 @@
/var/log/earlyoom.log
{
- create 0640 root root
copytruncate
}
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/earlyoom.git/commitdiff/93dbf93f8a9b3b7e3cbdf679f6955cc3e258f985
More information about the pld-cvs-commit
mailing list