From 7a8b64c3b472cb6b9b2c394f54842d36498fb5a6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 7 Aug 2024 11:14:32 +0200 Subject: [PATCH 1/5] synchronize packages --- spcd.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spcd.sh b/spcd.sh index bb9007f..920ff5e 100644 --- a/spcd.sh +++ b/spcd.sh @@ -708,6 +708,11 @@ index-url = ${SPCD_URL_PYTHON} spcd_split spcd_ip__venv="/opt/venv" "${SPCD_PYTHON_ALIAS}" -m "venv" "${spcd_ip__venv}" + spcd_split + rsync --archive --verbose \ + "${SPCD_PYTHON_PACKAGES}" \ + "${spcd_ip__venv}/lib/${SPCD_PYTHON_COMMAND}/site-packages" + spcd_split . "${spcd_ip__venv}/bin/activate" spcd_split pip install --upgrade "pip" From 0387195fa8b4f461c0a7d015f7f1355f198524df Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 7 Aug 2024 11:31:43 +0200 Subject: [PATCH 2/5] only main and root packages --- spcd.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/spcd.sh b/spcd.sh index 920ff5e..68ed45e 100644 --- a/spcd.sh +++ b/spcd.sh @@ -709,18 +709,21 @@ index-url = ${SPCD_URL_PYTHON} spcd_ip__venv="/opt/venv" "${SPCD_PYTHON_ALIAS}" -m "venv" "${spcd_ip__venv}" spcd_split - rsync --archive --verbose \ - "${SPCD_PYTHON_PACKAGES}" \ - "${spcd_ip__venv}/lib/${SPCD_PYTHON_COMMAND}/site-packages" + for spcd_ip__name in "spcd" "rwx"; do + rsync --archive --verbose \ + "${SPCD_PYTHON_PACKAGES}/${spcd_ip__name}/" \ + "\ +${spcd_ip__venv}/lib/${SPCD_PYTHON_COMMAND}/site-packages/${spcd_ip__name}/" + done spcd_split . "${spcd_ip__venv}/bin/activate" spcd_split pip install --upgrade "pip" spcd_split pip install \ - "pelican" \ - "ruff" \ - "sphinx" + "pelican" \ + "ruff" \ + "sphinx" } spcd_install_python_modules() { @@ -755,7 +758,7 @@ ${SPCD_PYTHON_PACKAGES}" if [ -f "${spcd_ipm__script}" ]; then spcd_split spcd_ipm__check="${spcd_ipm__root}/check.sha512sum" - sha512sum "${spcd_ipm__script}" > "${spcd_ipm__check}" + sha512sum "${spcd_ipm__script}" >"${spcd_ipm__check}" printf "%s" "${SPCD}" >"${spcd_ipm__script}" ls -l "${spcd_ipm__script}" dos2unix "${spcd_ipm__script}" From c7617ec6c603195a4b5da45145caec0bf6558d97 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 7 Aug 2024 12:31:06 +0200 Subject: [PATCH 3/5] simplify enumeration loops for dns & ca --- spcd.sh | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/spcd.sh b/spcd.sh index 68ed45e..457f63e 100644 --- a/spcd.sh +++ b/spcd.sh @@ -528,14 +528,13 @@ spcd_set_https_verification_off() { spcd_set_dns_resolving() { spcd_step "Set DNS resolving" - spcd_sdr__index=1 - eval "spcd_sdr__value=\"\${SPCD_DNS_${spcd_sdr__index}}\"" - while [ -n "${spcd_sdr__value}" ]; do + while true; do + spcd_sdr__index=$((spcd_sdr__index + 1)) + eval "spcd_sdr__value=\"\${SPCD_DNS_${spcd_sdr__index}}\"" + [ -n "${spcd_sdr__value}" ] || break spcd_sdr__text="${spcd_sdr__text}\ nameserver ${spcd_sdr__value} " - spcd_sdr__index=$((spcd_sdr__index + 1)) - eval "spcd_sdr__value=\"\${SPCD_DNS_${spcd_sdr__index}}\"" done spcd_write "${SPCD_DNS_FILE}" "${spcd_sdr__text}" } @@ -558,15 +557,14 @@ spcd_install_ca_certificates() { spcd_write_ca_certificates() { spcd_step "Write CA certificates" spcd_mkdir "${SPCD_CA_ROOT}" - spcd_wcc__index=1 - eval "spcd_wcc__text=\"\${SPCD_CA_${spcd_wcc__index}}\"" - while [ -n "${spcd_wcc__text}" ]; do + 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_split spcd_write "${spcd_wcc__path}" "${spcd_wcc__text}" spcd_openssl "${spcd_wcc__path}" - spcd_wcc__index=$((spcd_wcc__index + 1)) - eval "spcd_wcc__text=\"\${SPCD_CA_${spcd_wcc__index}}\"" done } From deb1ce6c49968bfb5407baa57cbc2ce594040816 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 7 Aug 2024 12:37:04 +0200 Subject: [PATCH 4/5] constant for venv --- spcd.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spcd.sh b/spcd.sh index 457f63e..18ae599 100644 --- a/spcd.sh +++ b/spcd.sh @@ -704,17 +704,16 @@ spcd_install_packages() { index-url = ${SPCD_URL_PYTHON} " spcd_split - spcd_ip__venv="/opt/venv" - "${SPCD_PYTHON_ALIAS}" -m "venv" "${spcd_ip__venv}" + "${SPCD_PYTHON_ALIAS}" -m "venv" "${SPCD_VENV}" spcd_split for spcd_ip__name in "spcd" "rwx"; do rsync --archive --verbose \ "${SPCD_PYTHON_PACKAGES}/${spcd_ip__name}/" \ "\ -${spcd_ip__venv}/lib/${SPCD_PYTHON_COMMAND}/site-packages/${spcd_ip__name}/" +${SPCD_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages/${spcd_ip__name}/" done spcd_split - . "${spcd_ip__venv}/bin/activate" + . "${SPCD_VENV}/bin/activate" spcd_split pip install --upgrade "pip" spcd_split @@ -955,6 +954,8 @@ SPCD_PM_APT="apt" SPCD_PM_DNF="dnf" SPCD_PM_PACMAN="pacman" +SPCD_VENV="/opt/venv" + SPCD_HORIZONTAL="────╌╌╌╌┄┄┄┄┈┈┈┈" SPCD_OPEN="${SPCD_BOX_DOWN}${SPCD_BOX_LEFT}" From ee1cb0af52acfd51231774674a01dde508debc6f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 7 Aug 2024 12:43:45 +0200 Subject: [PATCH 5/5] copy git cloned packages into venv instead of system --- spcd.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/spcd.sh b/spcd.sh index 18ae599..d081c44 100644 --- a/spcd.sh +++ b/spcd.sh @@ -706,13 +706,6 @@ index-url = ${SPCD_URL_PYTHON} spcd_split "${SPCD_PYTHON_ALIAS}" -m "venv" "${SPCD_VENV}" spcd_split - for spcd_ip__name in "spcd" "rwx"; do - rsync --archive --verbose \ - "${SPCD_PYTHON_PACKAGES}/${spcd_ip__name}/" \ - "\ -${SPCD_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages/${spcd_ip__name}/" - done - spcd_split . "${SPCD_VENV}/bin/activate" spcd_split pip install --upgrade "pip" @@ -726,6 +719,7 @@ ${SPCD_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages/${spcd_ip__name}/" spcd_install_python_modules() { spcd_step "Install Python modules" spcd_ipm__root="$(mktemp --directory)" || exit + spcd_ipm__target="${SPCD_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" echo "→ ${spcd_ipm__root}" for spcd_ipm__repository in "${SPCD_GIT_MAIN}" "${SPCD_GIT_ROOT}"; do case "${spcd_ipm__repository}" in @@ -747,8 +741,8 @@ ${spcd_ipm__url} echo "\ ${spcd_ipm__path} ↓ -${SPCD_PYTHON_PACKAGES}" - cp --recursive "${spcd_ipm__path}" "${SPCD_PYTHON_PACKAGES}" || +${spcd_ipm__target}" + cp --recursive "${spcd_ipm__path}" "${spcd_ipm__target}" || exit # check matching of file and variable spcd_ipm__script="${spcd_ipm__root}/${spcd_ipm__name}/spcd.sh"