F: package/at-spi2-atk/
F: package/at-spi2-core/
F: package/clang/
+F: package/earlyoom/
F: package/gconf/
F: package/libnss/
F: package/lld/
source "package/docker-containerd/Config.in"
source "package/docker-engine/Config.in"
source "package/docker-proxy/Config.in"
+ source "package/earlyoom/Config.in"
source "package/efibootmgr/Config.in"
source "package/efivar/Config.in"
source "package/emlog/Config.in"
--- /dev/null
+config BR2_PACKAGE_EARLYOOM
+ bool "earlyoom"
+ depends on BR2_USE_MMU
+ help
+ Early OOM daemon for Linux.
+
+ User space daemon for triggering Linux OOM killer
+ before running out of memory, avoiding situations
+ where the machine becomes unresponsive from out of
+ control swapping.
+
+ https://github.com/rfjakob/earlyoom
--- /dev/null
+#!/bin/sh
+
+DAEMON="earlyoom"
+PIDFILE="/var/run/$DAEMON.pid"
+
+EARLYOOM_ARGS=""
+
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
+
+start() {
+ printf() 'Starting %s: ' "$DAEMON"
+ start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/bin/$DAEMON" \
+ -- $EARLYOOM_ARGS
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
+
+stop() {
+ printf 'Stopping %s: ' "$DAEMON"
+ start-stop-daemon -K -q -p "$PIDFILE"
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ rm -f "$PIDFILE"
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
+
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start|stop|restart)
+ "$1";;
+ reload)
+ restart;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+esac
--- /dev/null
+# locally calculated
+sha256 b81804fc4470f996014d52252a87a1cf3b43d3d8754140035b10dcee349302b8 earlyoom-1.6.tar.gz
+# License files, locally calculated
+sha256 e730b3ec729de46d987ae73f30ed337e4cbe832f09205330acfa71848c6e0087 LICENSE
--- /dev/null
+################################################################################
+#
+# earlyoom
+#
+################################################################################
+
+EARLYOOM_VERSION = 1.6
+EARLYOOM_SITE = $(call github,rfjakob,earlyoom,v$(EARLYOOM_VERSION))
+EARLYOOM_LICENSE = MIT
+EARLYOOM_LICENSE_FILES = LICENSE
+
+EARLYOOM_BUILD_TARGETS = earlyoom.service earlyoom
+EARLYOOM_INSTALL_TARGETS = install-default install-bin
+EARLYOOM_CFLAGS = '$(TARGET_CFLAGS) -std=gnu99 -DVERSION=\"1.6\"'
+
+EARLYOOM_MAKE_OPTS = \
+ $(TARGET_CONFIGURE_OPTS) \
+ PREFIX=/usr
+
+define EARLYOOM_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(EARLYOOM_MAKE_OPTS) -C $(@D) \
+ $(EARLYOOM_BUILD_TARGETS) CFLAGS=$(EARLYOOM_CFLAGS)
+endef
+
+define EARLYOOM_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(EARLYOOM_MAKE_OPTS) -C $(@D) \
+ $(EARLYOOM_INSTALL_TARGETS) DESTDIR=$(TARGET_DIR)
+endef
+
+define EARLYOOM_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 755 $(EARLYOOM_PKGDIR)/S02earlyoom \
+ $(TARGET_DIR)/etc/init.d/S02earlyoom
+endef
+
+define EARLYOOM_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 $(@D)/earlyoom.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/earlyoom.service
+endef
+
+$(eval $(generic-package))