#!/bin/bash # SPDX-Version: 3.0 # SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; # SPDX-FileType: SOURCE # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework. # SPDX-PackageName: CISS.debian.live.builder # SPDX-Security-Contact: security@coresecret.eu guard_sourcing ####################################### # Check and setup Script Priorities # Globals: # BASH_SOURCE # VAR_HANDLER_PRIORITY # VAR_REIONICE_CLASS # VAR_REIONICE_PRIORITY # Arguments: # None # Returns: # 0: on success ####################################### arg_priority_check() { declare var="" printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ ๐Ÿงช %s starting ... \e[0m\n" "${BASH_SOURCE[0]}" ### Check if nice PRIORITY is set and adjust nice priority. if [[ "${VAR_HANDLER_PRIORITY:-}" -ne 0 ]]; then if command -v renice >/dev/null; then renice "${VAR_HANDLER_PRIORITY}" -p "$$" var=$(ps -o ni= -p $$) > /dev/null 2>&1 printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ โœ… New renice value: %s\e[0m\n" "${var}" else printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ โŒ renice not installed (util-linux) \e[0m\n" fi fi ### Check if ionice PRIORITY is set and adjust ionice priority. if [[ "${VAR_REIONICE_CLASS:-}" -ne 2 ]]; then if command -v ionice >/dev/null; then ionice -c"${VAR_REIONICE_CLASS:-2}" -n"${VAR_REIONICE_PRIORITY:-4}" -p "$$" var=$(ionice -p $$) > /dev/null 2>&1 printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ โœ… New ionice value: %s\e[0m\n" "${var}" else printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ โŒ ionice not installed (util-linux) \e[0m\n" fi fi printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ โœ… %s successfully applied. \e[0m\n" "${BASH_SOURCE[0]}" return 0 } ### Prevents accidental 'unset -f'. # shellcheck disable=SC2034 readonly -f arg_priority_check # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh