From f736628313b411d4b73419cb555200cc8c79fbe7 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 10:31:39 +0200 Subject: [PATCH 01/20] =?UTF-8?q?=E2=88=92bats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/bootstrap.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c2320ba..008e0e1 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1166,9 +1166,6 @@ spcd_install_packages() { ;; *) ;; esac - # bats - spcd_step "BATS" - spcd_install_package "bats" # graphviz spcd_step "GraphViz" spcd_install_package "graphviz" From 0645026bc00baefc1725b097c630d14254cd1cf9 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 10:33:04 +0200 Subject: [PATCH 02/20] git --- spcd/bootstrap.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 008e0e1..2434ad6 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -598,11 +598,10 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_DNS_FILE="/etc/resolv.conf" SPCD_PKG_CA="ca-certificates" SPCD_PKG_DOS2UNIX="dos2unix" - SPCD_PKG_GIT="git" SPCD_PYTHON_ALIAS="python3" spcd_split spcd_os_printenv "SPCD_DNS_FILE" \ - "SPCD_PKG_CA" "SPCD_PKG_DOS2UNIX" "SPCD_PKG_GIT" "SPCD_PYTHON_ALIAS" + "SPCD_PKG_CA" "SPCD_PKG_DOS2UNIX" "SPCD_PYTHON_ALIAS" # set ca command & root case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") @@ -1091,7 +1090,7 @@ spcd_packages_install_dos2unix() { spcd_packages_install_git() { spcd_step "Install Git" - spcd_install_package "${SPCD_PKG_GIT}" + spcd_install_package "git" } # ╭───────┬────────╮ From 6cb19d12a07e2a2ebc79c430f98b9d974c52f136 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 10:34:34 +0200 Subject: [PATCH 03/20] dos2unix --- spcd/bootstrap.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2434ad6..957f70f 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -597,11 +597,9 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" # universal SPCD_DNS_FILE="/etc/resolv.conf" SPCD_PKG_CA="ca-certificates" - SPCD_PKG_DOS2UNIX="dos2unix" SPCD_PYTHON_ALIAS="python3" spcd_split - spcd_os_printenv "SPCD_DNS_FILE" \ - "SPCD_PKG_CA" "SPCD_PKG_DOS2UNIX" "SPCD_PYTHON_ALIAS" + spcd_os_printenv "SPCD_DNS_FILE" "SPCD_PKG_CA" "SPCD_PYTHON_ALIAS" # set ca command & root case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") @@ -1085,7 +1083,7 @@ spcd_packages_upgrade_system() { spcd_packages_install_dos2unix() { spcd_step "Install dos2unix" - spcd_install_package "${SPCD_PKG_DOS2UNIX}" + spcd_install_package "dos2unix" } spcd_packages_install_git() { From ce7381d8e08fdd1d7866ee60c5c745d8c23ebfda Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 10:43:39 +0200 Subject: [PATCH 04/20] pm/upgrade --- spcd/bootstrap.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 957f70f..020e210 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -670,7 +670,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_PM_INSTALL="dnf install --assumeyes" SPCD_PM_QUERY="rpm --query" SPCD_PM_UPDATE="dnf makecache" - SPCD_PM_UPGRADE="dnf upgrade --assumeyes" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" SPCD_PM_CONF_TEXT="\ @@ -691,7 +690,6 @@ sslverify=False SPCD_PM_INSTALL="apk add" SPCD_PM_QUERY="apk info" SPCD_PM_UPDATE="apk update" - SPCD_PM_UPGRADE="apk upgrade" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -705,7 +703,6 @@ sslverify=False SPCD_PM_INSTALL="pacman --sync --noconfirm" SPCD_PM_QUERY="pacman --query" SPCD_PM_UPDATE="pacman --sync --refresh" - SPCD_PM_UPGRADE="pacman --sync --sysupgrade --noconfirm" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -719,7 +716,6 @@ SSLVerify = No SPCD_PM_INSTALL="apt-get install --assume-yes" SPCD_PM_QUERY="dpkg-query --show" SPCD_PM_UPDATE="apt-get update" - SPCD_PM_UPGRADE="apt-get upgrade --assume-yes" SPCD_PKG_PKG="apt-utils" SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" SPCD_PM_CONF_TEXT="\ @@ -739,7 +735,6 @@ Acquire::https::Verify-Peer False; SPCD_PM_INSTALL="zypper --non-interactive install" SPCD_PM_QUERY="rpm --query" SPCD_PM_UPDATE="zypper refresh" - SPCD_PM_UPGRADE="zypper --non-interactive update" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="\ @@ -752,7 +747,7 @@ Acquire::https::Verify-Peer False; esac spcd_split spcd_os_printenv "SPCD_PM_CLEAN" \ - "SPCD_PM_INSTALL" "SPCD_PM_QUERY" "SPCD_PM_UPDATE" "SPCD_PM_UPGRADE" + "SPCD_PM_INSTALL" "SPCD_PM_QUERY" "SPCD_PM_UPDATE" spcd_split spcd_os_printenv "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific @@ -1078,7 +1073,14 @@ spcd_packages_verify_https() { spcd_packages_upgrade_system() { spcd_step "Upgrade system" - ${SPCD_PM_UPGRADE} + case "${SPCD_PM}" in + "${SPCD_PM_APK}") apk upgrade ;; + "${SPCD_PM_APT}") apt-get upgrade --assume-yes ;; + "${SPCD_PM_DNF}") dnf upgrade --assumeyes ;; + "${SPCD_PM_PACMAN}") pacman --sync --sysupgrade --noconfirm ;; + "${SPCD_PM_ZYPPER}") zypper --non-interactive update ;; + *) ;; + esac } spcd_packages_install_dos2unix() { From 5fad8cbb6e9baf32993944dea673df94130c8117 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 10:49:12 +0200 Subject: [PATCH 05/20] pm/update --- spcd/bootstrap.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 020e210..dd0ee7d 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -669,7 +669,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_PM_CLEAN="dnf clean all" SPCD_PM_INSTALL="dnf install --assumeyes" SPCD_PM_QUERY="rpm --query" - SPCD_PM_UPDATE="dnf makecache" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" SPCD_PM_CONF_TEXT="\ @@ -689,7 +688,6 @@ sslverify=False SPCD_PM_CLEAN="apk cache purge" SPCD_PM_INSTALL="apk add" SPCD_PM_QUERY="apk info" - SPCD_PM_UPDATE="apk update" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -702,7 +700,6 @@ sslverify=False SPCD_PM_CLEAN="pacman --sync --clean --noconfirm" SPCD_PM_INSTALL="pacman --sync --noconfirm" SPCD_PM_QUERY="pacman --query" - SPCD_PM_UPDATE="pacman --sync --refresh" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -715,7 +712,6 @@ SSLVerify = No SPCD_PM_CLEAN="apt-get clean" SPCD_PM_INSTALL="apt-get install --assume-yes" SPCD_PM_QUERY="dpkg-query --show" - SPCD_PM_UPDATE="apt-get update" SPCD_PKG_PKG="apt-utils" SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" SPCD_PM_CONF_TEXT="\ @@ -734,7 +730,6 @@ Acquire::https::Verify-Peer False; SPCD_PM_CLEAN="zypper clean" SPCD_PM_INSTALL="zypper --non-interactive install" SPCD_PM_QUERY="rpm --query" - SPCD_PM_UPDATE="zypper refresh" SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="\ @@ -747,7 +742,7 @@ Acquire::https::Verify-Peer False; esac spcd_split spcd_os_printenv "SPCD_PM_CLEAN" \ - "SPCD_PM_INSTALL" "SPCD_PM_QUERY" "SPCD_PM_UPDATE" + "SPCD_PM_INSTALL" "SPCD_PM_QUERY" spcd_split spcd_os_printenv "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific @@ -1026,7 +1021,14 @@ spcd_packages_trust_https() { spcd_packages_update_catalog() { spcd_step "Update catalog" - ${SPCD_PM_UPDATE} + case "${SPCD_PM}" in + "${SPCD_PM_APK}") apk update ;; + "${SPCD_PM_APT}") apt-get update ;; + "${SPCD_PM_DNF}") dnf makecache ;; + "${SPCD_PM_PACMAN}") pacman --sync --refresh ;; + "${SPCD_PM_ZYPPER}") zypper refresh ;; + *) ;; + esac } spcd_packages_install_tools() { From 124549cd8b7acb24daa0d1cb071b912f4409100d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:07:27 +0200 Subject: [PATCH 06/20] ca --- spcd/bootstrap.sh | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index dd0ee7d..9d7bf0c 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -604,22 +604,29 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") SPCD_CA_ROOT="/etc/pki/ca-trust/source/anchors" - SPCD_CMD_CA="update-ca-trust" ;; - "${SPCD_OS_ALPINE}") + "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") SPCD_CA_ROOT="/usr/local/share/ca-certificates" - SPCD_CMD_CA="update-ca-certificates" ;; "${SPCD_OS_ARCH}") SPCD_CA_ROOT="/etc/ca-certificates/trust-source/anchors" - SPCD_CMD_CA="update-ca-trust" - ;; - "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - SPCD_CA_ROOT="/usr/local/share/ca-certificates" - SPCD_CMD_CA="update-ca-certificates" ;; "${SPCD_OS_OPENSUSE}") SPCD_CA_ROOT="/etc/pki/trust/anchors" + ;; + *) ;; + esac + case "${SPCD_OS_ID}" in + "${SPCD_OS_ARCH}" | \ + "${SPCD_OS_ALMA}" | \ + "${SPCD_OS_FEDORA}" | \ + "${SPCD_OS_ROCKY}") + SPCD_CMD_CA="update-ca-trust" + ;; + "${SPCD_OS_ALPINE}" | \ + "${SPCD_OS_DEBIAN}" | \ + "${SPCD_OS_OPENSUSE}" | \ + "${SPCD_OS_UBUNTU}") SPCD_CMD_CA="update-ca-certificates" ;; *) ;; From f3c6f7a1cfbe0591fb2347f5ae77e9b56a364b60 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:11:26 +0200 Subject: [PATCH 07/20] ca/update --- spcd/bootstrap.sh | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 9d7bf0c..6851b6e 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -616,23 +616,8 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" ;; *) ;; esac - case "${SPCD_OS_ID}" in - "${SPCD_OS_ARCH}" | \ - "${SPCD_OS_ALMA}" | \ - "${SPCD_OS_FEDORA}" | \ - "${SPCD_OS_ROCKY}") - SPCD_CMD_CA="update-ca-trust" - ;; - "${SPCD_OS_ALPINE}" | \ - "${SPCD_OS_DEBIAN}" | \ - "${SPCD_OS_OPENSUSE}" | \ - "${SPCD_OS_UBUNTU}") - SPCD_CMD_CA="update-ca-certificates" - ;; - *) ;; - esac spcd_split - spcd_os_printenv "SPCD_CA_ROOT" "SPCD_CMD_CA" + spcd_os_printenv "SPCD_CA_ROOT" # set package manager case "${SPCD_OS_ID}" in "${SPCD_OS_ALPINE}") @@ -1068,7 +1053,21 @@ spcd_ca_write_certificates() { spcd_ca_update_certificates() { spcd_step "Update certificates" - ${SPCD_CMD_CA} + case "${SPCD_OS_ID}" in + "${SPCD_OS_ARCH}" | \ + "${SPCD_OS_ALMA}" | \ + "${SPCD_OS_FEDORA}" | \ + "${SPCD_OS_ROCKY}") + update-ca-trust + ;; + "${SPCD_OS_ALPINE}" | \ + "${SPCD_OS_DEBIAN}" | \ + "${SPCD_OS_OPENSUSE}" | \ + "${SPCD_OS_UBUNTU}") + update-ca-certificates + ;; + *) ;; + esac } # ╭───────┬──────────╮ From 611286837493ee8aab9a10203ce574f380081eab Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:16:53 +0200 Subject: [PATCH 08/20] ca/root --- spcd/bootstrap.sh | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 6851b6e..2ff6903 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -600,24 +600,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_PYTHON_ALIAS="python3" spcd_split spcd_os_printenv "SPCD_DNS_FILE" "SPCD_PKG_CA" "SPCD_PYTHON_ALIAS" - # set ca command & root - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") - SPCD_CA_ROOT="/etc/pki/ca-trust/source/anchors" - ;; - "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - SPCD_CA_ROOT="/usr/local/share/ca-certificates" - ;; - "${SPCD_OS_ARCH}") - SPCD_CA_ROOT="/etc/ca-certificates/trust-source/anchors" - ;; - "${SPCD_OS_OPENSUSE}") - SPCD_CA_ROOT="/etc/pki/trust/anchors" - ;; - *) ;; - esac - spcd_split - spcd_os_printenv "SPCD_CA_ROOT" # set package manager case "${SPCD_OS_ID}" in "${SPCD_OS_ALPINE}") @@ -1039,12 +1021,27 @@ spcd_ca_install_package() { spcd_ca_write_certificates() { spcd_step "Write certificates" - spcd_os_mkdir "${SPCD_CA_ROOT}" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") + spcd_wcc__root="/etc/pki/ca-trust/source/anchors" + ;; + "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + spcd_wcc__root="/usr/local/share/ca-certificates" + ;; + "${SPCD_OS_ARCH}") + spcd_wcc__root="/etc/ca-certificates/trust-source/anchors" + ;; + "${SPCD_OS_OPENSUSE}") + spcd_wcc__root="/etc/pki/trust/anchors" + ;; + *) ;; + esac + spcd_os_mkdir "${spcd_wcc__root}" while true; do spcd_wcc__index=$((spcd_wcc__index + 1)) eval "spcd_wcc__text=\"\${SPCD_CA_${spcd_wcc__index}}\"" [ -n "${spcd_wcc__text}" ] || break - spcd_wcc__path="${SPCD_CA_ROOT}/${spcd_wcc__index}.crt" + spcd_wcc__path="${spcd_wcc__root}/${spcd_wcc__index}.crt" spcd_split spcd_os_write "${spcd_wcc__path}" "${spcd_wcc__text}" spcd_openssl_x509 "${spcd_wcc__path}" From b03dd41137ac37110fa23a7b485a521458ce49c6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:23:50 +0200 Subject: [PATCH 09/20] pm/clean --- spcd/bootstrap.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2ff6903..9e09d47 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -715,8 +715,7 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_os_printenv "SPCD_PM_CLEAN" \ - "SPCD_PM_INSTALL" "SPCD_PM_QUERY" + spcd_os_printenv "SPCD_PM_INSTALL" "SPCD_PM_QUERY" spcd_split spcd_os_printenv "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific @@ -875,11 +874,22 @@ spcd_environment_list_workspace() { # │ steps │ functions │ # ╰───────┴───────────╯ +spcd_clean_cache() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") apk cache purge ;; + "${SPCD_PM_APT}") apt-get clean ;; + "${SPCD_PM_DNF}") dnf clean all ;; + "${SPCD_PM_PACMAN}") pacman --sync --clean --noconfirm ;; + "${SPCD_PM_ZYPPER}") zypper clean ;; + *) ;; + esac +} + spcd_install_package() { spcd_install_package__name="${1}" if [ -n "${spcd_install_package__name}" ]; then ${SPCD_PM_INSTALL} "${spcd_install_package__name}" - ${SPCD_PM_CLEAN} + spcd_clean_cache fi } From 6df1d883ca4c1fec9af1273b671e018f1c869b4d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:24:58 +0200 Subject: [PATCH 10/20] purge --- spcd/bootstrap.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 9e09d47..f6b17a6 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -640,7 +640,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" spcd_os_printenv "SPCD_PF" "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") - SPCD_PM_CLEAN="dnf clean all" SPCD_PM_INSTALL="dnf install --assumeyes" SPCD_PM_QUERY="rpm --query" SPCD_PKG_PKG="" @@ -659,7 +658,6 @@ sslverify=False " ;; "${SPCD_PM_APK}") - SPCD_PM_CLEAN="apk cache purge" SPCD_PM_INSTALL="apk add" SPCD_PM_QUERY="apk info" SPCD_PKG_PKG="" @@ -671,7 +669,6 @@ sslverify=False " ;; "${SPCD_PM_PACMAN}") - SPCD_PM_CLEAN="pacman --sync --clean --noconfirm" SPCD_PM_INSTALL="pacman --sync --noconfirm" SPCD_PM_QUERY="pacman --query" SPCD_PKG_PKG="" @@ -683,7 +680,6 @@ SSLVerify = No " ;; "${SPCD_PM_APT}") - SPCD_PM_CLEAN="apt-get clean" SPCD_PM_INSTALL="apt-get install --assume-yes" SPCD_PM_QUERY="dpkg-query --show" SPCD_PKG_PKG="apt-utils" @@ -701,7 +697,6 @@ Acquire::https::Verify-Peer False; " ;; "${SPCD_PM_ZYPPER}") - SPCD_PM_CLEAN="zypper clean" SPCD_PM_INSTALL="zypper --non-interactive install" SPCD_PM_QUERY="rpm --query" SPCD_PKG_PKG="" From 37d39200a0537fb7aae69057ce021dbf6a3e39e1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:29:30 +0200 Subject: [PATCH 11/20] pm/tools --- spcd/bootstrap.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index f6b17a6..b84b585 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -642,7 +642,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" "${SPCD_PM_DNF}") SPCD_PM_INSTALL="dnf install --assumeyes" SPCD_PM_QUERY="rpm --query" - SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" SPCD_PM_CONF_TEXT="\ [main] @@ -660,7 +659,6 @@ sslverify=False "${SPCD_PM_APK}") SPCD_PM_INSTALL="apk add" SPCD_PM_QUERY="apk info" - SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/apk/repositories.d/https" @@ -671,7 +669,6 @@ sslverify=False "${SPCD_PM_PACMAN}") SPCD_PM_INSTALL="pacman --sync --noconfirm" SPCD_PM_QUERY="pacman --query" - SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/pacman.d/https.conf" @@ -682,7 +679,6 @@ SSLVerify = No "${SPCD_PM_APT}") SPCD_PM_INSTALL="apt-get install --assume-yes" SPCD_PM_QUERY="dpkg-query --show" - SPCD_PKG_PKG="apt-utils" SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" SPCD_PM_CONF_TEXT="\ Acquire::Check-Valid-Until True; @@ -699,7 +695,6 @@ Acquire::https::Verify-Peer False; "${SPCD_PM_ZYPPER}") SPCD_PM_INSTALL="zypper --non-interactive install" SPCD_PM_QUERY="rpm --query" - SPCD_PKG_PKG="" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="\ " @@ -712,7 +707,7 @@ Acquire::https::Verify-Peer False; spcd_split spcd_os_printenv "SPCD_PM_INSTALL" "SPCD_PM_QUERY" spcd_split - spcd_os_printenv "SPCD_PKG_PKG" "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" + spcd_os_printenv "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}") @@ -1012,7 +1007,10 @@ spcd_packages_update_catalog() { spcd_packages_install_tools() { spcd_step "Install tools" - spcd_install_package "${SPCD_PKG_PKG}" + case "${SPCD_PM}" in + "${SPCD_PM_APT}") spcd_install_package "apt-utils" ;; + *) ;; + esac } # ╭───────┬────╮ From 1c15f3fdf11a32bae8b075ca15671bdc9b2e17f6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:36:34 +0200 Subject: [PATCH 12/20] =?UTF-8?q?=E2=88=92pf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/bootstrap.sh | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index b84b585..acde953 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -405,11 +405,6 @@ 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" @@ -619,25 +614,9 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" ;; *) ;; esac - # set package format - case "${SPCD_PM}" in - "${SPCD_PM_APK}") - SPCD_PF="${SPCD_PF_APK}" - ;; - "${SPCD_PM_APT}") - SPCD_PF="${SPCD_PF_DEB}" - ;; - "${SPCD_PM_PACMAN}") - SPCD_PF="${SPCD_PF_PKG}" - ;; - "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") - SPCD_PF="${SPCD_PF_RPM}" - ;; - *) ;; - esac # set package manager variables spcd_split - spcd_os_printenv "SPCD_PF" "SPCD_PM" + spcd_os_printenv "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") SPCD_PM_INSTALL="dnf install --assumeyes" @@ -1196,8 +1175,8 @@ spcd_install_packages() { spcd_install_package "rsync" # shell check spcd_step "ShellCheck" - case "${SPCD_PF}" in - "${SPCD_PF_RPM}") + case "${SPCD_PM}" in + "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") spcd_install_package "ShellCheck" ;; *) spcd_install_package "shellcheck" ;; From 43f3540f1b9eace7e804ff032af0480129346afe Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:38:51 +0200 Subject: [PATCH 13/20] switch/1 --- spcd/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index acde953..1fe3cd8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1207,7 +1207,7 @@ spcd_python_write_module() { spcd_wpm__text="${spcd_wpm__text}${spcd_wpm__value} " done - eval "spcd_wpm__index=\$((SPCD_STEP_${SPCD_STEP_LEVEL}_INDEX + 1))" + spcd_wpm__index=$((SPCD_STEP_1_INDEX + 1)) for spcd_wpm__root in \ "${SPCD_PYTHON_PACKAGES}" "${SPCD_PYTHON_VENV_PACKAGES}"; do spcd_os_write "${spcd_wpm__root}/env.py" "${spcd_wpm__text} From f35b2cef7e23b28240c1af794c59c193af9ac227 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:42:43 +0200 Subject: [PATCH 14/20] ca/pkg --- spcd/bootstrap.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 1fe3cd8..eedf412 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -591,10 +591,9 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" spcd_os_printenv "SPCD_OS_ID" "SPCD_OS_VERSION" # universal SPCD_DNS_FILE="/etc/resolv.conf" - SPCD_PKG_CA="ca-certificates" SPCD_PYTHON_ALIAS="python3" spcd_split - spcd_os_printenv "SPCD_DNS_FILE" "SPCD_PKG_CA" "SPCD_PYTHON_ALIAS" + spcd_os_printenv "SPCD_DNS_FILE" "SPCD_PYTHON_ALIAS" # set package manager case "${SPCD_OS_ID}" in "${SPCD_OS_ALPINE}") @@ -998,7 +997,7 @@ spcd_packages_install_tools() { spcd_ca_install_package() { spcd_step "Install package" - spcd_install_package "${SPCD_PKG_CA}" + spcd_install_package "ca-certificates" } spcd_ca_write_certificates() { From 0af77deec91476b6241d8ba1bb5775181ad367e6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:46:41 +0200 Subject: [PATCH 15/20] ca --- spcd/bootstrap.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index eedf412..29dd4d5 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -823,13 +823,10 @@ Acquire::https::Verify-Peer False; ${SPCD_PYTHON_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" spcd_split 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_os_printenv "SPCD_CA" "SPCD_DL" + spcd_os_printenv "SPCD_DL" } spcd_environment_list_workspace() { @@ -965,7 +962,7 @@ spcd_packages_set_configuration() { spcd_packages_trust_https() { spcd_step "Trust HTTPS" - if [ -n "${SPCD_CA}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then + if [ -n "${SPCD_CA_1}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then spcd_os_mkdir "$(dirname "${SPCD_PM_HTTPS_PATH}")" spcd_os_write "${SPCD_PM_HTTPS_PATH}" "${SPCD_PM_HTTPS_TEXT}" fi From 4db5c7ce08d2cd1301d2fb43ebfca5c33a552f4d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 11:58:06 +0200 Subject: [PATCH 16/20] pm/install --- spcd/bootstrap.sh | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 29dd4d5..5667c7a 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -618,7 +618,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" spcd_os_printenv "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") - SPCD_PM_INSTALL="dnf install --assumeyes" SPCD_PM_QUERY="rpm --query" SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" SPCD_PM_CONF_TEXT="\ @@ -635,7 +634,6 @@ sslverify=False " ;; "${SPCD_PM_APK}") - SPCD_PM_INSTALL="apk add" SPCD_PM_QUERY="apk info" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -645,7 +643,6 @@ sslverify=False " ;; "${SPCD_PM_PACMAN}") - SPCD_PM_INSTALL="pacman --sync --noconfirm" SPCD_PM_QUERY="pacman --query" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" @@ -655,7 +652,6 @@ SSLVerify = No " ;; "${SPCD_PM_APT}") - SPCD_PM_INSTALL="apt-get install --assume-yes" SPCD_PM_QUERY="dpkg-query --show" SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" SPCD_PM_CONF_TEXT="\ @@ -671,7 +667,6 @@ Acquire::https::Verify-Peer False; " ;; "${SPCD_PM_ZYPPER}") - SPCD_PM_INSTALL="zypper --non-interactive install" SPCD_PM_QUERY="rpm --query" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="\ @@ -683,7 +678,7 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_os_printenv "SPCD_PM_INSTALL" "SPCD_PM_QUERY" + spcd_os_printenv "SPCD_PM_QUERY" spcd_split spcd_os_printenv "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific @@ -851,11 +846,15 @@ spcd_clean_cache() { } spcd_install_package() { - spcd_install_package__name="${1}" - if [ -n "${spcd_install_package__name}" ]; then - ${SPCD_PM_INSTALL} "${spcd_install_package__name}" - spcd_clean_cache - fi + case "${SPCD_PM}" in + "${SPCD_PM_APK}") apk add "${1}" ;; + "${SPCD_PM_APT}") apt-get install --assume-yes "${1}" ;; + "${SPCD_PM_DNF}") dnf install --assumeyes "${1}" ;; + "${SPCD_PM_PACMAN}") pacman --sync --noconfirm "${1}" ;; + "${SPCD_PM_ZYPPER}") zypper --non-interactive install "${1}" ;; + *) ;; + esac + spcd_clean_cache } # ╭───────┬─────╮ From 9fc6c5fea3f6eeffaa7a0722522e284cab1e9a81 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 12:04:01 +0200 Subject: [PATCH 17/20] spcd_query_package --- spcd/bootstrap.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 5667c7a..6cf0ca8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -618,7 +618,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" spcd_os_printenv "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") - SPCD_PM_QUERY="rpm --query" SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" SPCD_PM_CONF_TEXT="\ [main] @@ -634,7 +633,6 @@ sslverify=False " ;; "${SPCD_PM_APK}") - SPCD_PM_QUERY="apk info" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/apk/repositories.d/https" @@ -643,7 +641,6 @@ sslverify=False " ;; "${SPCD_PM_PACMAN}") - SPCD_PM_QUERY="pacman --query" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/pacman.d/https.conf" @@ -652,7 +649,6 @@ SSLVerify = No " ;; "${SPCD_PM_APT}") - SPCD_PM_QUERY="dpkg-query --show" SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" SPCD_PM_CONF_TEXT="\ Acquire::Check-Valid-Until True; @@ -667,7 +663,6 @@ Acquire::https::Verify-Peer False; " ;; "${SPCD_PM_ZYPPER}") - SPCD_PM_QUERY="rpm --query" SPCD_PM_CONF_PATH="" SPCD_PM_CONF_TEXT="\ " @@ -678,8 +673,6 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_os_printenv "SPCD_PM_QUERY" - spcd_split spcd_os_printenv "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" # specific case "${SPCD_OS_ID}" in @@ -857,6 +850,17 @@ spcd_install_package() { spcd_clean_cache } +spcd_query_package() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") apk info "${1}" ;; + "${SPCD_PM_APT}") dpkg-query --show "${1}" ;; + "${SPCD_PM_DNF}") rpm --query "${1}" ;; + "${SPCD_PM_PACMAN}") pacman --query "${1}" ;; + "${SPCD_PM_ZYPPER}") rpm --query "${1}" ;; + *) ;; + esac +} + # ╭───────┬─────╮ # │ steps │ dns │ # ╰───────┴─────╯ From 728acfded98b4c0ef9697a74515eb1923ba8896e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 12:36:41 +0200 Subject: [PATCH 18/20] pm/conf --- spcd/bootstrap.sh | 55 +++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 6cf0ca8..db3dcb3 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -618,54 +618,30 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" spcd_os_printenv "SPCD_PM" case "${SPCD_PM}" in "${SPCD_PM_DNF}") - SPCD_PM_CONF_PATH="/etc/dnf/dnf.conf" - SPCD_PM_CONF_TEXT="\ -[main] -best=True -clean_requirements_on_remove=True -gpgcheck=1 -installonly_limit=3 -skip_if_unavailable=False -" SPCD_PM_HTTPS_PATH="/etc/dnf/dnf.conf.d/https.conf" SPCD_PM_HTTPS_TEXT="\ sslverify=False " ;; "${SPCD_PM_APK}") - SPCD_PM_CONF_PATH="" - SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/apk/repositories.d/https" SPCD_PM_HTTPS_TEXT="\ --no-verify " ;; "${SPCD_PM_PACMAN}") - SPCD_PM_CONF_PATH="" - SPCD_PM_CONF_TEXT="" SPCD_PM_HTTPS_PATH="/etc/pacman.d/https.conf" SPCD_PM_HTTPS_TEXT="\ SSLVerify = No " ;; "${SPCD_PM_APT}") - SPCD_PM_CONF_PATH="/etc/apt/apt.conf.d/apt.conf" - SPCD_PM_CONF_TEXT="\ -Acquire::Check-Valid-Until True; -APT::Get::Show-Versions True; -APT::Install-Recommends False; -APT::Install-Suggests False; -Dir::Etc::SourceParts \"\"; -" SPCD_PM_HTTPS_PATH="/etc/apt/apt.conf.d/https" SPCD_PM_HTTPS_TEXT="\ Acquire::https::Verify-Peer False; " ;; "${SPCD_PM_ZYPPER}") - SPCD_PM_CONF_PATH="" - SPCD_PM_CONF_TEXT="\ -" SPCD_PM_HTTPS_PATH="" SPCD_PM_HTTPS_TEXT="\ " @@ -673,7 +649,7 @@ Acquire::https::Verify-Peer False; *) ;; esac spcd_split - spcd_os_printenv "SPCD_PM_CONF_PATH" "SPCD_PM_HTTPS_PATH" + spcd_os_printenv "SPCD_PM_HTTPS_PATH" # specific case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}") @@ -951,7 +927,34 @@ deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-security main universe spcd_packages_set_configuration() { spcd_step "Set configuration" - spcd_os_write "${SPCD_PM_CONF_PATH}" "${SPCD_PM_CONF_TEXT}" + case "${SPCD_PM}" in + "${SPCD_PM_DNF}") + spcd_os_write "/etc/dnf/dnf.conf" "\ +[main] +best=True +clean_requirements_on_remove=True +gpgcheck=1 +installonly_limit=3 +skip_if_unavailable=False +" + ;; + "${SPCD_PM_APK}") + ;; + "${SPCD_PM_PACMAN}") + ;; + "${SPCD_PM_APT}") + spcd_os_write "/etc/apt/apt.conf.d/apt.conf" "\ +Acquire::Check-Valid-Until True; +APT::Get::Show-Versions True; +APT::Install-Recommends False; +APT::Install-Suggests False; +Dir::Etc::SourceParts \"\"; +" + ;; + "${SPCD_PM_ZYPPER}") + ;; + *) ;; + esac case "${SPCD_OS_ID}" in "${SPCD_OS_ARCH}") pacman-key --init From 8ada57820693daff5b5adec359158a12598c4f68 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 12:43:03 +0200 Subject: [PATCH 19/20] readme/tasks --- readme.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index c8ab4a9..1d3368f 100644 --- a/readme.md +++ b/readme.md @@ -217,10 +217,16 @@ Handle project workflows in a unified way: * constants for characters * dynamic substeps * comment -* review repositories handling for systems - * opensuse - * codecs repository - * disable & enable https +* frame corners +* packages + * configure + * apk + * pacman + * zypper + * repositories + * opensuse + * codecs repository + * disable & enable https * test ### Shell → Python From 979dc07d982835418f76e4eef3bf4d561aac33a0 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 26 Aug 2024 12:43:52 +0200 Subject: [PATCH 20/20] readme/internals --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1d3368f..8bb324b 100644 --- a/readme.md +++ b/readme.md @@ -228,6 +228,7 @@ Handle project workflows in a unified way: * codecs repository * disable & enable https * test +* underscore internals ### Shell → Python