diff options
Diffstat (limited to 'libreboot')
-rwxr-xr-x | libreboot | 49 |
1 files changed, 43 insertions, 6 deletions
@@ -81,17 +81,17 @@ libreboot_project() { ( set +e - project_action_arguments "extract" "${project}" "$@" && return 0 - project_action_arguments "download" "${project}" "$@" && return 0 + project_action_arguments 'extract' "${project}" "$@" && return 0 + project_action_arguments 'download' "${project}" "$@" && return 0 ) ;; 'produce') - for action in "build" "install" "release"; do + for action in 'build' 'install' 'release'; do project_action_arguments "${action}" "${project}" "$@" done ;; 'test') - for action in ${PROJECT_ACTIONS}; do + for action in "${PROJECT_ACTIONS[@]}"; do project_action_arguments "${action}" "${project}" "$@" done ;; @@ -129,6 +129,8 @@ libreboot_setup() { executable="$(basename "$0")" libreboot_setup_include + libreboot_setup_tool_actions + libreboot_setup_project_actions requirements 'tar' 'sed' 'gpg' 'sha256sum' 'git' @@ -151,11 +153,43 @@ libreboot_setup_include() { fi } +libreboot_setup_tool_actions() { + local -i tool_actions_count="${#TOOL_ACTIONS_GENERIC[@]}" + local ignore="${TOOL_ACTIONS_GENERIC_IGNORE_CHECK[*]}" + + local -a tool_actions + + for ((i=0; i<"${tool_actions_count}"; i++)); do + tool_actions+=("${TOOL_ACTIONS_GENERIC[i]}") + + if [[ "${TOOL_ACTIONS_GENERIC[i]}" == !(${ignore// /|}) ]]; then + tool_actions+=("${TOOL_ACTIONS_GENERIC[i]/%/_check}") + fi + done + + TOOL_ACTIONS=("${TOOL_ACTIONS_HELPERS[@]}" "${tool_actions[@]}") +} + +libreboot_setup_project_actions() { + local -i project_actions_count="${#PROJECT_ACTIONS_GENERIC[@]}" + local ignore="${PROJECT_ACTIONS_GENERIC_IGNORE_CHECK[*]}" + + local -a project_actions + + for ((i=0; i<"${project_actions_count}"; i++)); do + project_actions+=("${PROJECT_ACTIONS_GENERIC[i]}") + + if [[ "${PROJECT_ACTIONS_GENERIC[i]}" == !(${ignore// /|}) ]]; then + project_actions+=("${PROJECT_ACTIONS_GENERIC[i]/%/_check}") + fi + done + + PROJECT_ACTIONS=("${PROJECT_ACTIONS_HELPERS[@]}" "${project_actions[@]}") +} + libreboot_setup_variables() { local vboot_tools_path="$(project_install_path 'vboot' 'tools')" local version_path="${root}/${DOTVERSION}" - local epoch_path="${root}/${DOTEPOCH}" - local rnd_seed_path="${root}/${DOTRNDSEED}" if [[ -z "${VERSION}" ]]; then if git_check "${root}"; then @@ -175,6 +209,9 @@ libreboot_setup_variables() { } libreboot_setup_reproducible_builds_variables() { + local epoch_path="${root}/${DOTEPOCH}" + local rnd_seed_path="${root}/${DOTRNDSEED}" + # Used by GCC, e.g., -frandom-seed="${RANDOM_SEED}" if [[ -z "${RANDOM_SEED}" ]]; then if [[ -f "${rnd_seed_path}" ]]; then |