Revert "hooks: reject new init scripts missing "oom score" [reland]"
This reverts commit eae20e2e0a34aa23cf2f9be746b4fa5785c79452.
Reason for revert: There are still many bad oom packages missed.
BUG=b:195480528
TEST=None
Original change's description:
> hooks: reject new init scripts missing "oom score" [reland]
>
> We want all init scripts to specify this line, so add a build-time
> hook requiring all new init scripts have it.
>
> This adds a few more packages to the list based on postsubmit
> failures.
>
> BUG=None
> TEST=CQ passes
>
> Change-Id: Id2521ca15ffac8a10d4bdf5ee580223f2a22e631
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3060781
> Tested-by: Mike Frysinger <vapier@chromium.org>
> Reviewed-by: Sarthak Kukreti <sarthakkukreti@chromium.org>
Bug: None
Change-Id: I1495460a26066653a5dfdaa918d39b1b942aa503
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3070679
Auto-Submit: Hsu Wei-Cheng <mojahsu@chromium.org>
Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org>
Owners-Override: Hsu Wei-Cheng <mojahsu@chromium.org>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Reviewed-by: Luis Lozano <llozano@chromium.org>
diff --git a/hooks/install/check-upstart-scripts.sh b/hooks/install/check-upstart-scripts.sh
deleted file mode 100755
index 01e26a8..0000000
--- a/hooks/install/check-upstart-scripts.sh
+++ /dev/null
@@ -1,287 +0,0 @@
-#!/bin/bash
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Various upstart init script checks.
-
-DOC_RESOURCE_URL="https://dev.chromium.org/chromium-os/chromiumos-design-docs/boot-design#TOC-Runtime-Resource-Limits"
-
-# Default portage vars to make shellcheck happy.
-: "${CATEGORY:=}"
-: "${D:=}"
-: "${PN:=}"
-
-# Allow existing packages w/out oom to pass for now.
-# NB: DO NOT ADD ANY NEW ENTRIES HERE.
-known_bad_oom() {
- case "${CATEGORY}/${PN}" in
- app-accessibility/brltty|\
- app-accessibility/googletts|\
- app-benchmarks/bootchart|\
- app-crypt/trousers|\
- chromeos-base/actions|\
- chromeos-base/ap-daemons|\
- chromeos-base/ap-infra|\
- chromeos-base/ap-net|\
- chromeos-base/ap-scm|\
- chromeos-base/ap-security|\
- chromeos-base/ap-wireless|\
- chromeos-base/arc-adbd|\
- chromeos-base/arc-apk-cache|\
- chromeos-base/arc-appfuse|\
- chromeos-base/arc-base|\
- chromeos-base/arc-common-scripts|\
- chromeos-base/arc-myfiles|\
- chromeos-base/arc-networkd|\
- chromeos-base/arc-obb-mounter|\
- chromeos-base/arc-oemcrypto|\
- chromeos-base/arc-removable-media|\
- chromeos-base/arc-sdcard|\
- chromeos-base/arc-setup|\
- chromeos-base/arc-sslh-init|\
- chromeos-base/arcvm-common-scripts|\
- chromeos-base/arcvm-forward-pstore|\
- chromeos-base/arcvm-launch|\
- chromeos-base/arcvm-mojo-proxy|\
- chromeos-base/arcvm-vsock-proxy|\
- chromeos-base/atrusctl|\
- chromeos-base/attestation|\
- chromeos-base/authpolicy|\
- chromeos-base/biod|\
- chromeos-base/bluetooth|\
- chromeos-base/bootcomplete-embedded|\
- chromeos-base/bootcomplete-login|\
- chromeos-base/buffet|\
- chromeos-base/cdm-oemcrypto|\
- chromeos-base/chaps|\
- chromeos-base/chromeos-accelerometer-init|\
- chromeos-base/chromeos-activate-date|\
- chromeos-base/chromeos-activate-date-ultima|\
- chromeos-base/chromeos-adb-env|\
- chromeos-base/chromeos-auth-config|\
- chromeos-base/chromeos-bsp-atlas|\
- chromeos-base/chromeos-bsp-baseboard-asurada|\
- chromeos-base/chromeos-bsp-baseboard-cherry|\
- chromeos-base/chromeos-bsp-baseboard-gru|\
- chromeos-base/chromeos-bsp-baseboard-herobrine|\
- chromeos-base/chromeos-bsp-baseboard-kukui|\
- chromeos-base/chromeos-bsp-baseboard-oak|\
- chromeos-base/chromeos-bsp-baseboard-trogdor|\
- chromeos-base/chromeos-bsp-beaglebone_servo|\
- chromeos-base/chromeos-bsp-caroline-private|\
- chromeos-base/chromeos-bsp-endeavour-private|\
- chromeos-base/chromeos-bsp-gale|\
- chromeos-base/chromeos-bsp-hatch-private|\
- chromeos-base/chromeos-bsp-mistral|\
- chromeos-base/chromeos-bsp-mobbase|\
- chromeos-base/chromeos-bsp-nocturne|\
- chromeos-base/chromeos-bsp-veyron|\
- chromeos-base/chromeos-bsp-veyron-private|\
- chromeos-base/chromeos-bsp-wilco|\
- chromeos-base/chromeos-bsp-zork-private|\
- chromeos-base/chromeos-chrome|\
- chromeos-base/chromeos-config-tools|\
- chromeos-base/chromeos-cr50-scripts|\
- chromeos-base/chromeos-ec-driver-init|\
- chromeos-base/chromeos-firewall-init|\
- chromeos-base/chromeos-firewall-init-mobbase|\
- chromeos-base/chromeos-imageburner|\
- chromeos-base/chromeos-init|\
- chromeos-base/chromeos-installer|\
- chromeos-base/chromeos-login|\
- chromeos-base/chromeos-machine-id-regen|\
- chromeos-base/chromeos-nat-init|\
- chromeos-base/chromeos-termina-scripts|\
- chromeos-base/chromeos-test-init|\
- chromeos-base/chromeos-trim|\
- chromeos-base/chunnel|\
- chromeos-base/crash-reporter|\
- chromeos-base/cros-camera|\
- chromeos-base/cros-camera-libs|\
- chromeos-base/cros-disks|\
- chromeos-base/crosdns|\
- chromeos-base/croslog|\
- chromeos-base/cryptohome|\
- chromeos-base/debugd|\
- chromeos-base/diagnostics|\
- chromeos-base/disk_updater|\
- chromeos-base/dlcservice|\
- chromeos-base/easy-unlock|\
- chromeos-base/factory_installer|\
- chromeos-base/fastrpc|\
- chromeos-base/feedback|\
- chromeos-base/gdisp|\
- chromeos-base/goldfishd|\
- chromeos-base/hammerd|\
- chromeos-base/hermes|\
- chromeos-base/iioservice|\
- chromeos-base/imageloader|\
- chromeos-base/infineon-firmware-updater|\
- chromeos-base/ip-peripheral|\
- chromeos-base/ippusb_bridge|\
- chromeos-base/ippusb_manager|\
- chromeos-base/kerberos|\
- chromeos-base/lorgnette|\
- chromeos-base/metrics|\
- chromeos-base/midis|\
- chromeos-base/ml|\
- chromeos-base/modemfwd|\
- chromeos-base/modemfwd-helpers-coral|\
- chromeos-base/modemfwd-helpers-dedede|\
- chromeos-base/modemfwd-helpers-drallion|\
- chromeos-base/modemfwd-helpers-hatch|\
- chromeos-base/modemfwd-helpers-nautilus|\
- chromeos-base/modemfwd-helpers-octopus|\
- chromeos-base/modemfwd-helpers-sarien|\
- chromeos-base/modemfwd-helpers-zork|\
- chromeos-base/mri_package|\
- chromeos-base/mtpd|\
- chromeos-base/nodejs-scripts|\
- chromeos-base/oobe_config|\
- chromeos-base/os_install_service|\
- chromeos-base/p2p|\
- chromeos-base/patchpanel|\
- chromeos-base/pdfc-scripts|\
- chromeos-base/permission_broker|\
- chromeos-base/power_manager|\
- chromeos-base/quickoffice|\
- chromeos-base/rialto-cellular-autoconnect|\
- chromeos-base/rialto-modem-watchdog|\
- chromeos-base/runtime_probe|\
- chromeos-base/shill|\
- chromeos-base/sirenia|\
- chromeos-base/smbprovider|\
- chromeos-base/swap-init|\
- chromeos-base/thermald|\
- chromeos-base/timberslide|\
- chromeos-base/tpm_manager|\
- chromeos-base/trunks|\
- chromeos-base/tty|\
- chromeos-base/u2fd|\
- chromeos-base/update_engine|\
- chromeos-base/usb_bouncer|\
- chromeos-base/userfeedback|\
- chromeos-base/viking-hid|\
- chromeos-base/virtual-file-provider|\
- chromeos-base/vm_host_tools|\
- chromeos-base/vpd|\
- chromeos-base/weaveauth|\
- chromeos-base/webserver|\
- chromeos-base/whining|\
- dev-util/hdctools|\
- media-libs/arc-camera-service|\
- media-libs/cros-camera-libcab|\
- media-libs/dlm|\
- media-libs/img-ddk|\
- media-sound/adhd|\
- net-dns/avahi-daemon|\
- net-firewall/conntrack-tools|\
- net-libs/libqrtr|\
- net-misc/modemmanager-next|\
- net-misc/nldaemon|\
- net-misc/rmtfs|\
- net-misc/tlsdate|\
- net-print/cups|\
- net-print/cups_proxy|\
- net-wireless/bluez|\
- net-wireless/floss|\
- net-wireless/iwlwifi_rescan|\
- net-wireless/ot-br-posix|\
- net-wireless/wpa_supplicant|\
- net-wireless/wpa_supplicant-2_8|\
- net-wireless/wpa_supplicant-2_9|\
- sys-apps/apex-monitor|\
- sys-apps/cecservice|\
- sys-apps/huddly-falcon-updater|\
- sys-apps/huddly-monitor|\
- sys-apps/fwupd|\
- sys-apps/mimo-houston-mcu-updater|\
- sys-apps/mimo-monitor|\
- sys-apps/moblab|\
- sys-apps/satlab|\
- sys-apps/upstart|\
- sys-apps/ureadahead|\
- sys-apps/usbguard|\
- sys-power/dptf|\
- sys-process/audit|\
- virtual/chromeos-firewall|\
- virtual/target-jetstream-test-root)
- return 0
- ;;
- chromeos-base/arc-keymaster) # We don't control the package name. nocheck
- return 0
- ;;
- esac
-
- return 1
-}
-
-# Require an oom score line.
-check_oom() {
- local config="$1"
- local relconfig="${config#${D}}"
-
- if ! grep -q '^oom score ' "${config}"; then
- local msg="${relconfig}: missing 'oom score' line."
- msg+=" Please see:\n ${DOC_RESOURCE_URL}"
- if known_bad_oom; then
- eqawarn "${msg}"
- else
- eerror "${msg}"
- return 1
- fi
- else
- if grep -q '^oom score *-1000' "${config}"; then
- eerror "${relconfig}: Use 'oom score never' instead."
- return 1
- fi
- fi
-
- return 0
-}
-
-# Main entry point for this hook.
-check() {
- local arg ret_oom=0
-
- for arg in "$@"; do
- if [[ -L "${arg}" ]]; then
- continue
- fi
-
- check_oom "${arg}"
- : $(( 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."
- fi
-}
-
-usage() {
- cat <<EOF
-Usage: $0 <upstart init files>
-EOF
- exit 1
-}
-
-main() {
- shopt -s nullglob
-
- if [[ -n ${D} ]]; then
- # Inside ebuild env.
- check "${D}"/etc/init/*.conf "${D}"/usr/local/etc/init/*.conf
- else
- if [[ $# -eq 0 ]]; then
- usage
- fi
- check "$@"
- fi
-}
-main "$@"