From 82f2b241b2a9e97e6a771b40cea9079bcc42855b Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:18:43 +0200 Subject: [PATCH 01/40] spcd/error --- spcd/main.sh | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 6537eee..a76c3aa 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -870,6 +870,22 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" "${SPCD_PYTHON_ALIAS}" -m "${spcd_stp__name}" } +# ╭───────────┬───────╮ +# │ functions │ error │ +# ╰───────────┴───────╯ + +spcd_error_ci() { + echo "× CI: ${*}" + exit "${SPCD_ERROR_CI}" +} + +spcd_error_os() { + spcd_error_os__variable="${1}" + printf "× OS: " + spcd_echo "${spcd_error_os__variable}" + exit "${SPCD_ERROR_OS}" +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -918,18 +934,6 @@ spcd_echo() { fi } -spcd_error_ci() { - echo "× CI: ${*}" - exit "${SPCD_ERROR_CI}" -} - -spcd_error_os() { - spcd_error_os__variable="${1}" - printf "× OS: " - spcd_echo "${spcd_error_os__variable}" - exit "${SPCD_ERROR_OS}" -} - spcd_git_clone() { if [ -n "${1}" ]; then spcd_gc__name="$(basename "${1}")" @@ -1064,9 +1068,6 @@ SPCD_BOX_RIGHT="╶" SPCD_BOX_UP="╰" SPCD_BOX_VERTICAL="│" -SPCD_ERROR_CI=1 -SPCD_ERROR_OS=2 - SPCD_OS_ALMA="alma" SPCD_OS_ALPINE="alpine" SPCD_OS_ARCH="arch" @@ -1216,6 +1217,13 @@ spcd_banner_unset() { SPCD_BANNER_BOTTOM } +# ╭──────────┬───────╮ +# │ internal │ error │ +# ╰──────────┴───────╯ + +SPCD_ERROR_CI=1 +SPCD_ERROR_OS=2 + # ╭──────────┬──────╮ # │ internal │ step │ # ╰──────────┴──────╯ From 85095733602be6a735e8509ec4649462ff7c1bb6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:23:06 +0200 Subject: [PATCH 02/40] spcd/git --- spcd/main.sh | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index a76c3aa..b55d80a 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -886,6 +886,30 @@ spcd_error_os() { exit "${SPCD_ERROR_OS}" } +# ╭───────────┬─────╮ +# │ functions │ git │ +# ╰───────────┴─────╯ + +spcd_git_clone() { + if [ -n "${1}" ]; then + spcd_gc__name="$(basename "${1}")" + spcd_gc__path="${SPCD_DL}/${spcd_gc__name}" + spcd_gc__url="$(spcd_git_url "${1}")" + git clone "${spcd_gc__url}" "${spcd_gc__path}" + echo "${spcd_gc__path}" + fi +} + +spcd_git_url() { + if [ -n "${1}" ]; then + case "${1}" in + http*) echo "${1}" ;; + */*) echo "${SPCD_PROJECT_ROOT}/${1}" ;; + *) echo "${SPCD_PROJECT_ROOT}/${SPCD_PROJECT_PATH}/${1}" ;; + esac + fi +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -934,26 +958,6 @@ spcd_echo() { fi } -spcd_git_clone() { - if [ -n "${1}" ]; then - spcd_gc__name="$(basename "${1}")" - spcd_gc__path="${SPCD_DL}/${spcd_gc__name}" - spcd_gc__url="$(spcd_git_url "${1}")" - git clone "${spcd_gc__url}" "${spcd_gc__path}" - echo "${spcd_gc__path}" - fi -} - -spcd_git_url() { - if [ -n "${1}" ]; then - case "${1}" in - http*) echo "${1}" ;; - */*) echo "${SPCD_PROJECT_ROOT}/${1}" ;; - *) echo "${SPCD_PROJECT_ROOT}/${SPCD_PROJECT_PATH}/${1}" ;; - esac - fi -} - spcd_grep_os() { spcd_grep_os__variable="${1}" [ -n "${spcd_grep_os__variable}" ] && From 721ee6f6f22aa061e571fca513ec084c520b2950 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:28:31 +0200 Subject: [PATCH 03/40] mv --- spcd/main.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index b55d80a..2834635 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -910,6 +910,18 @@ spcd_git_url() { fi } +# ╭───────────┬────╮ +# │ functions │ os │ +# ╰───────────┴────╯ + +spcd_grep_os() { + spcd_grep_os__variable="${1}" + [ -n "${spcd_grep_os__variable}" ] && + grep "^${spcd_grep_os__variable}=" "/etc/os-release" | + sed "s|^${spcd_grep_os__variable}=||" | + sed "s|^\"\(.*\)\"$|\1|" +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -958,14 +970,6 @@ spcd_echo() { fi } -spcd_grep_os() { - spcd_grep_os__variable="${1}" - [ -n "${spcd_grep_os__variable}" ] && - grep "^${spcd_grep_os__variable}=" "/etc/os-release" | - sed "s|^${spcd_grep_os__variable}=||" | - sed "s|^\"\(.*\)\"$|\1|" -} - spcd_install_package() { spcd_install_package__name="${1}" if [ -n "${spcd_install_package__name}" ]; then From fce1d0b1a75bb9ac7f4477c1f3bf278a5a24c577 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:32:00 +0200 Subject: [PATCH 04/40] spcd_os_grep --- spcd/main.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 2834635..394b14c 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -161,7 +161,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_PATH="$(realpath "${0}")" spcd_echo "SPCD_PATH" # set operating system id - SPCD_OS_ID="$(spcd_grep_os ID)" + SPCD_OS_ID="$(spcd_os_grep ID)" case "${SPCD_OS_ID}" in "almalinux") SPCD_OS_ID="${SPCD_OS_ALMA}" ;; "alpine") SPCD_OS_ID="${SPCD_OS_ALPINE}" ;; @@ -177,15 +177,15 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}" | \ "${SPCD_OS_ARCH}") - SPCD_OS_VERSION=$(spcd_grep_os VERSION_ID | + SPCD_OS_VERSION=$(spcd_os_grep VERSION_ID | sed "s|^\([0-9]\+\)\..*|\1|") ;; "${SPCD_OS_ALPINE}" | "${SPCD_OS_OPENSUSE}") - SPCD_OS_VERSION=$(spcd_grep_os VERSION_ID | + SPCD_OS_VERSION=$(spcd_os_grep VERSION_ID | sed "s|^\([0-9]\+\.[0-9]\+\)\..*|\1|") ;; "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - SPCD_OS_VERSION="$(spcd_grep_os VERSION_CODENAME)" + SPCD_OS_VERSION="$(spcd_os_grep VERSION_CODENAME)" ;; *) ;; esac @@ -914,11 +914,11 @@ spcd_git_url() { # │ functions │ os │ # ╰───────────┴────╯ -spcd_grep_os() { - spcd_grep_os__variable="${1}" - [ -n "${spcd_grep_os__variable}" ] && - grep "^${spcd_grep_os__variable}=" "/etc/os-release" | - sed "s|^${spcd_grep_os__variable}=||" | +spcd_os_grep() { + spcd_os_grep__variable="${1}" + [ -n "${spcd_os_grep__variable}" ] && + grep "^${spcd_os_grep__variable}=" "/etc/os-release" | + sed "s|^${spcd_os_grep__variable}=||" | sed "s|^\"\(.*\)\"$|\1|" } From 35d332a95601a566e309bbb2ef17c7dfd0fba159 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:35:21 +0200 Subject: [PATCH 05/40] mv --- spcd/main.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 394b14c..0ca5b2a 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -922,6 +922,14 @@ spcd_os_grep() { sed "s|^\"\(.*\)\"$|\1|" } +spcd_mkdir() { + spcd_mkdir__path="${1}" + if [ -n "${spcd_mkdir__path}" ]; then + echo "→ ${spcd_mkdir__path}" + mkdir --parents "${spcd_mkdir__path}" || exit + fi +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -996,14 +1004,6 @@ spcd_ls() { fi } -spcd_mkdir() { - spcd_mkdir__path="${1}" - if [ -n "${spcd_mkdir__path}" ]; then - echo "→ ${spcd_mkdir__path}" - mkdir --parents "${spcd_mkdir__path}" || exit - fi -} - spcd_open() { echo "${SPCD_OPEN}${*}" } From 774b7f84e516009abdc3b4856b89d2a1f2fa147c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:37:39 +0200 Subject: [PATCH 06/40] spcd_os_mkdir --- spcd/main.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 0ca5b2a..91d6e82 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -643,7 +643,7 @@ spcd_set_packages_configuration() { spcd_set_https_verification_off() { if [ -n "${SPCD_CA}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then spcd_step "Set HTTPS verification off" - spcd_mkdir "$(dirname "${SPCD_PM_HTTPS_PATH}")" + spcd_os_mkdir "$(dirname "${SPCD_PM_HTTPS_PATH}")" spcd_write "${SPCD_PM_HTTPS_PATH}" "${SPCD_PM_HTTPS_TEXT}" fi } @@ -682,7 +682,7 @@ spcd_install_ca_certificates() { spcd_write_ca_certificates() { spcd_step "Write CA certificates" - spcd_mkdir "${SPCD_CA_ROOT}" + spcd_os_mkdir "${SPCD_CA_ROOT}" while true; do spcd_wcc__index=$((spcd_wcc__index + 1)) eval "spcd_wcc__text=\"\${SPCD_CA_${spcd_wcc__index}}\"" @@ -922,11 +922,11 @@ spcd_os_grep() { sed "s|^\"\(.*\)\"$|\1|" } -spcd_mkdir() { - spcd_mkdir__path="${1}" - if [ -n "${spcd_mkdir__path}" ]; then - echo "→ ${spcd_mkdir__path}" - mkdir --parents "${spcd_mkdir__path}" || exit +spcd_os_mkdir() { + spcd_os_mkdir__path="${1}" + if [ -n "${spcd_os_mkdir__path}" ]; then + echo "→ ${spcd_os_mkdir__path}" + mkdir --parents "${spcd_os_mkdir__path}" fi } From 33839764376cb1b48996cfb863ac18dbedfd9d89 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:57:50 +0200 Subject: [PATCH 07/40] mv --- spcd/main.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 91d6e82..8ec3d47 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -930,6 +930,14 @@ spcd_os_mkdir() { fi } +spcd_rm() { + spcd_rm__path="${1}" + if [ -e "${spcd_rm__path}" ]; then + echo "← ${spcd_rm__path}" + rm -r "${spcd_rm__path}" || exit + fi +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -1029,14 +1037,6 @@ spcd_pip_install() { fi } -spcd_rm() { - spcd_rm__path="${1}" - if [ -e "${spcd_rm__path}" ]; then - echo "← ${spcd_rm__path}" - rm -r "${spcd_rm__path}" || exit - fi -} - spcd_sed() { spcd_sed__file="${1}" shift From cce51abc00f69beba3600c2169e2a7d3bf1626aa Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 19:59:27 +0200 Subject: [PATCH 08/40] spcd_os_rm --- spcd/main.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 8ec3d47..a0d31de 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -705,7 +705,7 @@ spcd_update_ca_certificates() { spcd_set_https_verification_on() { spcd_step "Set HTTPS verification on" - spcd_rm "${SPCD_PM_HTTPS_PATH}" + spcd_os_rm "${SPCD_PM_HTTPS_PATH}" } spcd_upgrade_packages() { @@ -930,11 +930,11 @@ spcd_os_mkdir() { fi } -spcd_rm() { - spcd_rm__path="${1}" - if [ -e "${spcd_rm__path}" ]; then - echo "← ${spcd_rm__path}" - rm -r "${spcd_rm__path}" || exit +spcd_os_rm() { + spcd_os_rm__path="${1}" + if [ -e "${spcd_os_rm__path}" ]; then + echo "← ${spcd_os_rm__path}" + rm -r "${spcd_os_rm__path}" || exit fi } From 5b1aa53adfba053c61a09600a4512c4b4d755d4d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 20:18:05 +0200 Subject: [PATCH 09/40] python/modules --- spcd/main.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index a0d31de..9f2d1b6 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -756,13 +756,14 @@ index-url = ${SPCD_URL_PYTHON} } spcd_install_python_modules() { - spcd_step "Install Python modules" + spcd_step_in "Install Python modules" spcd_ipm__target="${SPCD_PYTHON_VENV_PACKAGES}" + spcd_step "List" spcd_ls "${spcd_ipm__target}" - spcd_split + spcd_step "Main" spcd_ipm__path="$(spcd_pip_install "${SPCD_GIT_MAIN}")" # check matching of file and variable - spcd_split + spcd_step "Check" spcd_ipm__script="${spcd_ipm__path}/main.sh" ls -l "${spcd_ipm__script}" spcd_ipm__check="${spcd_ipm__script}.${SPCD_CMD_SUM}" @@ -772,10 +773,11 @@ spcd_install_python_modules() { dos2unix "${spcd_ipm__script}" ls -l "${spcd_ipm__script}" "${SPCD_CMD_SUM}" -c "${spcd_ipm__check}" || spcd_error_ci "SPCD" - spcd_split + spcd_step "Root" spcd_pip_install "${SPCD_GIT_ROOT}" - spcd_split + spcd_step "List" spcd_ls "${spcd_ipm__target}" + spcd_step_out } spcd_install_packages() { From b618dd5e5782d34ffa3e5dedafa908bf2d6071cd Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:06:03 +0200 Subject: [PATCH 10/40] =?UTF-8?q?=E2=88=92install?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/main.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 9f2d1b6..086d5ba 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -756,7 +756,7 @@ index-url = ${SPCD_URL_PYTHON} } spcd_install_python_modules() { - spcd_step_in "Install Python modules" + spcd_step_in "Python modules" spcd_ipm__target="${SPCD_PYTHON_VENV_PACKAGES}" spcd_step "List" spcd_ls "${spcd_ipm__target}" @@ -781,9 +781,9 @@ spcd_install_python_modules() { } spcd_install_packages() { - spcd_step_in "Install packages" + spcd_step_in "OS packages" # epel - spcd_step "Install EPEL" + spcd_step "EPEL" case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") spcd_install_package "epel-release" @@ -797,13 +797,13 @@ spcd_install_packages() { *) ;; esac # bats - spcd_step "Install BATS" + spcd_step "BATS" spcd_install_package "bats" # graphviz - spcd_step "Install GraphViz" + spcd_step "GraphViz" spcd_install_package "graphviz" # openssh - spcd_step "Install OpenSSH" + spcd_step "OpenSSH" case "${SPCD_PM}" in "${SPCD_PM_APK}" | "${SPCD_PM_APT}") spcd_install_package "openssh-client" @@ -815,13 +815,13 @@ spcd_install_packages() { *) ;; esac # plantuml - spcd_step "Install PlantUML" + spcd_step "PlantUML" spcd_install_package "plantuml" # rsync - spcd_step "Install Rsync" + spcd_step "Rsync" spcd_install_package "rsync" # shell check - spcd_step "Install ShellCheck" + spcd_step "ShellCheck" case "${SPCD_PF}" in "${SPCD_PF_RPM}") spcd_install_package "ShellCheck" @@ -829,7 +829,7 @@ spcd_install_packages() { *) spcd_install_package "shellcheck" ;; esac # shfmt - spcd_step "Install ShellFormat" + spcd_step "ShellFormat" case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") ;; "${SPCD_OS_DEBIAN}") From 0f0bcf51dbc467533dae5e2cac5dc9626fff3035 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:12:08 +0200 Subject: [PATCH 11/40] defaults --- spcd/main.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spcd/main.sh b/spcd/main.sh index 086d5ba..2e5e07c 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1,6 +1,9 @@ #! /usr/bin/env sh -# defaults +# ╭──────────╮ +# │ defaults │ +# ╰──────────╯ + [ -n "${SPCD_CMD_SUM}" ] || SPCD_CMD_SUM="sha512sum" [ -n "${SPCD_DNS_1}" ] || SPCD_DNS_1="9.9.9.9" [ -n "${SPCD_GIT_MAIN}" ] || SPCD_GIT_MAIN="spcd" From 1d99abf92a985d010d1e4b187a71d3acbe34af05 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:13:49 +0200 Subject: [PATCH 12/40] main --- spcd/main.sh | 70 +++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 2e5e07c..9166e9a 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -31,40 +31,6 @@ [ -n "${SPCD_URL_UBUNTU}" ] || SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net" -# ╭───────╮ -# │ steps │ -# ╰───────╯ - -spcd_main() { - # env - spcd_set_environment_variables - spcd_list_working_directory - # pkg - spcd_set_packages_repositories - spcd_set_packages_configuration - # - spcd_set_https_verification_off - spcd_set_dns_resolving - spcd_update_packages_catalog - spcd_install_packages_tools - # ca - spcd_install_ca_certificates - spcd_write_ca_certificates - spcd_update_ca_certificates - # pkg - spcd_set_https_verification_on - spcd_update_packages_catalog - spcd_upgrade_packages - spcd_install_dos2unix - spcd_install_git - # python - spcd_install_python - spcd_install_python_modules - spcd_install_packages - spcd_write_python_module - spcd_switch_to_python -} - # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ @@ -1249,8 +1215,38 @@ spcd_step_wipe() { "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" } -# ╭──────────╮ -# │ internal │ -# ╰──────────╯ +# ╭──────╮ +# │ main │ +# ╰──────╯ + +spcd_main() { + # env + spcd_set_environment_variables + spcd_list_working_directory + # pkg + spcd_set_packages_repositories + spcd_set_packages_configuration + # + spcd_set_https_verification_off + spcd_set_dns_resolving + spcd_update_packages_catalog + spcd_install_packages_tools + # ca + spcd_install_ca_certificates + spcd_write_ca_certificates + spcd_update_ca_certificates + # pkg + spcd_set_https_verification_on + spcd_update_packages_catalog + spcd_upgrade_packages + spcd_install_dos2unix + spcd_install_git + # python + spcd_install_python + spcd_install_python_modules + spcd_install_packages + spcd_write_python_module + spcd_switch_to_python +} spcd_main From b6eb01bb34f7266da9d1e250bf741a8e617a40e6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:17:31 +0200 Subject: [PATCH 13/40] internal --- spcd/main.sh | 276 +++++++++++++++++++++++++-------------------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 9166e9a..b9288c5 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -31,6 +31,144 @@ [ -n "${SPCD_URL_UBUNTU}" ] || SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net" +# ╭──────────╮ +# │ internal │ +# ╰──────────╯ + +spcd_fill() { + spcd_fill__index=${1} + while [ "${spcd_fill__index}" -gt 0 ]; do + printf "%s" "${2}" + spcd_fill__index=$((spcd_fill__index - 1)) + done +} + +# ╭──────────┬────────╮ +# │ internal │ banner │ +# ╰──────────┴────────╯ + +SPCD_BANNER_DOWN_AND_HORIZONTAL="┬" +SPCD_BANNER_DOWN_AND_LEFT="╮" +SPCD_BANNER_DOWN_AND_RIGHT="╭" +SPCD_BANNER_HORIZONTAL="─" +SPCD_BANNER_UP_AND_HORIZONTAL="┴" +SPCD_BANNER_UP_AND_LEFT="╯" +SPCD_BANNER_UP_AND_RIGHT="╰" +SPCD_BANNER_VERTICAL="│" + +spcd_banner_add() { + if [ -n "${1}" ]; then + spcd_ba__text=" ${1} " + spcd_ba__length=${#spcd_ba__text} + spcd_ba__filler="$( + spcd_fill "${spcd_ba__length}" "${SPCD_BANNER_HORIZONTAL}" + )" + if [ -n "${SPCD_BANNER_MIDDLE}" ]; then + spcd_banner_split + else + spcd_banner_open + fi + spcd_banner_append \ + "${spcd_ba__filler}" "${spcd_ba__text}" "${spcd_ba__filler}" + fi +} + +spcd_banner_add_index() { + unset spcd_bai__label + unset spcd_bai__level + while true; do + spcd_bai__level=$((spcd_bai__level + 1)) + eval "spcd_bai__value=\"\${SPCD_STEP_${spcd_bai__level}_INDEX}\"" + [ -n "${spcd_bai__value}" ] || break + if [ -n "${spcd_bai__label}" ]; then + spcd_bai__label="${spcd_bai__label}.${spcd_bai__value}" + else + spcd_bai__label="${spcd_bai__value}" + fi + done + spcd_banner_add "${spcd_bai__label}" +} + +spcd_banner_append() { + if [ -n "${3}" ]; then + SPCD_BANNER_TOP="${SPCD_BANNER_TOP}${1}" + SPCD_BANNER_MIDDLE="${SPCD_BANNER_MIDDLE}${2}" + SPCD_BANNER_BOTTOM="${SPCD_BANNER_BOTTOM}${3}" + fi +} + +spcd_banner_close() { + spcd_banner_append \ + "${SPCD_BANNER_DOWN_AND_LEFT}" \ + "${SPCD_BANNER_VERTICAL}" \ + "${SPCD_BANNER_UP_AND_LEFT}" +} + +spcd_banner_echo() { + echo "\ +${SPCD_BANNER_TOP} +${SPCD_BANNER_MIDDLE} +${SPCD_BANNER_BOTTOM}" +} + +spcd_banner_open() { + spcd_banner_append \ + "${SPCD_BANNER_DOWN_AND_RIGHT}" \ + "${SPCD_BANNER_VERTICAL}" \ + "${SPCD_BANNER_UP_AND_RIGHT}" +} + +spcd_banner_render() { + spcd_banner_unset + spcd_banner_add_index + spcd_banner_add "S" + # + unset spcd_br__level + while true; do + spcd_br__level=$((spcd_br__level + 1)) + eval "spcd_br__value=\"\${SPCD_STEP_${spcd_br__level}_LABEL}\"" + [ -n "${spcd_br__value}" ] || break + spcd_banner_add "${spcd_br__value}" + done + # + spcd_banner_close + spcd_banner_echo + spcd_banner_unset +} + +spcd_banner_split() { + spcd_banner_append \ + "${SPCD_BANNER_DOWN_AND_HORIZONTAL}" \ + "${SPCD_BANNER_VERTICAL}" \ + "${SPCD_BANNER_UP_AND_HORIZONTAL}" +} + +spcd_banner_unset() { + unset \ + SPCD_BANNER_TOP \ + SPCD_BANNER_MIDDLE \ + SPCD_BANNER_BOTTOM +} + +# ╭──────────┬───────╮ +# │ internal │ error │ +# ╰──────────┴───────╯ + +SPCD_ERROR_CI=1 +SPCD_ERROR_OS=2 + +# ╭──────────┬──────╮ +# │ internal │ step │ +# ╰──────────┴──────╯ + +SPCD_STEP_LEVEL=1 + +spcd_step_wipe() { + unset \ + "SPCD_STEP_${SPCD_STEP_LEVEL}_INDEX" \ + "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" +} + # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ @@ -1077,144 +1215,6 @@ SPCD_VERT="${SPCD_BOX_VERTICAL}" SPCD_SPLT="${SPCD_BOX_RIGHT}${SPCD_HORIZONTAL}" SPCD_SHUT="${SPCD_BOX_UP}${SPCD_BOX_LEFT}" -# ╭──────────╮ -# │ internal │ -# ╰──────────╯ - -spcd_fill() { - spcd_fill__index=${1} - while [ "${spcd_fill__index}" -gt 0 ]; do - printf "%s" "${2}" - spcd_fill__index=$((spcd_fill__index - 1)) - done -} - -# ╭──────────┬────────╮ -# │ internal │ banner │ -# ╰──────────┴────────╯ - -SPCD_BANNER_DOWN_AND_HORIZONTAL="┬" -SPCD_BANNER_DOWN_AND_LEFT="╮" -SPCD_BANNER_DOWN_AND_RIGHT="╭" -SPCD_BANNER_HORIZONTAL="─" -SPCD_BANNER_UP_AND_HORIZONTAL="┴" -SPCD_BANNER_UP_AND_LEFT="╯" -SPCD_BANNER_UP_AND_RIGHT="╰" -SPCD_BANNER_VERTICAL="│" - -spcd_banner_add() { - if [ -n "${1}" ]; then - spcd_ba__text=" ${1} " - spcd_ba__length=${#spcd_ba__text} - spcd_ba__filler="$( - spcd_fill "${spcd_ba__length}" "${SPCD_BANNER_HORIZONTAL}" - )" - if [ -n "${SPCD_BANNER_MIDDLE}" ]; then - spcd_banner_split - else - spcd_banner_open - fi - spcd_banner_append \ - "${spcd_ba__filler}" "${spcd_ba__text}" "${spcd_ba__filler}" - fi -} - -spcd_banner_add_index() { - unset spcd_bai__label - unset spcd_bai__level - while true; do - spcd_bai__level=$((spcd_bai__level + 1)) - eval "spcd_bai__value=\"\${SPCD_STEP_${spcd_bai__level}_INDEX}\"" - [ -n "${spcd_bai__value}" ] || break - if [ -n "${spcd_bai__label}" ]; then - spcd_bai__label="${spcd_bai__label}.${spcd_bai__value}" - else - spcd_bai__label="${spcd_bai__value}" - fi - done - spcd_banner_add "${spcd_bai__label}" -} - -spcd_banner_append() { - if [ -n "${3}" ]; then - SPCD_BANNER_TOP="${SPCD_BANNER_TOP}${1}" - SPCD_BANNER_MIDDLE="${SPCD_BANNER_MIDDLE}${2}" - SPCD_BANNER_BOTTOM="${SPCD_BANNER_BOTTOM}${3}" - fi -} - -spcd_banner_close() { - spcd_banner_append \ - "${SPCD_BANNER_DOWN_AND_LEFT}" \ - "${SPCD_BANNER_VERTICAL}" \ - "${SPCD_BANNER_UP_AND_LEFT}" -} - -spcd_banner_echo() { - echo "\ -${SPCD_BANNER_TOP} -${SPCD_BANNER_MIDDLE} -${SPCD_BANNER_BOTTOM}" -} - -spcd_banner_open() { - spcd_banner_append \ - "${SPCD_BANNER_DOWN_AND_RIGHT}" \ - "${SPCD_BANNER_VERTICAL}" \ - "${SPCD_BANNER_UP_AND_RIGHT}" -} - -spcd_banner_render() { - spcd_banner_unset - spcd_banner_add_index - spcd_banner_add "S" - # - unset spcd_br__level - while true; do - spcd_br__level=$((spcd_br__level + 1)) - eval "spcd_br__value=\"\${SPCD_STEP_${spcd_br__level}_LABEL}\"" - [ -n "${spcd_br__value}" ] || break - spcd_banner_add "${spcd_br__value}" - done - # - spcd_banner_close - spcd_banner_echo - spcd_banner_unset -} - -spcd_banner_split() { - spcd_banner_append \ - "${SPCD_BANNER_DOWN_AND_HORIZONTAL}" \ - "${SPCD_BANNER_VERTICAL}" \ - "${SPCD_BANNER_UP_AND_HORIZONTAL}" -} - -spcd_banner_unset() { - unset \ - SPCD_BANNER_TOP \ - SPCD_BANNER_MIDDLE \ - SPCD_BANNER_BOTTOM -} - -# ╭──────────┬───────╮ -# │ internal │ error │ -# ╰──────────┴───────╯ - -SPCD_ERROR_CI=1 -SPCD_ERROR_OS=2 - -# ╭──────────┬──────╮ -# │ internal │ step │ -# ╰──────────┴──────╯ - -SPCD_STEP_LEVEL=1 - -spcd_step_wipe() { - unset \ - "SPCD_STEP_${SPCD_STEP_LEVEL}_INDEX" \ - "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" -} - # ╭──────╮ # │ main │ # ╰──────╯ From c84480bc82e847360422d253ad65509010bf8323 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:21:09 +0200 Subject: [PATCH 14/40] functions --- spcd/main.sh | 186 +++++++++++++++++++++++++-------------------------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index b9288c5..6477e9f 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -169,6 +169,99 @@ spcd_step_wipe() { "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" } +# ╭───────────┬───────╮ +# │ functions │ error │ +# ╰───────────┴───────╯ + +spcd_error_ci() { + echo "× CI: ${*}" + exit "${SPCD_ERROR_CI}" +} + +spcd_error_os() { + spcd_error_os__variable="${1}" + printf "× OS: " + spcd_echo "${spcd_error_os__variable}" + exit "${SPCD_ERROR_OS}" +} + +# ╭───────────┬─────╮ +# │ functions │ git │ +# ╰───────────┴─────╯ + +spcd_git_clone() { + if [ -n "${1}" ]; then + spcd_gc__name="$(basename "${1}")" + spcd_gc__path="${SPCD_DL}/${spcd_gc__name}" + spcd_gc__url="$(spcd_git_url "${1}")" + git clone "${spcd_gc__url}" "${spcd_gc__path}" + echo "${spcd_gc__path}" + fi +} + +spcd_git_url() { + if [ -n "${1}" ]; then + case "${1}" in + http*) echo "${1}" ;; + */*) echo "${SPCD_PROJECT_ROOT}/${1}" ;; + *) echo "${SPCD_PROJECT_ROOT}/${SPCD_PROJECT_PATH}/${1}" ;; + esac + fi +} + +# ╭───────────┬────╮ +# │ functions │ os │ +# ╰───────────┴────╯ + +spcd_os_grep() { + spcd_os_grep__variable="${1}" + [ -n "${spcd_os_grep__variable}" ] && + grep "^${spcd_os_grep__variable}=" "/etc/os-release" | + sed "s|^${spcd_os_grep__variable}=||" | + sed "s|^\"\(.*\)\"$|\1|" +} + +spcd_os_mkdir() { + spcd_os_mkdir__path="${1}" + if [ -n "${spcd_os_mkdir__path}" ]; then + echo "→ ${spcd_os_mkdir__path}" + mkdir --parents "${spcd_os_mkdir__path}" + fi +} + +spcd_os_rm() { + spcd_os_rm__path="${1}" + if [ -e "${spcd_os_rm__path}" ]; then + echo "← ${spcd_os_rm__path}" + rm -r "${spcd_os_rm__path}" || exit + fi +} + +# ╭───────────┬──────╮ +# │ functions │ step │ +# ╰───────────┴──────╯ + +spcd_step() { + if [ -n "${1}" ]; then + spcd_step__prefix="SPCD_STEP_${SPCD_STEP_LEVEL}" + spcd_step__index="${spcd_step__prefix}_INDEX" + eval "${spcd_step__index}=\$((${spcd_step__index} + 1))" + eval "${spcd_step__prefix}_LABEL=\"${1}\"" + spcd_banner_render + fi +} + +spcd_step_in() { + [ -n "${1}" ] && spcd_step "${1}" + SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL + 1)) + spcd_step_wipe +} + +spcd_step_out() { + spcd_step_wipe + SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL - 1)) +} + # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ @@ -979,99 +1072,6 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" "${SPCD_PYTHON_ALIAS}" -m "${spcd_stp__name}" } -# ╭───────────┬───────╮ -# │ functions │ error │ -# ╰───────────┴───────╯ - -spcd_error_ci() { - echo "× CI: ${*}" - exit "${SPCD_ERROR_CI}" -} - -spcd_error_os() { - spcd_error_os__variable="${1}" - printf "× OS: " - spcd_echo "${spcd_error_os__variable}" - exit "${SPCD_ERROR_OS}" -} - -# ╭───────────┬─────╮ -# │ functions │ git │ -# ╰───────────┴─────╯ - -spcd_git_clone() { - if [ -n "${1}" ]; then - spcd_gc__name="$(basename "${1}")" - spcd_gc__path="${SPCD_DL}/${spcd_gc__name}" - spcd_gc__url="$(spcd_git_url "${1}")" - git clone "${spcd_gc__url}" "${spcd_gc__path}" - echo "${spcd_gc__path}" - fi -} - -spcd_git_url() { - if [ -n "${1}" ]; then - case "${1}" in - http*) echo "${1}" ;; - */*) echo "${SPCD_PROJECT_ROOT}/${1}" ;; - *) echo "${SPCD_PROJECT_ROOT}/${SPCD_PROJECT_PATH}/${1}" ;; - esac - fi -} - -# ╭───────────┬────╮ -# │ functions │ os │ -# ╰───────────┴────╯ - -spcd_os_grep() { - spcd_os_grep__variable="${1}" - [ -n "${spcd_os_grep__variable}" ] && - grep "^${spcd_os_grep__variable}=" "/etc/os-release" | - sed "s|^${spcd_os_grep__variable}=||" | - sed "s|^\"\(.*\)\"$|\1|" -} - -spcd_os_mkdir() { - spcd_os_mkdir__path="${1}" - if [ -n "${spcd_os_mkdir__path}" ]; then - echo "→ ${spcd_os_mkdir__path}" - mkdir --parents "${spcd_os_mkdir__path}" - fi -} - -spcd_os_rm() { - spcd_os_rm__path="${1}" - if [ -e "${spcd_os_rm__path}" ]; then - echo "← ${spcd_os_rm__path}" - rm -r "${spcd_os_rm__path}" || exit - fi -} - -# ╭───────────┬──────╮ -# │ functions │ step │ -# ╰───────────┴──────╯ - -spcd_step() { - if [ -n "${1}" ]; then - spcd_step__prefix="SPCD_STEP_${SPCD_STEP_LEVEL}" - spcd_step__index="${spcd_step__prefix}_INDEX" - eval "${spcd_step__index}=\$((${spcd_step__index} + 1))" - eval "${spcd_step__prefix}_LABEL=\"${1}\"" - spcd_banner_render - fi -} - -spcd_step_in() { - [ -n "${1}" ] && spcd_step "${1}" - SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL + 1)) - spcd_step_wipe -} - -spcd_step_out() { - spcd_step_wipe - SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL - 1)) -} - # ╭───────────╮ # │ functions │ # ╰───────────╯ From 161dd791f05138d4566c8649fc37a2797f8ed6ac Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:28:50 +0200 Subject: [PATCH 15/40] spcd_os_printenv --- spcd/main.sh | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 6477e9f..d1d782f 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -181,7 +181,7 @@ spcd_error_ci() { spcd_error_os() { spcd_error_os__variable="${1}" printf "× OS: " - spcd_echo "${spcd_error_os__variable}" + spcd_os_printenv "${spcd_error_os__variable}" exit "${SPCD_ERROR_OS}" } @@ -355,11 +355,11 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" [ -n "${SPCD_PROJECT_PATH}" ] || spcd_error_ci "SPCD_PROJECT_PATH" [ -n "${SPCD_PROJECT_NAME}" ] || spcd_error_ci "SPCD_PROJECT_NAME" # - spcd_echo "SPCD_PROJECT_BRANCH" \ + spcd_os_printenv "SPCD_PROJECT_BRANCH" \ "SPCD_PROJECT_ROOT" "SPCD_PROJECT_PATH" "SPCD_PROJECT_NAME" # set path SPCD_PATH="$(realpath "${0}")" - spcd_echo "SPCD_PATH" + spcd_os_printenv "SPCD_PATH" # set operating system id SPCD_OS_ID="$(spcd_os_grep ID)" case "${SPCD_OS_ID}" in @@ -436,7 +436,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" *) ;; esac spcd_split - spcd_echo "SPCD_OS_ID" "SPCD_OS_VERSION" + spcd_os_printenv "SPCD_OS_ID" "SPCD_OS_VERSION" # universal SPCD_DNS_FILE="/etc/resolv.conf" SPCD_PKG_CA="ca-certificates" @@ -444,7 +444,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_PKG_GIT="git" SPCD_PYTHON_ALIAS="python3" spcd_split - spcd_echo "SPCD_DNS_FILE" \ + spcd_os_printenv "SPCD_DNS_FILE" \ "SPCD_PKG_CA" "SPCD_PKG_DOS2UNIX" "SPCD_PKG_GIT" "SPCD_PYTHON_ALIAS" # set ca command & root case "${SPCD_OS_ID}" in @@ -471,7 +471,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" *) ;; esac spcd_split - spcd_echo "SPCD_CA_ROOT" "SPCD_CMD_CA" + spcd_os_printenv "SPCD_CA_ROOT" "SPCD_CMD_CA" # set package manager case "${SPCD_OS_ID}" in "${SPCD_OS_ALPINE}") @@ -509,7 +509,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" esac # set package manager variables spcd_split - spcd_echo "SPCD_PF" "SPCD_PM" + spcd_os_printenv "SPCD_PF" "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") SPCD_PM_CLEAN="dnf clean all" @@ -597,10 +597,10 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_echo "SPCD_PM_CLEAN" \ + spcd_os_printenv "SPCD_PM_CLEAN" \ "SPCD_PM_INSTALL" "SPCD_PM_QUERY" "SPCD_PM_UPDATE" "SPCD_PM_UPGRADE" spcd_split - spcd_echo "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" + spcd_os_printenv "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}") @@ -664,7 +664,7 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_echo "SPCD_URL_DEFAULT" "SPCD_URL_CHOSEN" + spcd_os_printenv "SPCD_URL_DEFAULT" "SPCD_URL_CHOSEN" # set python command & package case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") @@ -719,7 +719,7 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_echo "SPCD_PYTHON_COMMAND" "SPCD_PYTHON_PACKAGE" + spcd_os_printenv "SPCD_PYTHON_COMMAND" "SPCD_PYTHON_PACKAGE" # set python packages case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}" | \ @@ -737,14 +737,14 @@ Acquire::https::Verify-Peer False; SPCD_PYTHON_VENV_PACKAGES="\ ${SPCD_PYTHON_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" spcd_split - spcd_echo "SPCD_PYTHON_PACKAGES" "SPCD_PYTHON_VENV_PACKAGES" + spcd_os_printenv "SPCD_PYTHON_PACKAGES" "SPCD_PYTHON_VENV_PACKAGES" # variables # certificate authorities [ -n "${SPCD_CA_1}" ] && SPCD_CA=true # downloads SPCD_DL="$(mktemp --directory)" spcd_split - spcd_echo "SPCD_CA" "SPCD_DL" + spcd_os_printenv "SPCD_CA" "SPCD_DL" } spcd_list_working_directory() { @@ -1050,7 +1050,7 @@ spcd_write_python_module() { PROJECT_ROOT PROJECT_PATH PROJECT_NAME \ PYTHON_VENV_BINARIES PYTHON_VENV_PACKAGES \ OPEN DOWN VERT SPLT __UP SHUT; do - spcd_wpm__value="$(spcd_echo "SPCD_${spcd_wpm__variable}")" + spcd_wpm__value="$(spcd_os_printenv "SPCD_${spcd_wpm__variable}")" spcd_wpm__text="${spcd_wpm__text}${spcd_wpm__value} " done @@ -1085,12 +1085,12 @@ spcd_cat() { fi } -spcd_echo() { +spcd_os_printenv() { if [ -n "${1}" ]; then - for spcd_echo__name in "${@}"; do - spcd_echo__text="" - eval "spcd_echo__text=\"\${${spcd_echo__name}}\"" - echo "${spcd_echo__name} = \"${spcd_echo__text}\"" + for spcd_os_printenv__name in "${@}"; do + spcd_os_printenv__text="" + eval "spcd_os_printenv__text=\"\${${spcd_os_printenv__name}}\"" + echo "${spcd_os_printenv__name} = \"${spcd_os_printenv__text}\"" done fi } From 5bc53b317c42c6c5f07c736e6f58048962273958 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:29:21 +0200 Subject: [PATCH 16/40] mv --- spcd/main.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index d1d782f..c938314 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -229,6 +229,16 @@ spcd_os_mkdir() { fi } +spcd_os_printenv() { + if [ -n "${1}" ]; then + for spcd_os_printenv__name in "${@}"; do + spcd_os_printenv__text="" + eval "spcd_os_printenv__text=\"\${${spcd_os_printenv__name}}\"" + echo "${spcd_os_printenv__name} = \"${spcd_os_printenv__text}\"" + done + fi +} + spcd_os_rm() { spcd_os_rm__path="${1}" if [ -e "${spcd_os_rm__path}" ]; then @@ -1085,16 +1095,6 @@ spcd_cat() { fi } -spcd_os_printenv() { - if [ -n "${1}" ]; then - for spcd_os_printenv__name in "${@}"; do - spcd_os_printenv__text="" - eval "spcd_os_printenv__text=\"\${${spcd_os_printenv__name}}\"" - echo "${spcd_os_printenv__name} = \"${spcd_os_printenv__text}\"" - done - fi -} - spcd_install_package() { spcd_install_package__name="${1}" if [ -n "${spcd_install_package__name}" ]; then From 1876bb50cb274be57ddac6598ef6239613960829 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:37:39 +0200 Subject: [PATCH 17/40] frame --- spcd/main.sh | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index c938314..bf7a353 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -157,6 +157,21 @@ spcd_banner_unset() { SPCD_ERROR_CI=1 SPCD_ERROR_OS=2 +# ╭──────────┬───────╮ +# │ internal │ frame │ +# ╰──────────┴───────╯ + +SPCD_FRAME_DOWN_AND_RIGHT="╭" +SPCD_FRAME_UP_AND_RIGHT="╰" + +spcd_open() { + echo "${SPCD_FRAME_DOWN_AND_RIGHT}${*}" +} + +spcd_shut() { + echo "${SPCD_FRAME_UP_AND_RIGHT}${*}" +} + # ╭──────────┬──────╮ # │ internal │ step │ # ╰──────────┴──────╯ @@ -1121,10 +1136,6 @@ spcd_ls() { fi } -spcd_open() { - echo "${SPCD_OPEN}${*}" -} - spcd_openssl() { spcd_openssl__file="${1}" if [ -f "${spcd_openssl__file}" ]; then @@ -1158,10 +1169,6 @@ spcd_sed() { fi } -spcd_shut() { - echo "${SPCD_SHUT}${*}" -} - spcd_split() { echo "${SPCD_SPLT}" } From 9d3036c73453976b32efc1a757539f2bf6ec6758 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:40:36 +0200 Subject: [PATCH 18/40] frame_ --- spcd/main.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index bf7a353..41c996c 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -164,11 +164,11 @@ SPCD_ERROR_OS=2 SPCD_FRAME_DOWN_AND_RIGHT="╭" SPCD_FRAME_UP_AND_RIGHT="╰" -spcd_open() { +spcd_frame_open() { echo "${SPCD_FRAME_DOWN_AND_RIGHT}${*}" } -spcd_shut() { +spcd_frame_shut() { echo "${SPCD_FRAME_UP_AND_RIGHT}${*}" } @@ -1104,9 +1104,9 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" spcd_cat() { spcd_cat__file="${1}" if [ -n "${spcd_cat__file}" ]; then - spcd_open "${spcd_cat__file}" + spcd_frame_open "${spcd_cat__file}" cat "${spcd_cat__file}" || exit - spcd_shut "${spcd_cat__file}" + spcd_frame_shut "${spcd_cat__file}" fi } @@ -1130,9 +1130,9 @@ spcd_ln_python() { spcd_ls() { spcd_ls__path="${1}" if [ -n "${spcd_ls__path}" ]; then - spcd_open "${spcd_ls__path}" + spcd_frame_open "${spcd_ls__path}" ls -a -l "${spcd_ls__path}" || exit - spcd_shut "${spcd_ls__path}" + spcd_frame_shut "${spcd_ls__path}" fi } From 2864745fa796b5ab6d824320d5db6928f27af04c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:45:24 +0200 Subject: [PATCH 19/40] constants/os --- spcd/main.sh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 41c996c..035b793 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -184,6 +184,19 @@ spcd_step_wipe() { "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" } +# ╭───────────╮ +# │ constants │ +# ╰───────────╯ + +SPCD_OS_ALMA="alma" +SPCD_OS_ALPINE="alpine" +SPCD_OS_ARCH="arch" +SPCD_OS_DEBIAN="debian" +SPCD_OS_FEDORA="fedora" +SPCD_OS_OPENSUSE="opensuse" +SPCD_OS_ROCKY="rocky" +SPCD_OS_UBUNTU="ubuntu" + # ╭───────────┬───────╮ # │ functions │ error │ # ╰───────────┴───────╯ @@ -1192,15 +1205,6 @@ SPCD_BOX_RIGHT="╶" SPCD_BOX_UP="╰" SPCD_BOX_VERTICAL="│" -SPCD_OS_ALMA="alma" -SPCD_OS_ALPINE="alpine" -SPCD_OS_ARCH="arch" -SPCD_OS_DEBIAN="debian" -SPCD_OS_FEDORA="fedora" -SPCD_OS_OPENSUSE="opensuse" -SPCD_OS_ROCKY="rocky" -SPCD_OS_UBUNTU="ubuntu" - SPCD_PF_APK="apk" SPCD_PF_DEB="deb" SPCD_PF_PKG="pkg" From ffa97be33d14c27200bec528c7a6879246c20a95 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:48:37 +0200 Subject: [PATCH 20/40] steps/constants --- spcd/main.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 035b793..fd0459d 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -184,19 +184,6 @@ spcd_step_wipe() { "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" } -# ╭───────────╮ -# │ constants │ -# ╰───────────╯ - -SPCD_OS_ALMA="alma" -SPCD_OS_ALPINE="alpine" -SPCD_OS_ARCH="arch" -SPCD_OS_DEBIAN="debian" -SPCD_OS_FEDORA="fedora" -SPCD_OS_OPENSUSE="opensuse" -SPCD_OS_ROCKY="rocky" -SPCD_OS_UBUNTU="ubuntu" - # ╭───────────┬───────╮ # │ functions │ error │ # ╰───────────┴───────╯ @@ -300,6 +287,19 @@ spcd_step_out() { SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL - 1)) } +# ╭───────┬───────────╮ +# │ steps │ constants │ +# ╰───────┴───────────╯ + +SPCD_OS_ALMA="alma" +SPCD_OS_ALPINE="alpine" +SPCD_OS_ARCH="arch" +SPCD_OS_DEBIAN="debian" +SPCD_OS_FEDORA="fedora" +SPCD_OS_OPENSUSE="opensuse" +SPCD_OS_ROCKY="rocky" +SPCD_OS_UBUNTU="ubuntu" + # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ From ff9bc7706d30812057c69f30273191191e4d1f9a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:50:09 +0200 Subject: [PATCH 21/40] constants/pm --- spcd/main.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index fd0459d..2e0b90d 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -300,6 +300,12 @@ SPCD_OS_OPENSUSE="opensuse" SPCD_OS_ROCKY="rocky" SPCD_OS_UBUNTU="ubuntu" +SPCD_PM_APK="apk" +SPCD_PM_APT="apt" +SPCD_PM_DNF="dnf" +SPCD_PM_PACMAN="pacman" +SPCD_PM_ZYPPER="zypper" + # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ @@ -1210,12 +1216,6 @@ SPCD_PF_DEB="deb" SPCD_PF_PKG="pkg" SPCD_PF_RPM="rpm" -SPCD_PM_APK="apk" -SPCD_PM_APT="apt" -SPCD_PM_DNF="dnf" -SPCD_PM_PACMAN="pacman" -SPCD_PM_ZYPPER="zypper" - SPCD_PYTHON_VENV="/opt/venv" SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" From 0e266d02ebe3970528befdc7e8a99772c6a0ae2b Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:51:30 +0200 Subject: [PATCH 22/40] constants/pf --- spcd/main.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 2e0b90d..5fc34fa 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -300,6 +300,11 @@ SPCD_OS_OPENSUSE="opensuse" SPCD_OS_ROCKY="rocky" SPCD_OS_UBUNTU="ubuntu" +SPCD_PF_APK="apk" +SPCD_PF_DEB="deb" +SPCD_PF_PKG="pkg" +SPCD_PF_RPM="rpm" + SPCD_PM_APK="apk" SPCD_PM_APT="apt" SPCD_PM_DNF="dnf" @@ -1211,11 +1216,6 @@ SPCD_BOX_RIGHT="╶" SPCD_BOX_UP="╰" SPCD_BOX_VERTICAL="│" -SPCD_PF_APK="apk" -SPCD_PF_DEB="deb" -SPCD_PF_PKG="pkg" -SPCD_PF_RPM="rpm" - SPCD_PYTHON_VENV="/opt/venv" SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" From e85ab5ec211c4c8b40734ef9d547bff39f1ba057 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:57:21 +0200 Subject: [PATCH 23/40] 1 --- spcd/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 5fc34fa..3568d72 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -165,11 +165,11 @@ SPCD_FRAME_DOWN_AND_RIGHT="╭" SPCD_FRAME_UP_AND_RIGHT="╰" spcd_frame_open() { - echo "${SPCD_FRAME_DOWN_AND_RIGHT}${*}" + echo "${SPCD_FRAME_DOWN_AND_RIGHT}${1}" } spcd_frame_shut() { - echo "${SPCD_FRAME_UP_AND_RIGHT}${*}" + echo "${SPCD_FRAME_UP_AND_RIGHT}${1}" } # ╭──────────┬──────╮ From 25581032c41f205ce4c2c35b4f711241b6fc27aa Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 21:59:16 +0200 Subject: [PATCH 24/40] =?UTF-8?q?=E2=88=92open,vert,shut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/main.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 3568d72..5f396ec 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1221,10 +1221,7 @@ SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" SPCD_HORIZONTAL="────╌╌╌╌┄┄┄┄┈┈┈┈" -SPCD_OPEN="${SPCD_BOX_DOWN}${SPCD_BOX_LEFT}" -SPCD_VERT="${SPCD_BOX_VERTICAL}" SPCD_SPLT="${SPCD_BOX_RIGHT}${SPCD_HORIZONTAL}" -SPCD_SHUT="${SPCD_BOX_UP}${SPCD_BOX_LEFT}" # ╭──────╮ # │ main │ From bdb645eb915a27420d4dad924cff24188fed1fa0 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:00:36 +0200 Subject: [PATCH 25/40] =?UTF-8?q?=E2=88=92box/down,left,up,vertical?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/main.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 5f396ec..8bad79b 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1210,11 +1210,7 @@ spcd_write() { # constants -SPCD_BOX_DOWN="╭" -SPCD_BOX_LEFT="╴" SPCD_BOX_RIGHT="╶" -SPCD_BOX_UP="╰" -SPCD_BOX_VERTICAL="│" SPCD_PYTHON_VENV="/opt/venv" SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" From 9e38e7224d9cc73cb4749a44ff2720c961535498 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:19:00 +0200 Subject: [PATCH 26/40] rule,split --- spcd/main.sh | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 8bad79b..6d53f2f 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -172,6 +172,14 @@ spcd_frame_shut() { echo "${SPCD_FRAME_UP_AND_RIGHT}${1}" } +# ╭──────────┬──────╮ +# │ internal │ rule │ +# ╰──────────┴──────╯ + +SPCD_RULE_HORIZONTAL="─" +SPCD_RULE_LEFT="╴" +SPCD_RULE_RIGHT="╶" + # ╭──────────┬──────╮ # │ internal │ step │ # ╰──────────┴──────╯ @@ -262,6 +270,14 @@ spcd_os_rm() { fi } +# ╭───────────┬───────╮ +# │ functions │ split │ +# ╰───────────┴───────╯ + +spcd_split() { + echo "${SPCD_RULE_RIGHT}${SPCD_RULE_HORIZONTAL}${SPCD_RULE_LEFT}" +} + # ╭───────────┬──────╮ # │ functions │ step │ # ╰───────────┴──────╯ @@ -1193,10 +1209,6 @@ spcd_sed() { fi } -spcd_split() { - echo "${SPCD_SPLT}" -} - spcd_write() { spcd_write__file="${1}" spcd_write__text="${2}" @@ -1210,15 +1222,9 @@ spcd_write() { # constants -SPCD_BOX_RIGHT="╶" - SPCD_PYTHON_VENV="/opt/venv" SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" -SPCD_HORIZONTAL="────╌╌╌╌┄┄┄┄┈┈┈┈" - -SPCD_SPLT="${SPCD_BOX_RIGHT}${SPCD_HORIZONTAL}" - # ╭──────╮ # │ main │ # ╰──────╯ From b52842db6f811438307100ee8b423df6fcab72a1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:22:01 +0200 Subject: [PATCH 27/40] constants/venv --- spcd/main.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 6d53f2f..f641e65 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -327,6 +327,9 @@ SPCD_PM_DNF="dnf" SPCD_PM_PACMAN="pacman" SPCD_PM_ZYPPER="zypper" +SPCD_PYTHON_VENV="/opt/venv" +SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" + # ╭───────┬─────╮ # │ steps │ env │ # ╰───────┴─────╯ @@ -1220,11 +1223,6 @@ spcd_write() { fi } -# constants - -SPCD_PYTHON_VENV="/opt/venv" -SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin" - # ╭──────╮ # │ main │ # ╰──────╯ From c3d75dacd61c494eeadcf9b9a74b992c748dacef Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:42:37 +0200 Subject: [PATCH 28/40] spcd_os_cat --- spcd/main.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index f641e65..f4a93e6 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -172,6 +172,11 @@ spcd_frame_shut() { echo "${SPCD_FRAME_UP_AND_RIGHT}${1}" } +# ╭──────────┬────╮ +# │ internal │ os │ +# ╰──────────┴────╯ + + # ╭──────────┬──────╮ # │ internal │ rule │ # ╰──────────┴──────╯ @@ -1144,7 +1149,7 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" # │ functions │ # ╰───────────╯ -spcd_cat() { +spcd_os_cat() { spcd_cat__file="${1}" if [ -n "${spcd_cat__file}" ]; then spcd_frame_open "${spcd_cat__file}" @@ -1204,10 +1209,10 @@ spcd_sed() { spcd_sed__file="${1}" shift if [ -f "${spcd_sed__file}" ]; then - spcd_cat "${spcd_sed__file}" + spcd_os_cat "${spcd_sed__file}" for spcd_sed__regex in "${@}"; do sed --in-place "s${spcd_sed__regex}g" "${spcd_sed__file}" && - spcd_cat "${spcd_sed__file}" || exit + spcd_os_cat "${spcd_sed__file}" || exit done fi } @@ -1216,10 +1221,10 @@ spcd_write() { spcd_write__file="${1}" spcd_write__text="${2}" if [ -n "${spcd_write__file}" ]; then - [ -f "${spcd_write__file}" ] && spcd_cat "${spcd_write__file}" + [ -f "${spcd_write__file}" ] && spcd_os_cat "${spcd_write__file}" echo "→ ${spcd_write__file}" printf "%s" "${spcd_write__text}" >"${spcd_write__file}" || exit - spcd_cat "${spcd_write__file}" + spcd_os_cat "${spcd_write__file}" fi } From da082a177e829b558c678fa56f26b4b2f4fddadf Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:43:08 +0200 Subject: [PATCH 29/40] mv --- spcd/main.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index f4a93e6..8e25da0 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -176,6 +176,14 @@ spcd_frame_shut() { # │ internal │ os │ # ╰──────────┴────╯ +spcd_os_cat() { + spcd_cat__file="${1}" + if [ -n "${spcd_cat__file}" ]; then + spcd_frame_open "${spcd_cat__file}" + cat "${spcd_cat__file}" || exit + spcd_frame_shut "${spcd_cat__file}" + fi +} # ╭──────────┬──────╮ # │ internal │ rule │ @@ -1149,15 +1157,6 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" # │ functions │ # ╰───────────╯ -spcd_os_cat() { - spcd_cat__file="${1}" - if [ -n "${spcd_cat__file}" ]; then - spcd_frame_open "${spcd_cat__file}" - cat "${spcd_cat__file}" || exit - spcd_frame_shut "${spcd_cat__file}" - fi -} - spcd_install_package() { spcd_install_package__name="${1}" if [ -n "${spcd_install_package__name}" ]; then From d47ba3d4f9138a930fa1d6a20324245391481dd5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:47:21 +0200 Subject: [PATCH 30/40] spcd_os_ls --- spcd/main.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 8e25da0..933c0d7 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -831,7 +831,7 @@ ${SPCD_PYTHON_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" spcd_list_working_directory() { spcd_step "List working directory" spcd_lwd__path="$(realpath .)" - spcd_ls "${spcd_lwd__path}" + spcd_os_ls "${spcd_lwd__path}" } # ╭───────┬─────╮ @@ -1040,7 +1040,7 @@ spcd_install_python_modules() { spcd_step_in "Python modules" spcd_ipm__target="${SPCD_PYTHON_VENV_PACKAGES}" spcd_step "List" - spcd_ls "${spcd_ipm__target}" + spcd_os_ls "${spcd_ipm__target}" spcd_step "Main" spcd_ipm__path="$(spcd_pip_install "${SPCD_GIT_MAIN}")" # check matching of file and variable @@ -1057,7 +1057,7 @@ spcd_install_python_modules() { spcd_step "Root" spcd_pip_install "${SPCD_GIT_ROOT}" spcd_step "List" - spcd_ls "${spcd_ipm__target}" + spcd_os_ls "${spcd_ipm__target}" spcd_step_out } @@ -1174,12 +1174,12 @@ spcd_ln_python() { fi } -spcd_ls() { - spcd_ls__path="${1}" - if [ -n "${spcd_ls__path}" ]; then - spcd_frame_open "${spcd_ls__path}" - ls -a -l "${spcd_ls__path}" || exit - spcd_frame_shut "${spcd_ls__path}" +spcd_os_ls() { + spcd_os_ls__path="${1}" + if [ -n "${spcd_os_ls__path}" ]; then + spcd_frame_open "${spcd_os_ls__path}" + ls -a -l "${spcd_os_ls__path}" + spcd_frame_shut "${spcd_os_ls__path}" fi } From d42b59a795cb7cb590cb26d1768cdc3e5649f492 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:48:21 +0200 Subject: [PATCH 31/40] mv --- spcd/main.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 933c0d7..7d5536a 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -257,6 +257,15 @@ spcd_os_grep() { sed "s|^\"\(.*\)\"$|\1|" } +spcd_os_ls() { + spcd_os_ls__path="${1}" + if [ -n "${spcd_os_ls__path}" ]; then + spcd_frame_open "${spcd_os_ls__path}" + ls -a -l "${spcd_os_ls__path}" + spcd_frame_shut "${spcd_os_ls__path}" + fi +} + spcd_os_mkdir() { spcd_os_mkdir__path="${1}" if [ -n "${spcd_os_mkdir__path}" ]; then @@ -1174,15 +1183,6 @@ spcd_ln_python() { fi } -spcd_os_ls() { - spcd_os_ls__path="${1}" - if [ -n "${spcd_os_ls__path}" ]; then - spcd_frame_open "${spcd_os_ls__path}" - ls -a -l "${spcd_os_ls__path}" - spcd_frame_shut "${spcd_os_ls__path}" - fi -} - spcd_openssl() { spcd_openssl__file="${1}" if [ -f "${spcd_openssl__file}" ]; then From 13c167fb9bb790ae9684ec71c9f3968c9729680a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 22:56:22 +0200 Subject: [PATCH 32/40] rules --- spcd/main.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spcd/main.sh b/spcd/main.sh index 7d5536a..16bb12b 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1,5 +1,7 @@ #! /usr/bin/env sh +#╶──────────────────────────────────────╴ + # ╭──────────╮ # │ defaults │ # ╰──────────╯ @@ -31,6 +33,8 @@ [ -n "${SPCD_URL_UBUNTU}" ] || SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net" +#╶──────────────────────────────────────╴ + # ╭──────────╮ # │ internal │ # ╰──────────╯ @@ -205,6 +209,8 @@ spcd_step_wipe() { "SPCD_STEP_${SPCD_STEP_LEVEL}_LABEL" } +#╶──────────────────────────────────────╴ + # ╭───────────┬───────╮ # │ functions │ error │ # ╰───────────┴───────╯ @@ -325,6 +331,8 @@ spcd_step_out() { SPCD_STEP_LEVEL=$((SPCD_STEP_LEVEL - 1)) } +#╶──────────────────────────────────────╴ + # ╭───────┬───────────╮ # │ steps │ constants │ # ╰───────┴───────────╯ @@ -1162,6 +1170,8 @@ ${SPCD_PYTHON_ALIAS} / ${spcd_stp__name}" "${SPCD_PYTHON_ALIAS}" -m "${spcd_stp__name}" } +#╶──────────────────────────────────────╴ + # ╭───────────╮ # │ functions │ # ╰───────────╯ @@ -1227,6 +1237,8 @@ spcd_write() { fi } +#╶──────────────────────────────────────╴ + # ╭──────╮ # │ main │ # ╰──────╯ From 0715a70cab6bfa5e2789ec32789c7d7f7c78dfb8 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:03:21 +0200 Subject: [PATCH 33/40] spcd_python_pip --- spcd/main.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 16bb12b..f536e60 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1059,7 +1059,7 @@ spcd_install_python_modules() { spcd_step "List" spcd_os_ls "${spcd_ipm__target}" spcd_step "Main" - spcd_ipm__path="$(spcd_pip_install "${SPCD_GIT_MAIN}")" + spcd_ipm__path="$(spcd_python_pip "${SPCD_GIT_MAIN}")" # check matching of file and variable spcd_step "Check" spcd_ipm__script="${spcd_ipm__path}/main.sh" @@ -1072,7 +1072,7 @@ spcd_install_python_modules() { ls -l "${spcd_ipm__script}" "${SPCD_CMD_SUM}" -c "${spcd_ipm__check}" || spcd_error_ci "SPCD" spcd_step "Root" - spcd_pip_install "${SPCD_GIT_ROOT}" + spcd_python_pip "${SPCD_GIT_ROOT}" spcd_step "List" spcd_os_ls "${spcd_ipm__target}" spcd_step_out @@ -1203,14 +1203,14 @@ spcd_openssl() { fi } -spcd_pip_install() { +spcd_python_pip() { if [ -n "${1}" ]; then - spcd_pi__name="$(basename "${1}")" - spcd_pi__path="$(spcd_git_clone "${1}")" - spcd_pi__path="${spcd_pi__path}/${spcd_pi__name}" - spcd_pi__target="${SPCD_PYTHON_VENV_PACKAGES}" - cp --recursive "${spcd_pi__path}" "${spcd_pi__target}" - echo "${spcd_pi__target}/${spcd_pi__name}" + spcd_pp__name="$(basename "${1}")" + spcd_pp__path="$(spcd_git_clone "${1}")" + spcd_pp__path="${spcd_pp__path}/${spcd_pp__name}" + spcd_pp__target="${SPCD_PYTHON_VENV_PACKAGES}" + cp --recursive "${spcd_pp__path}" "${spcd_pp__target}" + echo "${spcd_pp__target}/${spcd_pp__name}" fi } From 218c31ce574dec18a66ae72a54724bc7e8a7e377 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:04:23 +0200 Subject: [PATCH 34/40] mv --- spcd/main.sh | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index f536e60..d3ae924 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -298,6 +298,21 @@ spcd_os_rm() { fi } +# ╭───────────┬────────╮ +# │ functions │ python │ +# ╰───────────┴────────╯ + +spcd_python_pip() { + if [ -n "${1}" ]; then + spcd_pp__name="$(basename "${1}")" + spcd_pp__path="$(spcd_git_clone "${1}")" + spcd_pp__path="${spcd_pp__path}/${spcd_pp__name}" + spcd_pp__target="${SPCD_PYTHON_VENV_PACKAGES}" + cp --recursive "${spcd_pp__path}" "${spcd_pp__target}" + echo "${spcd_pp__target}/${spcd_pp__name}" + fi +} + # ╭───────────┬───────╮ # │ functions │ split │ # ╰───────────┴───────╯ @@ -1203,17 +1218,6 @@ spcd_openssl() { fi } -spcd_python_pip() { - if [ -n "${1}" ]; then - spcd_pp__name="$(basename "${1}")" - spcd_pp__path="$(spcd_git_clone "${1}")" - spcd_pp__path="${spcd_pp__path}/${spcd_pp__name}" - spcd_pp__target="${SPCD_PYTHON_VENV_PACKAGES}" - cp --recursive "${spcd_pp__path}" "${spcd_pp__target}" - echo "${spcd_pp__target}/${spcd_pp__name}" - fi -} - spcd_sed() { spcd_sed__file="${1}" shift From a4556cd22bb37266043bc49cc2c86988f7e0c0ee Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:06:37 +0200 Subject: [PATCH 35/40] spcd_python_ln --- spcd/main.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index d3ae924..3063265 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -1044,7 +1044,7 @@ spcd_install_python() { spcd_step_in "Install Python" spcd_install_package "${SPCD_PYTHON_PACKAGE}" spcd_step "Link alias to command" - spcd_ln_python "${SPCD_PYTHON_COMMAND}" + spcd_python_ln "${SPCD_PYTHON_COMMAND}" # venv spcd_step_in "Virtual environment" spcd_step "Install package" @@ -1199,11 +1199,11 @@ spcd_install_package() { fi } -spcd_ln_python() { - spcd_ln_python__command="${1}" - if [ -n "${spcd_ln_python__command}" ]; then - echo "→ ${SPCD_PYTHON_ALIAS} → ${spcd_ln_python__command}" - ln -f -s "${spcd_ln_python__command}" \ +spcd_python_ln() { + spcd_python_ln__command="${1}" + if [ -n "${spcd_python_ln__command}" ]; then + echo "→ ${SPCD_PYTHON_ALIAS} → ${spcd_python_ln__command}" + ln -f -s "${spcd_python_ln__command}" \ "/usr/bin/${SPCD_PYTHON_ALIAS}" || exit fi } From c062e717b7d145f2260eb7881a1baf939aae6a2c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:07:15 +0200 Subject: [PATCH 36/40] mv --- spcd/main.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 3063265..eb380d7 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -302,6 +302,15 @@ spcd_os_rm() { # │ functions │ python │ # ╰───────────┴────────╯ +spcd_python_ln() { + spcd_python_ln__command="${1}" + if [ -n "${spcd_python_ln__command}" ]; then + echo "→ ${SPCD_PYTHON_ALIAS} → ${spcd_python_ln__command}" + ln -f -s "${spcd_python_ln__command}" \ + "/usr/bin/${SPCD_PYTHON_ALIAS}" || exit + fi +} + spcd_python_pip() { if [ -n "${1}" ]; then spcd_pp__name="$(basename "${1}")" @@ -1199,15 +1208,6 @@ spcd_install_package() { fi } -spcd_python_ln() { - spcd_python_ln__command="${1}" - if [ -n "${spcd_python_ln__command}" ]; then - echo "→ ${SPCD_PYTHON_ALIAS} → ${spcd_python_ln__command}" - ln -f -s "${spcd_python_ln__command}" \ - "/usr/bin/${SPCD_PYTHON_ALIAS}" || exit - fi -} - spcd_openssl() { spcd_openssl__file="${1}" if [ -f "${spcd_openssl__file}" ]; then From ade538dc14238a4f87fb377682dc979e8f74436b Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:12:21 +0200 Subject: [PATCH 37/40] spcd_os_write --- spcd/main.sh | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index eb380d7..0ec836b 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -895,14 +895,14 @@ spcd_set_packages_repositories() { ;; "${SPCD_OS_ALPINE}") spcd_spr__file="/etc/apk/repositories" - spcd_write "${spcd_spr__file}" "\ + spcd_os_write "${spcd_spr__file}" "\ ${SPCD_URL_CHOSEN}/v${SPCD_OS_VERSION}/main ${SPCD_URL_CHOSEN}/v${SPCD_OS_VERSION}/community " ;; "${SPCD_OS_DEBIAN}") spcd_spr__file="/etc/apt/sources.list" - spcd_write "${spcd_spr__file}" "\ + spcd_os_write "${spcd_spr__file}" "\ deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION} main deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-backports main deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-updates main @@ -935,7 +935,7 @@ deb ${SPCD_URL_CHOSEN}-security ${SPCD_OS_VERSION}-security main ;; "${SPCD_OS_UBUNTU}") spcd_spr__file="/etc/apt/sources.list" - spcd_write "${spcd_spr__file}" "\ + spcd_os_write "${spcd_spr__file}" "\ deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION} main universe deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-backports main universe deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-updates main universe @@ -948,7 +948,7 @@ deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-security main universe spcd_set_packages_configuration() { spcd_step "Set packages configuration" - spcd_write "${SPCD_PM_CONF_PATH}" "${SPCD_PM_CONF_TEXT}" + spcd_os_write "${SPCD_PM_CONF_PATH}" "${SPCD_PM_CONF_TEXT}" case "${SPCD_OS_ID}" in "${SPCD_OS_ARCH}") pacman-key --init @@ -966,7 +966,7 @@ spcd_set_https_verification_off() { if [ -n "${SPCD_CA}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then spcd_step "Set HTTPS verification off" spcd_os_mkdir "$(dirname "${SPCD_PM_HTTPS_PATH}")" - spcd_write "${SPCD_PM_HTTPS_PATH}" "${SPCD_PM_HTTPS_TEXT}" + spcd_os_write "${SPCD_PM_HTTPS_PATH}" "${SPCD_PM_HTTPS_TEXT}" fi } @@ -980,7 +980,7 @@ spcd_set_dns_resolving() { nameserver ${spcd_sdr__value} " done - spcd_write "${SPCD_DNS_FILE}" "${spcd_sdr__text}" + spcd_os_write "${SPCD_DNS_FILE}" "${spcd_sdr__text}" } spcd_update_packages_catalog() { @@ -1011,7 +1011,7 @@ spcd_write_ca_certificates() { [ -n "${spcd_wcc__text}" ] || break spcd_wcc__path="${SPCD_CA_ROOT}/${spcd_wcc__index}.crt" spcd_split - spcd_write "${spcd_wcc__path}" "${spcd_wcc__text}" + spcd_os_write "${spcd_wcc__path}" "${spcd_wcc__text}" spcd_openssl "${spcd_wcc__path}" done } @@ -1064,7 +1064,7 @@ spcd_install_python() { *) ;; esac spcd_step "Configure PIP" - spcd_write "/etc/pip.conf" "\ + spcd_os_write "/etc/pip.conf" "\ [global] index-url = ${SPCD_URL_PYTHON} " @@ -1178,7 +1178,7 @@ spcd_write_python_module() { done for spcd_wpm__root in \ "${SPCD_PYTHON_PACKAGES}" "${SPCD_PYTHON_VENV_PACKAGES}"; do - spcd_write "${spcd_wpm__root}/env.py" "${spcd_wpm__text} + spcd_os_write "${spcd_wpm__root}/env.py" "${spcd_wpm__text} SPCD_STEP = $((SPCD_STEP + 1)) " done @@ -1230,14 +1230,15 @@ spcd_sed() { fi } -spcd_write() { - spcd_write__file="${1}" - spcd_write__text="${2}" - if [ -n "${spcd_write__file}" ]; then - [ -f "${spcd_write__file}" ] && spcd_os_cat "${spcd_write__file}" - echo "→ ${spcd_write__file}" - printf "%s" "${spcd_write__text}" >"${spcd_write__file}" || exit - spcd_os_cat "${spcd_write__file}" +spcd_os_write() { + spcd_os_write__file="${1}" + spcd_os_write__text="${2}" + if [ -n "${spcd_os_write__file}" ]; then + [ -f "${spcd_os_write__file}" ] && + spcd_os_cat "${spcd_os_write__file}" + echo "→ ${spcd_os_write__file}" + printf "%s" "${spcd_os_write__text}" >"${spcd_os_write__file}" + spcd_os_cat "${spcd_os_write__file}" fi } From 281bb2bf37508f36d72cb5e6194460d89400739e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:12:52 +0200 Subject: [PATCH 38/40] mv --- spcd/main.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 0ec836b..418a11d 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -298,6 +298,18 @@ spcd_os_rm() { fi } +spcd_os_write() { + spcd_os_write__file="${1}" + spcd_os_write__text="${2}" + if [ -n "${spcd_os_write__file}" ]; then + [ -f "${spcd_os_write__file}" ] && + spcd_os_cat "${spcd_os_write__file}" + echo "→ ${spcd_os_write__file}" + printf "%s" "${spcd_os_write__text}" >"${spcd_os_write__file}" + spcd_os_cat "${spcd_os_write__file}" + fi +} + # ╭───────────┬────────╮ # │ functions │ python │ # ╰───────────┴────────╯ @@ -1230,18 +1242,6 @@ spcd_sed() { fi } -spcd_os_write() { - spcd_os_write__file="${1}" - spcd_os_write__text="${2}" - if [ -n "${spcd_os_write__file}" ]; then - [ -f "${spcd_os_write__file}" ] && - spcd_os_cat "${spcd_os_write__file}" - echo "→ ${spcd_os_write__file}" - printf "%s" "${spcd_os_write__text}" >"${spcd_os_write__file}" - spcd_os_cat "${spcd_os_write__file}" - fi -} - #╶──────────────────────────────────────╴ # ╭──────╮ From 2e913e4d31bc8e732c8132cac2c13203f0863190 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:16:19 +0200 Subject: [PATCH 39/40] spcd_os_sed --- spcd/main.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index 418a11d..bb550c6 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -900,7 +900,7 @@ spcd_set_packages_repositories() { "9") spcd_spr__file="/etc/yum.repos.d/almalinux-baseos.repo" ;; *) ;; esac - spcd_sed "${spcd_spr__file}" \ + spcd_os_sed "${spcd_spr__file}" \ "|^mirrorlist|# mirrorlist|" \ "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" \ "|^# baseurl|baseurl|" @@ -930,7 +930,7 @@ deb ${SPCD_URL_CHOSEN}-security ${SPCD_OS_VERSION}-security main "update-non-oss" \ "update" \ "openh264"; do - spcd_sed "/etc/zypp/repos.d/repo-${spcd_spr__file}.repo" \ + spcd_os_sed "/etc/zypp/repos.d/repo-${spcd_spr__file}.repo" \ "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" done ;; @@ -940,7 +940,7 @@ deb ${SPCD_URL_CHOSEN}-security ${SPCD_OS_VERSION}-security main "9") spcd_spr__file="/etc/yum.repos.d/rocky.repo" ;; *) ;; esac - spcd_sed "${spcd_spr__file}" \ + spcd_os_sed "${spcd_spr__file}" \ "|^mirrorlist|# mirrorlist|" \ "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" \ "|^#baseurl|baseurl|" @@ -1123,7 +1123,7 @@ spcd_install_packages() { spcd_install_package "epel-release" [ -n "${SPCD_URL_EPEL}" ] && spcd_ip__epel="${SPCD_URL_EPEL}" || spcd_ip__epel="https://dl.fedoraproject.org" - spcd_sed "/etc/yum.repos.d/epel.repo" \ + spcd_os_sed "/etc/yum.repos.d/epel.repo" \ "|^metalink|# metalink|" \ "|https://download.example|${spcd_ip__epel}|" \ "|^#baseurl|baseurl|" @@ -1230,14 +1230,14 @@ spcd_openssl() { fi } -spcd_sed() { - spcd_sed__file="${1}" +spcd_os_sed() { + spcd_os_sed__file="${1}" shift - if [ -f "${spcd_sed__file}" ]; then - spcd_os_cat "${spcd_sed__file}" - for spcd_sed__regex in "${@}"; do - sed --in-place "s${spcd_sed__regex}g" "${spcd_sed__file}" && - spcd_os_cat "${spcd_sed__file}" || exit + if [ -f "${spcd_os_sed__file}" ]; then + spcd_os_cat "${spcd_os_sed__file}" + for spcd_os_sed__regex in "${@}"; do + sed --in-place "s${spcd_os_sed__regex}g" "${spcd_os_sed__file}" && + spcd_os_cat "${spcd_os_sed__file}" done fi } From f3f19abad038751621faa60ebb136d35a7b58ddb Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 25 Aug 2024 23:17:10 +0200 Subject: [PATCH 40/40] mv --- spcd/main.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spcd/main.sh b/spcd/main.sh index bb550c6..6481aa0 100644 --- a/spcd/main.sh +++ b/spcd/main.sh @@ -298,6 +298,18 @@ spcd_os_rm() { fi } +spcd_os_sed() { + spcd_os_sed__file="${1}" + shift + if [ -f "${spcd_os_sed__file}" ]; then + spcd_os_cat "${spcd_os_sed__file}" + for spcd_os_sed__regex in "${@}"; do + sed --in-place "s${spcd_os_sed__regex}g" "${spcd_os_sed__file}" && + spcd_os_cat "${spcd_os_sed__file}" + done + fi +} + spcd_os_write() { spcd_os_write__file="${1}" spcd_os_write__text="${2}" @@ -1230,18 +1242,6 @@ spcd_openssl() { fi } -spcd_os_sed() { - spcd_os_sed__file="${1}" - shift - if [ -f "${spcd_os_sed__file}" ]; then - spcd_os_cat "${spcd_os_sed__file}" - for spcd_os_sed__regex in "${@}"; do - sed --in-place "s${spcd_os_sed__regex}g" "${spcd_os_sed__file}" && - spcd_os_cat "${spcd_os_sed__file}" - done - fi -} - #╶──────────────────────────────────────╴ # ╭──────╮