hooks: oom_score: Remove false positive message
Message "Please remove ${package}from known_bad_oom" would be printed
even when the ${package} still have .conf files with oom score line
missing.
Fix return logic in check_oom() to always return 1 on missing score line
and adapt test in check() accordingly.
BUG=b:205304293
TEST=Check with chromeos-init the message is not printed anymore.
Remove chromeos-init for known bad oom list and observe error.
Change-Id: I0f15b870dd19cd6d805ae7b2b3a9843e79586c57
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3264358
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
diff --git a/hooks/install/check-upstart-scripts.sh b/hooks/install/check-upstart-scripts.sh
index 20637a4..f69cd3a 100755
--- a/hooks/install/check-upstart-scripts.sh
+++ b/hooks/install/check-upstart-scripts.sh
@@ -242,8 +242,8 @@
eqawarn "${msg}"
else
eerror "${msg}"
- return 1
fi
+ return 1
else
if grep -q '^oom score *-1000' "${config}"; then
eerror "${relconfig}: Use 'oom score never' instead."
@@ -267,13 +267,14 @@
: $(( ret_oom += $? ))
done
- if [[ ${ret_oom} -eq 0 ]] && known_bad_oom; then
- eqawarn "Please remove ${CATEGORY}/${PN} from known_bad_oom in $0."
- fi
-
- local ret=$(( ret_oom ))
- if [[ ${ret} -ne 0 ]]; then
- die "Init scripts have errors."
+ if [[ ${ret_oom} -eq 0 ]]; then
+ if known_bad_oom; then
+ eqawarn "Please remove ${CATEGORY}/${PN} from known_bad_oom in $0."
+ fi
+ else
+ if ! known_bad_oom; then
+ die "Init scripts have errors."
+ fi
fi
}