V8.00.000.2025.06.17

Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
2025-07-25 10:24:03 +02:00
parent 622e341211
commit 02748b5539
5 changed files with 59 additions and 14 deletions

View File

@@ -56,8 +56,10 @@
[[ ${#} -eq 0 ]] && { [[ ${#} -eq 0 ]] && {
. ./lib/0000_usage.sh; usage >&2; exit 1; } . ./lib/0000_usage.sh; usage >&2; exit 1; }
### SOURCING MUST SET EARLY VARIABLES. SOURCING GUARD_SOURCING() ### SOURCING MUST SET EARLY VARIABLES. SOURCING COLOR_ECHO() AND GUARD_SOURCING().
. ./var/color.var.sh
. ./var/early.var.sh . ./var/early.var.sh
. ./lib/0004_color_echo.sh
. ./lib/0010_guard_sourcing.sh . ./lib/0010_guard_sourcing.sh
### CHECK FOR CONTACT, HELP, AND VERSION STRING. ### CHECK FOR CONTACT, HELP, AND VERSION STRING.
@@ -66,27 +68,34 @@ for arg in "$@"; do case "${arg,,}" in -h|--help) . ./lib/0000_usage.sh; usag
for arg in "$@"; do case "${arg,,}" in -v|--version) . ./lib/0002_version.sh; version; exit 0;; esac; done for arg in "$@"; do case "${arg,,}" in -v|--version) . ./lib/0002_version.sh; version; exit 0;; esac; done
### ALL CHECKS DONE. READY TO START THE SCRIPT. ### ALL CHECKS DONE. READY TO START THE SCRIPT.
color_echo "${BLU}" "ALL CHECKS DONE. READY TO START THE SCRIPT."
declare -grx VAR_SETUP="true" declare -grx VAR_SETUP="true"
umask 0022 umask 0022
### SOURCING FUNCTIONS, LIBRARIES, VARIABLES. ### SOURCING FUNCTIONS, LIBRARIES, VARIABLES.
if [[ "${VAR_SETUP}" == "true" ]]; then if [[ "${VAR_SETUP}" == "true" ]]; then
### SOURCING VARIABLES ### SOURCING VARIABLES
color_echo "${BLU}" "SOURCING VARIABLES."
. ./meta_loader_var.sh . ./meta_loader_var.sh
### SOURCING FUNCTIONS ### SOURCING FUNCTIONS
color_echo "${BLU}" "SOURCING FUNCTIONS."
. ./meta_loader_func.sh . ./meta_loader_func.sh
### SOURCING LIBRARIES ### SOURCING LIBRARIES
color_echo "${BLU}" "SOURCING LIBRARIES."
. ./meta_loader_lib.sh . ./meta_loader_lib.sh
fi fi
### PREPARING DIRECTORIES AND FILES ### PREPARING DIRECTORIES AND FILES.
color_echo "${BLU}" "PREPARING DIRECTORIES AND FILES."
gen_dir_files gen_dir_files
### CHECKING REQUIRED PACKAGES ### CHECKING REQUIRED PACKAGES.
color_echo "${BLU}" "CHECKING REQUIRED PACKAGES."
check_pkgs check_pkgs
check_git check_git
### ADVISORY LOCK ### ADVISORY LOCK.
color_echo "${BLU}" "ADVISORY LOCK."
exec 127>/var/lock/ciss_debian_installer.lock || { exec 127>/var/lock/ciss_debian_installer.lock || {
printf "%s❌ Cannot open lockfile for writing! Bye... %s%s" "${RED}" "${RES}" "${NL}" >&2 printf "%s❌ Cannot open lockfile for writing! Bye... %s%s" "${RED}" "${RES}" "${NL}" >&2
exit "${ERR_FLOCK_PROTECTED}" exit "${ERR_FLOCK_PROTECTED}"
@@ -97,39 +106,50 @@ if ! flock -x -n 127; then
exit "${ERR_FLOCK_COLLISION}" exit "${ERR_FLOCK_COLLISION}"
fi fi
### SCAN FOR DEBUG MODE ### SCAN FOR DEBUG MODE.
color_echo "${BLU}" "SCAN FOR DEBUG MODE."
pre_scan_debug "$@" pre_scan_debug "$@"
### CHECK FOR AUTO INSTALL MODE ### CHECK FOR AUTO INSTALL MODE.
color_echo "${BLU}" "CHECK FOR AUTO INSTALL MODE."
for arg in "$@"; do case "${arg,,}" in -a|--autoinstall) declare -gx VAR_AUTO_INSTALL="true";; esac; done; unset arg for arg in "$@"; do case "${arg,,}" in -a|--autoinstall) declare -gx VAR_AUTO_INSTALL="true";; esac; done; unset arg
### ACTIVATING TRAPS ### ACTIVATING TRAPS.
color_echo "${BLU}" "ACTIVATING TRAPS."
trap 'trap_exit "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' EXIT trap 'trap_exit "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' EXIT
trap 'trap_int' INT TERM trap 'trap_int' INT TERM
trap 'trap_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR trap 'trap_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR
### INTERACTIVE MODE NOTES AND KERNEL SELECTION ### INTERACTIVE MODE NOTES AND KERNEL SELECTION.
# TODO: Update 0110_check_kernel.sh & sourcing # TODO: Update 0110_check_kernel.sh & sourcing
# TODO: Update 0120_check_provider.sh & sourcing # TODO: Update 0120_check_provider.sh & sourcing
#if ! "${VAR_AUTO_INSTALL}"; then check_provider; fi #if ! "${VAR_AUTO_INSTALL}"; then check_provider; fi
#if ! "${VAR_AUTO_INSTALL}"; then check_kernel; fi #if ! "${VAR_AUTO_INSTALL}"; then check_kernel; fi
# TODO: Implement Debian Style Gauge Bar as Alternative Dialog Wrapper # TODO: Implement Debian Style Gauge Bar as Alternative Dialog Wrapper
### Dialog Output for Initialization START ### Dialog Output for Initialization START.
color_echo "${BLU}" "Dialog Output for Initialization START."
if ! "${VAR_AUTO_INSTALL}"; then . ./lib/0200_dialog_helper.sh && dialog_box; fi if ! "${VAR_AUTO_INSTALL}"; then . ./lib/0200_dialog_helper.sh && dialog_box; fi
### ARGUMENT CHECKS.
color_echo "${BLU}" "ARGUMENT CHECKS."
arg_check "$@" arg_check "$@"
declare -ar ARY_ARG_SANITIZED=("$@") declare -ar ARY_ARG_SANITIZED=("$@")
declare -grx VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}" declare -grx VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}"
VAR_PARAM_STRNG
### ARGUMENT PARSING.
color_echo "${BLU}" "ARGUMENT PARSING."
arg_parser "$@" arg_parser "$@"
### MAIN PROGRAM SEQUENCE ### PRIORITY UPDATES.
color_echo "${BLU}" "PRIORITY UPDATES."
arg_priority_check arg_priority_check
### MAIN PROGRAM SEQUENCE
color_echo "${BLU}" "YAML PARSER."
yaml_parser yaml_parser
# TODO: Check till line #130 ok.
color_echo "${BLU}" "YAML READER."
yaml_reader yaml_reader
# TODO: Implement / Activate IP, Port validation # TODO: Implement / Activate IP, Port validation

25
lib/0004_color_echo.sh Normal file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# 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.installer
# SPDX-Security-Contact: security@coresecret.eu
#######################################
# Print-colored text.
# Arguments:
# 1: Color code.
# *: Text to print.
#######################################
color_echo() {
declare c="$1"
shift
declare msg="${*}"
printf "%s[INFO]%s %s%s.%s%s" "${c}" "${RES}" "${WHI}" "${msg}" "${RES}" "${NL}"
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,7 +10,7 @@
# SPDX-PackageName: CISS.debian.installer # SPDX-PackageName: CISS.debian.installer
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
. ./var/colors.var.sh . ./var/color.var.sh
. ./var/errors.var.sh . ./var/errors.var.sh
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -11,7 +11,7 @@
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
. ./var/bash.var.sh . ./var/bash.var.sh
. ./var/colors.var.sh . ./var/color.var.sh
. ./var/errors.var.sh . ./var/errors.var.sh
. ./var/global.var.sh . ./var/global.var.sh
. ./var/terminal.var.sh . ./var/terminal.var.sh