From 51c47f9c7863b79608dbc5ba25e49f2ff5a6a6aa Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 11:53:42 +0200 Subject: [PATCH 01/82] spree --- spcd.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index a577aed..42c1f46 100755 --- a/spcd.sh +++ b/spcd.sh @@ -9,8 +9,9 @@ gource \ --highlight-dirs \ --key \ --output-framerate 60 \ ---seconds-per-day 2.0 \ --output-ppm-stream - \ +--seconds-per-day 2.0 \ +--start-date "2024-08-18" \ | \ ffmpeg \ -codec:v ppm \ From 3eda7e3f865b637f46ef3dfaf38dde1b62bb900f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 11:58:46 +0200 Subject: [PATCH 02/82] viewport --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 42c1f46..5b19f64 100755 --- a/spcd.sh +++ b/spcd.sh @@ -4,7 +4,6 @@ gource \ --auto-skip-seconds 1 \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-progress \ --f \ --hide mouse,usernames \ --highlight-dirs \ --key \ @@ -12,6 +11,7 @@ gource \ --output-ppm-stream - \ --seconds-per-day 2.0 \ --start-date "2024-08-18" \ +--viewport "1920x1080" \ | \ ffmpeg \ -codec:v ppm \ From 0d565927fd09f405d14fb9ee9e32f11c34af9e0a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 12:00:24 +0200 Subject: [PATCH 03/82] double --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 5b19f64..4a02dab 100755 --- a/spcd.sh +++ b/spcd.sh @@ -9,7 +9,7 @@ gource \ --key \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 2.0 \ +--seconds-per-day 4.0 \ --start-date "2024-08-18" \ --viewport "1920x1080" \ | \ From b4bd8dfd469498eb0e90c00ad2e807d798514e5d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:24:38 +0200 Subject: [PATCH 04/82] font-scale,frameless --- spcd.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spcd.sh b/spcd.sh index 4a02dab..ac31ebc 100755 --- a/spcd.sh +++ b/spcd.sh @@ -4,6 +4,8 @@ gource \ --auto-skip-seconds 1 \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-progress \ +--font-scale 1.5 \ +--frameless \ --hide mouse,usernames \ --highlight-dirs \ --key \ From e15f10d6859e39feba4084bf38d400093b96c494 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:33:30 +0200 Subject: [PATCH 05/82] multi --- spcd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/spcd.sh b/spcd.sh index ac31ebc..c455b15 100755 --- a/spcd.sh +++ b/spcd.sh @@ -9,6 +9,7 @@ gource \ --hide mouse,usernames \ --highlight-dirs \ --key \ +--multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ --seconds-per-day 4.0 \ From 6999e326fdeee1ffb94dd44aff43f4164292a4c5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:34:13 +0200 Subject: [PATCH 06/82] 720p --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index c455b15..2641129 100755 --- a/spcd.sh +++ b/spcd.sh @@ -14,7 +14,7 @@ gource \ --output-ppm-stream - \ --seconds-per-day 4.0 \ --start-date "2024-08-18" \ ---viewport "1920x1080" \ +--viewport "1280x720" \ | \ ffmpeg \ -codec:v ppm \ From 33153a1d3e6397e66ce90328fff99be9b4edc81c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:36:04 +0200 Subject: [PATCH 07/82] all --- spcd.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 2641129..238a5c3 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,7 +13,6 @@ gource \ --output-framerate 60 \ --output-ppm-stream - \ --seconds-per-day 4.0 \ ---start-date "2024-08-18" \ --viewport "1280x720" \ | \ ffmpeg \ From 8fc3761715dc7b8a61a1ce14d7bdf5003c467a24 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:36:38 +0200 Subject: [PATCH 08/82] space --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 238a5c3..88b9cde 100755 --- a/spcd.sh +++ b/spcd.sh @@ -2,7 +2,7 @@ gource \ --auto-skip-seconds 1 \ ---date-format "%Y / %m / %d ⋅ %H : %M : %S" \ +--date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-progress \ --font-scale 1.5 \ --frameless \ From cf5ce37ca55dc86092d6fa2ec75fb6ffd500eb79 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 13:43:23 +0200 Subject: [PATCH 09/82] input,track --- spcd.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 88b9cde..7e80357 100755 --- a/spcd.sh +++ b/spcd.sh @@ -2,8 +2,9 @@ gource \ --auto-skip-seconds 1 \ +--camera-mode "track" \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ ---disable-progress \ +--disable-input \ --font-scale 1.5 \ --frameless \ --hide mouse,usernames \ From 125409e952b35bf7a37bbb9a8090b515b05d6042 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 14:14:10 +0200 Subject: [PATCH 10/82] overview --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 7e80357..fc25fbe 100755 --- a/spcd.sh +++ b/spcd.sh @@ -2,7 +2,7 @@ gource \ --auto-skip-seconds 1 \ ---camera-mode "track" \ +--camera-mode "overview" \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-input \ --font-scale 1.5 \ From e2ddb7a44da87158eaf9968f9d1829ed485483c3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 14:38:04 +0200 Subject: [PATCH 11/82] short --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index fc25fbe..3a72f80 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 4.0 \ +--seconds-per-day 1.3 \ --viewport "1280x720" \ | \ ffmpeg \ From 4ce26db50c45b05ede47e961a3035e7373894e5d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:00:31 +0200 Subject: [PATCH 12/82] tweaks --- spcd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd.sh b/spcd.sh index 3a72f80..a781b54 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,8 +13,8 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 1.3 \ ---viewport "1280x720" \ +--seconds-per-day 0.9 \ +--viewport "1920x1080" \ | \ ffmpeg \ -codec:v ppm \ From 678385d2132b7390d55e03a66f7cb25011cda571 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:06:48 +0200 Subject: [PATCH 13/82] later/gource --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f8d9ebc..da899c0 100644 --- a/readme.md +++ b/readme.md @@ -282,6 +282,7 @@ Handle project workflows in a unified way: ### Task stack * automate versions fetching +* gource, xvfb, xauth * handle openh264 repositories * tex * translate to french From eab76c5915bcbc353c1abdf343942436d9c0666e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:07:52 +0200 Subject: [PATCH 14/82] tweaks --- spcd.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spcd.sh b/spcd.sh index a781b54..a5bdf33 100755 --- a/spcd.sh +++ b/spcd.sh @@ -1,11 +1,11 @@ #! /usr/bin/env sh gource \ ---auto-skip-seconds 1 \ +--auto-skip-seconds 1.0 \ --camera-mode "overview" \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-input \ ---font-scale 1.5 \ +--font-scale 2.0 \ --frameless \ --hide mouse,usernames \ --highlight-dirs \ @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.9 \ +--seconds-per-day 0.8 \ --viewport "1920x1080" \ | \ ffmpeg \ From 4e81f9010454e8bb182229c5745f13216b99210c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:12:45 +0200 Subject: [PATCH 15/82] =?UTF-8?q?3=E2=88=954?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index a5bdf33..3aefe12 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.8 \ +--seconds-per-day 0.75 \ --viewport "1920x1080" \ | \ ffmpeg \ From fb73059f39be50b80b9b253bbbd81d00ee645c66 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:17:30 +0200 Subject: [PATCH 16/82] .7 --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 3aefe12..4cf9bd3 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.75 \ +--seconds-per-day 0.7 \ --viewport "1920x1080" \ | \ ffmpeg \ From c9e2107627e66857df30b1a10b6facfab014bb7e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:22:48 +0200 Subject: [PATCH 17/82] .5 --- spcd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd.sh b/spcd.sh index 4cf9bd3..d715853 100755 --- a/spcd.sh +++ b/spcd.sh @@ -1,7 +1,7 @@ #! /usr/bin/env sh gource \ ---auto-skip-seconds 1.0 \ +--auto-skip-seconds 0.5 \ --camera-mode "overview" \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-input \ @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.7 \ +--seconds-per-day 0.75 \ --viewport "1920x1080" \ | \ ffmpeg \ From ef26cdaa399fc73ba95596cb201bb568d5f37130 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:28:10 +0200 Subject: [PATCH 18/82] .7 --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index d715853..92e369f 100755 --- a/spcd.sh +++ b/spcd.sh @@ -13,7 +13,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.75 \ +--seconds-per-day 0.7 \ --viewport "1920x1080" \ | \ ffmpeg \ From 1dc23e865c78e2b965578782f78f93abcff227f6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:32:28 +0200 Subject: [PATCH 19/82] 2.5 --- spcd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd.sh b/spcd.sh index 92e369f..a1b2dd5 100755 --- a/spcd.sh +++ b/spcd.sh @@ -5,7 +5,7 @@ gource \ --camera-mode "overview" \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-input \ ---font-scale 2.0 \ +--font-scale 2.5 \ --frameless \ --hide mouse,usernames \ --highlight-dirs \ From d4c2f51cf901404812940b264e2bfae60872dd92 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 15:39:09 +0200 Subject: [PATCH 20/82] end --- spcd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/spcd.sh b/spcd.sh index a1b2dd5..005dcb6 100755 --- a/spcd.sh +++ b/spcd.sh @@ -14,6 +14,7 @@ gource \ --output-framerate 60 \ --output-ppm-stream - \ --seconds-per-day 0.7 \ +--stop-at-end \ --viewport "1920x1080" \ | \ ffmpeg \ From cfe376605687e94a86c985a7b475085c398668da Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 17:51:03 +0200 Subject: [PATCH 21/82] tweaks --- spcd.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spcd.sh b/spcd.sh index 005dcb6..b0ef37c 100755 --- a/spcd.sh +++ b/spcd.sh @@ -1,8 +1,7 @@ #! /usr/bin/env sh gource \ ---auto-skip-seconds 0.5 \ ---camera-mode "overview" \ +--auto-skip-seconds 0.25 \ --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ --disable-input \ --font-scale 2.5 \ @@ -13,7 +12,7 @@ gource \ --multi-sampling \ --output-framerate 60 \ --output-ppm-stream - \ ---seconds-per-day 0.7 \ +--seconds-per-day 0.6 \ --stop-at-end \ --viewport "1920x1080" \ | \ @@ -24,7 +23,7 @@ ffmpeg \ -i - \ -codec:v libx264 \ -preset veryslow \ --qp 23 \ +-qp 28 \ -movflags \ +faststart \ -pix_fmt yuv420p \ From 1ea1aff7bb9984e3883669597e440df18bfc9c73 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:23:59 +0200 Subject: [PATCH 22/82] pkg/clean --- spcd/bootstrap.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 0268849..d0179e9 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -993,17 +993,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} # │ f │ pm │ # ╰───┴────╯ -spcd_f_pm_clean() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk cache purge ;; - "${SPCD_PM_APT}") spcd_run apt-get clean ;; - "${SPCD_PM_DNF}") spcd_run dnf clean all ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --clean --noconfirm ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper clean ;; - *) ;; - esac -} - spcd_f_pm_install() { case "${SPCD_PM}" in "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; @@ -1013,7 +1002,7 @@ spcd_f_pm_install() { "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; *) ;; esac - spcd_f_pm_clean + spcd_f_pm_pkg_clean } spcd_f_pm_query() { @@ -1104,6 +1093,21 @@ spcd_f_pm_https_verify() { fi } +# ╭───┬────┬─────╮ +# │ f │ pm │ pkg │ +# ╰───┴────┴─────╯ + +spcd_f_pm_pkg_clean() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk cache purge ;; + "${SPCD_PM_APT}") spcd_run apt-get clean ;; + "${SPCD_PM_DNF}") spcd_run dnf clean all ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --clean --noconfirm ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper clean ;; + *) ;; + esac +} + # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ From d440c047e77ba562e1952a22d96b2f18fb6c9d89 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:24:54 +0200 Subject: [PATCH 23/82] pm --- spcd/bootstrap.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index d0179e9..ee01566 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -989,9 +989,9 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } -# ╭───┬────╮ -# │ f │ pm │ -# ╰───┴────╯ +# ╭───┬──────────────────────╮ +# │ f │ pm = package manager │ +# ╰───┴──────────────────────╯ spcd_f_pm_install() { case "${SPCD_PM}" in From eaa19846b87aa151dc71e3ec6594a7a889fa6948 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:26:33 +0200 Subject: [PATCH 24/82] pkg/install --- spcd/bootstrap.sh | 68 +++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index ee01566..4c77035 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -938,7 +938,7 @@ spcd_txt_locales() { spcd_split case "${SPCD_PM}" in "${SPCD_PM_APK}") - spcd_f_pm_install "musl-locales" + spcd_f_pm_pkg_install "musl-locales" export MUSL_LOCPATH="/usr/share/i18n/locales/musl" ;; "${SPCD_PM_APT}") @@ -949,17 +949,17 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} " done spcd_os_write "/etc/locale.gen" "${text}" - spcd_f_pm_install "locales" + spcd_f_pm_pkg_install "locales" ;; "${SPCD_PM_DNF}") local language for name in "${@}"; do language="$(echo "${name}" | cut -d _ -f 1)" - spcd_f_pm_install "glibc-langpack-${language}" + spcd_f_pm_pkg_install "glibc-langpack-${language}" done ;; - "${SPCD_PM_PACMAN}") spcd_f_pm_install "glibc-locales" ;; - "${SPCD_PM_ZYPPER}") spcd_f_pm_install "glibc-locale" ;; + "${SPCD_PM_PACMAN}") spcd_f_pm_pkg_install "glibc-locales" ;; + "${SPCD_PM_ZYPPER}") spcd_f_pm_pkg_install "glibc-locale" ;; *) ;; esac spcd_split @@ -993,18 +993,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ -spcd_f_pm_install() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; - "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; - "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; - *) ;; - esac - spcd_f_pm_pkg_clean -} - spcd_f_pm_query() { case "${SPCD_PM}" in "${SPCD_PM_APK}") apk info "${1}" ;; @@ -1108,6 +1096,18 @@ spcd_f_pm_pkg_clean() { esac } +spcd_f_pm_pkg_install() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; + "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; + "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; + *) ;; + esac + spcd_f_pm_pkg_clean +} + # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ @@ -1305,7 +1305,7 @@ Dir::Etc::SourceParts \"\"; spcd_step__packages_install_tools() { spcd_step "Install tools" case "${SPCD_PM}" in - "${SPCD_PM_APT}") spcd_f_pm_install "apt-utils" ;; + "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; *) ;; esac } @@ -1327,7 +1327,7 @@ spcd_step__packages_install_locales() { spcd_step__ca_install_package() { spcd_step "Install package" - spcd_f_pm_install "ca-certificates" + spcd_f_pm_pkg_install "ca-certificates" } spcd_step__ca_write_certificates() { @@ -1377,12 +1377,12 @@ spcd_step__ca_update_certificates() { spcd_step__packages_install_dos2unix() { spcd_step "Install dos2unix" - spcd_f_pm_install "dos2unix" + spcd_f_pm_pkg_install "dos2unix" } spcd_step__packages_install_git() { spcd_step "Install Git" - spcd_f_pm_install "git" + spcd_f_pm_pkg_install "git" } # ╭───┬────────╮ @@ -1391,7 +1391,7 @@ spcd_step__packages_install_git() { spcd_step__python_install() { spcd_step "Install package" - spcd_f_pm_install "${SPCD_PYTHON_PACKAGE}" + spcd_f_pm_pkg_install "${SPCD_PYTHON_PACKAGE}" spcd_step "Link alias to command" spcd_python_ln "${SPCD_PYTHON_COMMAND}" # venv @@ -1399,7 +1399,7 @@ spcd_step__python_install() { spcd_step "Install package" case "${SPCD_OS_ID}" in "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - spcd_f_pm_install "python3-venv" + spcd_f_pm_pkg_install "python3-venv" ;; *) ;; esac @@ -1449,7 +1449,7 @@ spcd_step__install_packages() { spcd_step "EPEL" case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") - spcd_f_pm_install "epel-release" + spcd_f_pm_pkg_install "epel-release" case "${SPCD_OS_VERSION}" in "9") set -- \ @@ -1481,32 +1481,32 @@ spcd_step__install_packages() { esac # graphviz spcd_step "GraphViz" - spcd_f_pm_install "graphviz" + spcd_f_pm_pkg_install "graphviz" # openssh spcd_step "OpenSSH" case "${SPCD_PM}" in "${SPCD_PM_APK}" | "${SPCD_PM_APT}") - spcd_f_pm_install "openssh-client" + spcd_f_pm_pkg_install "openssh-client" ;; "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") - spcd_f_pm_install "openssh-clients" + spcd_f_pm_pkg_install "openssh-clients" ;; - "${SPCD_PM_PACMAN}") spcd_f_pm_install "openssh" ;; + "${SPCD_PM_PACMAN}") spcd_f_pm_pkg_install "openssh" ;; *) ;; esac # plantuml spcd_step "PlantUML" - spcd_f_pm_install "plantuml" + spcd_f_pm_pkg_install "plantuml" # rsync spcd_step "Rsync" - spcd_f_pm_install "rsync" + spcd_f_pm_pkg_install "rsync" # shell check spcd_step "ShellCheck" case "${SPCD_PM}" in "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") - spcd_f_pm_install "ShellCheck" + spcd_f_pm_pkg_install "ShellCheck" ;; - *) spcd_f_pm_install "shellcheck" ;; + *) spcd_f_pm_pkg_install "shellcheck" ;; esac # shfmt spcd_step "ShellFormat" @@ -1515,10 +1515,10 @@ spcd_step__install_packages() { "${SPCD_OS_DEBIAN}") case "${SPCD_OS_VERSION}" in "bullseye") ;; - *) spcd_f_pm_install "shfmt" ;; + *) spcd_f_pm_pkg_install "shfmt" ;; esac ;; - *) spcd_f_pm_install "shfmt" ;; + *) spcd_f_pm_pkg_install "shfmt" ;; esac spcd_step_out } From 14ef58e1fcdf3de3826b248c7d55a2e317e981f2 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:28:14 +0200 Subject: [PATCH 25/82] pkg/update --- spcd/bootstrap.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 4c77035..2d34e5b 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1004,18 +1004,6 @@ spcd_f_pm_query() { esac } -spcd_f_pm_update() { - spcd_step "Update" - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk update ;; - "${SPCD_PM_APT}") spcd_run apt-get update ;; - "${SPCD_PM_DNF}") spcd_run dnf makecache ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --refresh ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper refresh ;; - *) ;; - esac -} - spcd_f_pm_upgrade() { spcd_step "Upgrade" case "${SPCD_PM}" in @@ -1108,6 +1096,18 @@ spcd_f_pm_pkg_install() { spcd_f_pm_pkg_clean } +spcd_f_pm_pkg_update() { + spcd_step "Update" + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk update ;; + "${SPCD_PM_APT}") spcd_run apt-get update ;; + "${SPCD_PM_DNF}") spcd_run dnf makecache ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --refresh ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper refresh ;; + *) ;; + esac +} + # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ @@ -1580,7 +1580,7 @@ spcd_main() { spcd_step__packages_set_repositories spcd_step__packages_set_configuration spcd_f_pm_https_trust - spcd_f_pm_update + spcd_f_pm_pkg_update spcd_step__packages_install_tools spcd_step__packages_install_locales spcd_step_out @@ -1593,7 +1593,7 @@ spcd_main() { # packages spcd_step_in "Packages" spcd_f_pm_https_verify - spcd_f_pm_update + spcd_f_pm_pkg_update spcd_f_pm_upgrade spcd_step__packages_install_dos2unix spcd_step__packages_install_git From 8d86912ab1a4bddd9d62c4188eefe89f2866e54f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:29:47 +0200 Subject: [PATCH 26/82] pkg/upgrade --- spcd/bootstrap.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2d34e5b..09fe8f7 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1004,18 +1004,6 @@ spcd_f_pm_query() { esac } -spcd_f_pm_upgrade() { - spcd_step "Upgrade" - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk upgrade ;; - "${SPCD_PM_APT}") spcd_run apt-get upgrade --assume-yes ;; - "${SPCD_PM_DNF}") spcd_run dnf upgrade --assumeyes ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --sysupgrade --noconfirm ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive update ;; - *) ;; - esac -} - # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ @@ -1108,6 +1096,18 @@ spcd_f_pm_pkg_update() { esac } +spcd_f_pm_pkg_upgrade() { + spcd_step "Upgrade" + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk upgrade ;; + "${SPCD_PM_APT}") spcd_run apt-get upgrade --assume-yes ;; + "${SPCD_PM_DNF}") spcd_run dnf upgrade --assumeyes ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --sysupgrade --noconfirm ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive update ;; + *) ;; + esac +} + # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ @@ -1594,7 +1594,7 @@ spcd_main() { spcd_step_in "Packages" spcd_f_pm_https_verify spcd_f_pm_pkg_update - spcd_f_pm_upgrade + spcd_f_pm_pkg_upgrade spcd_step__packages_install_dos2unix spcd_step__packages_install_git spcd_step_out From 794abeb3512aab01c79cd6ba05768e1a3ae5f2f2 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:36:55 +0200 Subject: [PATCH 27/82] pkg/query --- spcd/bootstrap.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 09fe8f7..f4c2c03 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -993,17 +993,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ -spcd_f_pm_query() { - 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 -} - # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ @@ -1084,6 +1073,17 @@ spcd_f_pm_pkg_install() { spcd_f_pm_pkg_clean } +spcd_f_pm_pkg_query() { + 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 +} + spcd_f_pm_pkg_update() { spcd_step "Update" case "${SPCD_PM}" in From acae6216d0325c754af39fb298e565a16aee2742 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:39:30 +0200 Subject: [PATCH 28/82] mv --- spcd/bootstrap.sh | 242 +++++++++++++++++++++++----------------------- 1 file changed, 123 insertions(+), 119 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index f4c2c03..e2913d6 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -836,6 +836,129 @@ spcd_python_pip() { fi } +# ╭───┬──────────────────────╮ +# │ f │ pm = package manager │ +# ╰───┴──────────────────────╯ + +# ╭───┬────┬───────╮ +# │ f │ pm │ https │ +# ╰───┴────┴───────╯ + +spcd_f_pm_https_path() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") echo "/etc/apk/repositories.d/https" ;; + "${SPCD_PM_APT}") echo "/etc/apt/apt.conf.d/https" ;; + "${SPCD_PM_DNF}") echo "/etc/dnf/dnf.conf.d/https.conf" ;; + "${SPCD_PM_PACMAN}") echo "/etc/pacman.d/https.conf" ;; + "${SPCD_PM_ZYPPER}") ;; + *) ;; + esac +} + +spcd_f_pm_https_trust() { + spcd_step "Trust" + local path text + if [ -n "${SPCD_CA_1}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then + path="$(spcd_f_pm_https_path)" + if [ -n "${path}" ]; then + spcd_os_mkdir "$(dirname "${path}")" + case "${SPCD_PM}" in + "${SPCD_PM_APK}") text="\ +--no-verify +" ;; + "${SPCD_PM_APT}") text="\ +Acquire::https::Verify-Peer False; +" ;; + "${SPCD_PM_DNF}") text="\ +sslverify=False +" ;; + "${SPCD_PM_PACMAN}") text="\ +SSLVerify = No +" ;; + "${SPCD_PM_ZYPPER}") ;; + *) ;; + esac + [ -n "${text}" ] && + spcd_os_write "${path}" "${text}" + fi + fi +} + +spcd_f_pm_https_verify() { + spcd_step "Verify" + local path + path="$(spcd_f_pm_https_path)" + if [ -n "${path}" ]; then + spcd_os_rm "${path}" + fi +} + +# ╭───┬────┬─────╮ +# │ f │ pm │ pkg │ +# ╰───┴────┴─────╯ + +spcd_f_pm_pkg_clean() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk cache purge ;; + "${SPCD_PM_APT}") spcd_run apt-get clean ;; + "${SPCD_PM_DNF}") spcd_run dnf clean all ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --clean --noconfirm ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper clean ;; + *) ;; + esac +} + +spcd_f_pm_pkg_install() { + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; + "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; + "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; + *) ;; + esac + spcd_f_pm_pkg_clean +} + +spcd_f_pm_pkg_query() { + 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 +} + +spcd_f_pm_pkg_update() { + spcd_step "Update" + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk update ;; + "${SPCD_PM_APT}") spcd_run apt-get update ;; + "${SPCD_PM_DNF}") spcd_run dnf makecache ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --refresh ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper refresh ;; + *) ;; + esac +} + +spcd_f_pm_pkg_upgrade() { + spcd_step "Upgrade" + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk upgrade ;; + "${SPCD_PM_APT}") spcd_run apt-get upgrade --assume-yes ;; + "${SPCD_PM_DNF}") spcd_run dnf upgrade --assumeyes ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --sysupgrade --noconfirm ;; + "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive update ;; + *) ;; + esac +} + +# ╭───┬─────╮ +# │ f │ txt │ +# ╰───┴─────╯ + spcd_txt_locale() { local action="${1}" local chosen="${2}" @@ -989,125 +1112,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } -# ╭───┬──────────────────────╮ -# │ f │ pm = package manager │ -# ╰───┴──────────────────────╯ - -# ╭───┬────┬───────╮ -# │ f │ pm │ https │ -# ╰───┴────┴───────╯ - -spcd_f_pm_https_path() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") echo "/etc/apk/repositories.d/https" ;; - "${SPCD_PM_APT}") echo "/etc/apt/apt.conf.d/https" ;; - "${SPCD_PM_DNF}") echo "/etc/dnf/dnf.conf.d/https.conf" ;; - "${SPCD_PM_PACMAN}") echo "/etc/pacman.d/https.conf" ;; - "${SPCD_PM_ZYPPER}") ;; - *) ;; - esac -} - -spcd_f_pm_https_trust() { - spcd_step "Trust" - local path text - if [ -n "${SPCD_CA_1}" ] || [ "${SPCD_PM}" = "${SPCD_PM_APT}" ]; then - path="$(spcd_f_pm_https_path)" - if [ -n "${path}" ]; then - spcd_os_mkdir "$(dirname "${path}")" - case "${SPCD_PM}" in - "${SPCD_PM_APK}") text="\ ---no-verify -" ;; - "${SPCD_PM_APT}") text="\ -Acquire::https::Verify-Peer False; -" ;; - "${SPCD_PM_DNF}") text="\ -sslverify=False -" ;; - "${SPCD_PM_PACMAN}") text="\ -SSLVerify = No -" ;; - "${SPCD_PM_ZYPPER}") ;; - *) ;; - esac - [ -n "${text}" ] && - spcd_os_write "${path}" "${text}" - fi - fi -} - -spcd_f_pm_https_verify() { - spcd_step "Verify" - local path - path="$(spcd_f_pm_https_path)" - if [ -n "${path}" ]; then - spcd_os_rm "${path}" - fi -} - -# ╭───┬────┬─────╮ -# │ f │ pm │ pkg │ -# ╰───┴────┴─────╯ - -spcd_f_pm_pkg_clean() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk cache purge ;; - "${SPCD_PM_APT}") spcd_run apt-get clean ;; - "${SPCD_PM_DNF}") spcd_run dnf clean all ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --clean --noconfirm ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper clean ;; - *) ;; - esac -} - -spcd_f_pm_pkg_install() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; - "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; - "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; - *) ;; - esac - spcd_f_pm_pkg_clean -} - -spcd_f_pm_pkg_query() { - 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 -} - -spcd_f_pm_pkg_update() { - spcd_step "Update" - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk update ;; - "${SPCD_PM_APT}") spcd_run apt-get update ;; - "${SPCD_PM_DNF}") spcd_run dnf makecache ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --refresh ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper refresh ;; - *) ;; - esac -} - -spcd_f_pm_pkg_upgrade() { - spcd_step "Upgrade" - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk upgrade ;; - "${SPCD_PM_APT}") spcd_run apt-get upgrade --assume-yes ;; - "${SPCD_PM_DNF}") spcd_run dnf upgrade --assumeyes ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --sysupgrade --noconfirm ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive update ;; - *) ;; - esac -} - # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ From ec14e2ae72553812b531907b7fef0c7ec7c0bbac Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:41:26 +0200 Subject: [PATCH 29/82] txt/locales --- spcd/bootstrap.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index e2913d6..2c301e0 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1007,7 +1007,7 @@ spcd_txt_locale() { if [ "${name}" != "LANGUAGE" ]; then export "${name}=${long}" else - export "${name}=$(spcd_txt_locales language "${chosen}")" + export "${name}=$(spcd_f_txt_locales language "${chosen}")" fi done spcd_split @@ -1048,7 +1048,7 @@ spcd_txt_locale() { esac } -spcd_txt_locales() { +spcd_f_txt_locales() { local action="${1}" local chosen="${2}" set -- \ @@ -1057,7 +1057,7 @@ spcd_txt_locales() { local name case "${action}" in "install") - spcd_txt_locales "list" + spcd_f_txt_locales "list" spcd_split case "${SPCD_PM}" in "${SPCD_PM_APK}") @@ -1086,7 +1086,7 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} *) ;; esac spcd_split - spcd_txt_locales "list" + spcd_f_txt_locales "list" ;; "language") local text @@ -1317,7 +1317,7 @@ spcd_step__packages_install_tools() { spcd_step__packages_install_locales() { spcd_step_in "Locales" spcd_step "Install" - spcd_txt_locales "install" + spcd_f_txt_locales "install" spcd_step "Set" spcd_txt_locale "set" "${SPCD_TXT_LOCALE}" spcd_step "Show" From ca5de693dc18a80ad8ce26f528d50ab114fe04cf Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:42:49 +0200 Subject: [PATCH 30/82] txt/locale --- spcd/bootstrap.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2c301e0..b6eaf31 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -959,7 +959,7 @@ spcd_f_pm_pkg_upgrade() { # │ f │ txt │ # ╰───┴─────╯ -spcd_txt_locale() { +spcd_f_txt_locale() { local action="${1}" local chosen="${2}" set -- \ @@ -994,7 +994,7 @@ spcd_txt_locale() { fi ;; "set") - spcd_txt_locale "list" + spcd_f_txt_locale "list" spcd_split local locale long if [ -n "${chosen}" ]; then @@ -1011,7 +1011,7 @@ spcd_txt_locale() { fi done spcd_split - spcd_txt_locale "list" + spcd_f_txt_locale "list" ;; "show") local regex @@ -1319,9 +1319,9 @@ spcd_step__packages_install_locales() { spcd_step "Install" spcd_f_txt_locales "install" spcd_step "Set" - spcd_txt_locale "set" "${SPCD_TXT_LOCALE}" + spcd_f_txt_locale "set" "${SPCD_TXT_LOCALE}" spcd_step "Show" - spcd_txt_locale "show" + spcd_f_txt_locale "show" spcd_step_out } From 958fb45c0915cd858585910341d903f6d5eca792 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 19:52:24 +0200 Subject: [PATCH 31/82] ca/install --- spcd/bootstrap.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index b6eaf31..876c449 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -836,6 +836,15 @@ spcd_python_pip() { fi } +# ╭───┬──────────────────────────────╮ +# │ f │ ca = certificate authorities │ +# ╰───┴──────────────────────────────╯ + +spcd_f_ca_install() { + spcd_step "Install package" + spcd_f_pm_pkg_install "ca-certificates" +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ @@ -1329,11 +1338,6 @@ spcd_step__packages_install_locales() { # │ s │ ca │ # ╰───┴────╯ -spcd_step__ca_install_package() { - spcd_step "Install package" - spcd_f_pm_pkg_install "ca-certificates" -} - spcd_step__ca_write_certificates() { spcd_step "Write certificates" local root @@ -1590,7 +1594,7 @@ spcd_main() { spcd_step_out # ca spcd_step_in "CA" - spcd_step__ca_install_package + spcd_f_ca_install spcd_step__ca_write_certificates spcd_step__ca_update_certificates spcd_step_out From 8797e27dad09773b2879052ab8378c3c8f3ccd72 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 20:31:35 +0200 Subject: [PATCH 32/82] ca/update --- spcd/bootstrap.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 876c449..273fbbf 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -845,6 +845,25 @@ spcd_f_ca_install() { spcd_f_pm_pkg_install "ca-certificates" } +spcd_f_ca_update() { + spcd_step "Update certificates" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ARCH}" | \ + "${SPCD_OS_ALMA}" | \ + "${SPCD_OS_FEDORA}" | \ + "${SPCD_OS_ROCKY}") + spcd_run update-ca-trust + ;; + "${SPCD_OS_ALPINE}" | \ + "${SPCD_OS_DEBIAN}" | \ + "${SPCD_OS_OPENSUSE}" | \ + "${SPCD_OS_UBUNTU}") + spcd_run update-ca-certificates + ;; + *) ;; + esac +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ @@ -1360,25 +1379,6 @@ spcd_step__ca_write_certificates() { spcd_ca "write" "${root}" } -spcd_step__ca_update_certificates() { - spcd_step "Update certificates" - case "${SPCD_OS_ID}" in - "${SPCD_OS_ARCH}" | \ - "${SPCD_OS_ALMA}" | \ - "${SPCD_OS_FEDORA}" | \ - "${SPCD_OS_ROCKY}") - spcd_run update-ca-trust - ;; - "${SPCD_OS_ALPINE}" | \ - "${SPCD_OS_DEBIAN}" | \ - "${SPCD_OS_OPENSUSE}" | \ - "${SPCD_OS_UBUNTU}") - spcd_run update-ca-certificates - ;; - *) ;; - esac -} - # ╭───┬──────────╮ # │ s │ packages │ # ╰───┴──────────╯ @@ -1596,7 +1596,7 @@ spcd_main() { spcd_step_in "CA" spcd_f_ca_install spcd_step__ca_write_certificates - spcd_step__ca_update_certificates + spcd_f_ca_update spcd_step_out # packages spcd_step_in "Packages" From 126de92af4c6acc1f3caf8a05c1c345a359680a5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 20:33:43 +0200 Subject: [PATCH 33/82] ca/write --- spcd/bootstrap.sh | 50 ++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 273fbbf..34fc5f8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -864,6 +864,28 @@ spcd_f_ca_update() { esac } +spcd_f_ca_write() { + spcd_step "Write certificates" + local root + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") + root="/etc/pki/ca-trust/source/anchors" + ;; + "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + root="/usr/local/share/ca-certificates" + ;; + "${SPCD_OS_ARCH}") + root="/etc/ca-certificates/trust-source/anchors" + ;; + "${SPCD_OS_OPENSUSE}") + root="/etc/pki/trust/anchors" + ;; + *) ;; + esac + spcd_os_mkdir "${root}" + spcd_ca "write" "${root}" +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ @@ -1353,32 +1375,6 @@ spcd_step__packages_install_locales() { spcd_step_out } -# ╭───┬────╮ -# │ s │ ca │ -# ╰───┴────╯ - -spcd_step__ca_write_certificates() { - spcd_step "Write certificates" - local root - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") - root="/etc/pki/ca-trust/source/anchors" - ;; - "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - root="/usr/local/share/ca-certificates" - ;; - "${SPCD_OS_ARCH}") - root="/etc/ca-certificates/trust-source/anchors" - ;; - "${SPCD_OS_OPENSUSE}") - root="/etc/pki/trust/anchors" - ;; - *) ;; - esac - spcd_os_mkdir "${root}" - spcd_ca "write" "${root}" -} - # ╭───┬──────────╮ # │ s │ packages │ # ╰───┴──────────╯ @@ -1595,7 +1591,7 @@ spcd_main() { # ca spcd_step_in "CA" spcd_f_ca_install - spcd_step__ca_write_certificates + spcd_f_ca_write spcd_f_ca_update spcd_step_out # packages From 2696514c246304fd12d3d94b1cb010a475c36d90 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 20:45:29 +0200 Subject: [PATCH 34/82] pm/install --- spcd/bootstrap.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 34fc5f8..3e5c52a 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -890,6 +890,14 @@ spcd_f_ca_write() { # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ +spcd_f_pm_install() { + spcd_step "Install tools" + case "${SPCD_PM}" in + "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; + *) ;; + esac +} + # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ @@ -1356,14 +1364,6 @@ Dir::Etc::SourceParts \"\"; esac } -spcd_step__packages_install_tools() { - spcd_step "Install tools" - case "${SPCD_PM}" in - "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; - *) ;; - esac -} - spcd_step__packages_install_locales() { spcd_step_in "Locales" spcd_step "Install" @@ -1585,7 +1585,7 @@ spcd_main() { spcd_step__packages_set_configuration spcd_f_pm_https_trust spcd_f_pm_pkg_update - spcd_step__packages_install_tools + spcd_f_pm_install spcd_step__packages_install_locales spcd_step_out # ca From 6db5bcec5cf9b17111d8c2689fccfcc07d7f35a1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 20:53:43 +0200 Subject: [PATCH 35/82] e --- spcd/bootstrap.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 3e5c52a..478994e 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -397,12 +397,12 @@ spcd_txt_get() { esac } -# ╭──────────╮ -# │ s = step │ -# ╰──────────╯ +# ╭─────────────────╮ +# │ e = environment │ +# ╰─────────────────╯ # ╭───┬───────────╮ -# │ s │ constants │ +# │ e │ constants │ # ╰───┴───────────╯ SPCD_OS_ALMA="alma" @@ -420,9 +420,9 @@ SPCD_PM_DNF="dnf" SPCD_PM_PACMAN="pacman" SPCD_PM_ZYPPER="zypper" -# ╭───┬─────────────╮ -# │ s │ environment │ -# ╰───┴─────────────╯ +# ╭───┬───────────╮ +# │ e │ functions │ +# ╰───┴───────────╯ spcd_step__environment_print() { spcd_ca "list" @@ -1170,6 +1170,10 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } +# ╭───┬──────╮ +# │ s = step │ +# ╰───┴──────╯ + # ╭───┬─────╮ # │ s │ dns │ # ╰───┴─────╯ From 39707ac621a2847683193cd3eee9e5d81f46c32c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 20:54:37 +0200 Subject: [PATCH 36/82] task --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index da899c0..b0915df 100644 --- a/readme.md +++ b/readme.md @@ -240,6 +240,7 @@ Handle project workflows in a unified way: * locales * persist * test +* workspace variable #### Shell → Python From 58192fa9f8e458164abb3155af2fcc57986db36f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 21:13:57 +0200 Subject: [PATCH 37/82] steps/locales --- spcd/bootstrap.sh | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 478994e..c0061ce 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1368,17 +1368,6 @@ Dir::Etc::SourceParts \"\"; esac } -spcd_step__packages_install_locales() { - spcd_step_in "Locales" - spcd_step "Install" - spcd_f_txt_locales "install" - spcd_step "Set" - spcd_f_txt_locale "set" "${SPCD_TXT_LOCALE}" - spcd_step "Show" - spcd_f_txt_locale "show" - spcd_step_out -} - # ╭───┬──────────╮ # │ s │ packages │ # ╰───┴──────────╯ @@ -1590,7 +1579,15 @@ spcd_main() { spcd_f_pm_https_trust spcd_f_pm_pkg_update spcd_f_pm_install - spcd_step__packages_install_locales + # locales + spcd_step_in "Locales" + spcd_step "Install" + spcd_f_txt_locales "install" + spcd_step "Set" + spcd_f_txt_locale "set" "${SPCD_TXT_LOCALE}" + spcd_step "Show" + spcd_f_txt_locale "show" + spcd_step_out spcd_step_out # ca spcd_step_in "CA" From 6685170c4f548003600f986958a5eb2cd86563cd Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 22:58:57 +0200 Subject: [PATCH 38/82] steps/dns --- spcd/bootstrap.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c0061ce..fb89491 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1174,15 +1174,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} # │ s = step │ # ╰───┴──────╯ -# ╭───┬─────╮ -# │ s │ dns │ -# ╰───┴─────╯ - -spcd_step__dns() { - spcd_step "DNS" - spcd_dns "write" -} - # ╭───┬──────────╮ # │ s │ packages │ # ╰───┴──────────╯ @@ -1571,7 +1562,8 @@ spcd_main() { spcd_step__environment_list_workspace spcd_step_out # dns - spcd_step__dns + spcd_step "DNS" + spcd_dns "write" # packages spcd_step_in "Packages" spcd_step__packages_set_repositories From dc47ace951b0e5bcfef8df6b9b904a31842fc892 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:01:41 +0200 Subject: [PATCH 39/82] f/dns --- spcd/bootstrap.sh | 52 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index fb89491..c1e64aa 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -235,30 +235,6 @@ spcd_ca() { done } -spcd_dns() { - local index name text value - while true; do - index=$((index + 1)) - name="SPCD_DNS_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break - case "${1}" in - "list") - spcd_os_printenv "${name}" - ;; - "write") - text="${text}\ -nameserver ${value} -" - ;; - *) ;; - esac - done - if [ "${1}" = "write" ]; then - spcd_os_write "/etc/resolv.conf" "${text}" - fi -} - spcd_run() { if [ -n "${1}" ]; then _spcd_frame_open "${@}" @@ -426,7 +402,7 @@ SPCD_PM_ZYPPER="zypper" spcd_step__environment_print() { spcd_ca "list" - spcd_dns "list" + spcd_f_dns "list" set -- \ "GIT_RWX" \ "GIT_SPCD" \ @@ -794,6 +770,30 @@ spcd_step__environment_list_workspace() { # │ f = function │ # ╰──────────────╯ +spcd_f_dns() { + local index name text value + while true; do + index=$((index + 1)) + name="SPCD_DNS_${index}" + eval "value=\"\${${name}}\"" + [ -n "${value}" ] || break + case "${1}" in + "list") + spcd_os_printenv "${name}" + ;; + "write") + text="${text}\ +nameserver ${value} +" + ;; + *) ;; + esac + done + if [ "${1}" = "write" ]; then + spcd_os_write "/etc/resolv.conf" "${text}" + fi +} + spcd_git_clone() { if [ -n "${1}" ]; then local name path url @@ -1563,7 +1563,7 @@ spcd_main() { spcd_step_out # dns spcd_step "DNS" - spcd_dns "write" + spcd_f_dns "write" # packages spcd_step_in "Packages" spcd_step__packages_set_repositories From d453e5eb6701eb5581b5fe3468a3870e9c6098d5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:32:36 +0200 Subject: [PATCH 40/82] f/ca --- spcd/bootstrap.sh | 52 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c1e64aa..a12fadb 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -211,30 +211,6 @@ _spcd_txt_pick() { # │ p = public │ # ╰────────────╯ -spcd_ca() { - local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" - local index name value - local root="${2}" - while true; do - index=$((index + 1)) - name="SPCD_CA_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break - case "${1}" in - "list") - echo "${name} =" - echo "${value}" | - openssl x509 -noout -text | - grep "${grep}" - ;; - "write") - spcd_os_write "${root}/${index}.crt" "${value}" - ;; - *) ;; - esac - done -} - spcd_run() { if [ -n "${1}" ]; then _spcd_frame_open "${@}" @@ -401,7 +377,7 @@ SPCD_PM_ZYPPER="zypper" # ╰───┴───────────╯ spcd_step__environment_print() { - spcd_ca "list" + spcd_f_ca "list" spcd_f_dns "list" set -- \ "GIT_RWX" \ @@ -840,6 +816,30 @@ spcd_python_pip() { # │ f │ ca = certificate authorities │ # ╰───┴──────────────────────────────╯ +spcd_f_ca() { + local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" + local index name value + local root="${2}" + while true; do + index=$((index + 1)) + name="SPCD_CA_${index}" + eval "value=\"\${${name}}\"" + [ -n "${value}" ] || break + case "${1}" in + "list") + echo "${name} =" + echo "${value}" | + openssl x509 -noout -text | + grep "${grep}" + ;; + "write") + spcd_os_write "${root}/${index}.crt" "${value}" + ;; + *) ;; + esac + done +} + spcd_f_ca_install() { spcd_step "Install package" spcd_f_pm_pkg_install "ca-certificates" @@ -883,7 +883,7 @@ spcd_f_ca_write() { *) ;; esac spcd_os_mkdir "${root}" - spcd_ca "write" "${root}" + spcd_f_ca "write" "${root}" } # ╭───┬──────────────────────╮ From 0c050ca1ae6f3586e97c695b359c804be40d74f2 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:49:16 +0200 Subject: [PATCH 41/82] pm/pkg/install --- spcd/bootstrap.sh | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index a12fadb..6003e74 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -890,14 +890,6 @@ spcd_f_ca_write() { # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ -spcd_f_pm_install() { - spcd_step "Install tools" - case "${SPCD_PM}" in - "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; - *) ;; - esac -} - # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ @@ -967,15 +959,27 @@ spcd_f_pm_pkg_clean() { } spcd_f_pm_pkg_install() { - case "${SPCD_PM}" in - "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; - "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; - "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; - "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; - "${SPCD_PM_ZYPPER}") spcd_run zypper --non-interactive install "${1}" ;; - *) ;; - esac - spcd_f_pm_pkg_clean + if [ -n "${1}" ]; then + local name + for name in "${@}"; do + case "${SPCD_PM}" in + "${SPCD_PM_APK}") spcd_run apk add "${1}" ;; + "${SPCD_PM_APT}") spcd_run apt-get install --assume-yes "${1}" ;; + "${SPCD_PM_DNF}") spcd_run dnf install --assumeyes "${1}" ;; + "${SPCD_PM_PACMAN}") spcd_run pacman --sync --noconfirm "${1}" ;; + "${SPCD_PM_ZYPPER}") + spcd_run zypper --non-interactive install "${1}" + ;; + *) ;; + esac + spcd_f_pm_pkg_clean + done + else + case "${SPCD_PM}" in + "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; + *) ;; + esac + fi } spcd_f_pm_pkg_query() { @@ -1570,7 +1574,7 @@ spcd_main() { spcd_step__packages_set_configuration spcd_f_pm_https_trust spcd_f_pm_pkg_update - spcd_f_pm_install + spcd_f_pm_pkg_install # locales spcd_step_in "Locales" spcd_step "Install" From e8011a6413d06f7b33139e4f237e43aa70658cb1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:57:03 +0200 Subject: [PATCH 42/82] env/workspace --- spcd/bootstrap.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 6003e74..c3911e8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -737,11 +737,6 @@ ${SPCD_PYTHON_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" spcd_os_printenv "SPCD_DL" } -spcd_step__environment_list_workspace() { - spcd_step "List workspace" - spcd_os_ls "$(realpath .)" -} - # ╭──────────────╮ # │ f = function │ # ╰──────────────╯ @@ -886,6 +881,14 @@ spcd_f_ca_write() { spcd_f_ca "write" "${root}" } +# ╭───┬───────────────────╮ +# │ f │ env = environment │ +# ╰───┴───────────────────╯ + +spcd_f_env_workspace() { + spcd_os_ls "$(realpath .)" +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ @@ -1563,7 +1566,8 @@ spcd_main() { spcd_step__environment_print spcd_step_out spcd_step__environment_set_variables - spcd_step__environment_list_workspace + spcd_step "List workspace" + spcd_f_env_workspace spcd_step_out # dns spcd_step "DNS" From 46860fd69dc7ab43d031e3096a94912fbd5ef176 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:58:41 +0200 Subject: [PATCH 43/82] f/git --- spcd/bootstrap.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c3911e8..cbc4f8a 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -889,6 +889,10 @@ spcd_f_env_workspace() { spcd_os_ls "$(realpath .)" } +# ╭───┬─────╮ +# │ f │ git │ +# ╰───┴─────╯ + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ From d83231c2fcdb2c589f974088c44076e4a214d59b Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 8 Sep 2024 23:59:33 +0200 Subject: [PATCH 44/82] mv --- spcd/bootstrap.sh | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index cbc4f8a..44445fe 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -765,27 +765,6 @@ nameserver ${value} fi } -spcd_git_clone() { - if [ -n "${1}" ]; then - local name path url - name="$(basename "${1}")" - path="${SPCD_DL}/${name}" - url="$(spcd_git_url "${1}")" - git clone "${url}" "${path}" - echo "${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_python_ln() { local command="${1}" if [ -n "${command}" ]; then @@ -893,6 +872,27 @@ spcd_f_env_workspace() { # │ f │ git │ # ╰───┴─────╯ +spcd_git_clone() { + if [ -n "${1}" ]; then + local name path url + name="$(basename "${1}")" + path="${SPCD_DL}/${name}" + url="$(spcd_git_url "${1}")" + git clone "${url}" "${path}" + echo "${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 +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ From 7b2a026b1e2403686f6934fd0dfa22e35a027be0 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:00:26 +0200 Subject: [PATCH 45/82] git/url --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 44445fe..a628e4f 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -877,13 +877,13 @@ spcd_git_clone() { local name path url name="$(basename "${1}")" path="${SPCD_DL}/${name}" - url="$(spcd_git_url "${1}")" + url="$(spcd_f_git_url "${1}")" git clone "${url}" "${path}" echo "${path}" fi } -spcd_git_url() { +spcd_f_git_url() { if [ -n "${1}" ]; then case "${1}" in http*) echo "${1}" ;; From 8c9880693fe2503402fabef8e36dcc9fcc528ffe Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:01:20 +0200 Subject: [PATCH 46/82] git/clone --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index a628e4f..21e092b 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -778,7 +778,7 @@ spcd_python_pip() { if [ -n "${1}" ]; then local name path target name="$(basename "${1}")" - path="$(spcd_git_clone "${1}")" + path="$(spcd_f_git_clone "${1}")" path="${path}/${name}" target="${SPCD_PYTHON_VENV_PACKAGES}" cp --recursive "${path}" "${target}" @@ -872,7 +872,7 @@ spcd_f_env_workspace() { # │ f │ git │ # ╰───┴─────╯ -spcd_git_clone() { +spcd_f_git_clone() { if [ -n "${1}" ]; then local name path url name="$(basename "${1}")" From f3a6a848d513e3b81455a8eed4cedf3fc04a9309 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:03:25 +0200 Subject: [PATCH 47/82] f/py --- spcd/bootstrap.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 21e092b..715aa67 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1024,6 +1024,10 @@ spcd_f_pm_pkg_upgrade() { esac } +# ╭───┬─────────────╮ +# │ f │ py = python │ +# ╰───┴─────────────╯ + # ╭───┬─────╮ # │ f │ txt │ # ╰───┴─────╯ From 992d79c125e835caa2d7d045fa784a4c5175c7b5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:04:20 +0200 Subject: [PATCH 48/82] mv --- spcd/bootstrap.sh | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 715aa67..dbe1e6c 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -765,27 +765,6 @@ nameserver ${value} fi } -spcd_python_ln() { - local command="${1}" - if [ -n "${command}" ]; then - echo "→ ${SPCD_PYTHON_ALIAS} → ${command}" - ln -f -s "${command}" \ - "/usr/bin/${SPCD_PYTHON_ALIAS}" - fi -} - -spcd_python_pip() { - if [ -n "${1}" ]; then - local name path target - name="$(basename "${1}")" - path="$(spcd_f_git_clone "${1}")" - path="${path}/${name}" - target="${SPCD_PYTHON_VENV_PACKAGES}" - cp --recursive "${path}" "${target}" - echo "${target}/${name}" - fi -} - # ╭───┬──────────────────────────────╮ # │ f │ ca = certificate authorities │ # ╰───┴──────────────────────────────╯ @@ -1028,6 +1007,27 @@ spcd_f_pm_pkg_upgrade() { # │ f │ py = python │ # ╰───┴─────────────╯ +spcd_python_ln() { + local command="${1}" + if [ -n "${command}" ]; then + echo "→ ${SPCD_PYTHON_ALIAS} → ${command}" + ln -f -s "${command}" \ + "/usr/bin/${SPCD_PYTHON_ALIAS}" + fi +} + +spcd_python_pip() { + if [ -n "${1}" ]; then + local name path target + name="$(basename "${1}")" + path="$(spcd_f_git_clone "${1}")" + path="${path}/${name}" + target="${SPCD_PYTHON_VENV_PACKAGES}" + cp --recursive "${path}" "${target}" + echo "${target}/${name}" + fi +} + # ╭───┬─────╮ # │ f │ txt │ # ╰───┴─────╯ From d8e681164d75bc74c48d41443083cbfbc3412864 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:05:42 +0200 Subject: [PATCH 49/82] py/link --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index dbe1e6c..0446a53 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1007,7 +1007,7 @@ spcd_f_pm_pkg_upgrade() { # │ f │ py = python │ # ╰───┴─────────────╯ -spcd_python_ln() { +spcd_f_py_link() { local command="${1}" if [ -n "${command}" ]; then echo "→ ${SPCD_PYTHON_ALIAS} → ${command}" @@ -1396,7 +1396,7 @@ spcd_step__python_install() { spcd_step "Install package" spcd_f_pm_pkg_install "${SPCD_PYTHON_PACKAGE}" spcd_step "Link alias to command" - spcd_python_ln "${SPCD_PYTHON_COMMAND}" + spcd_f_py_link "${SPCD_PYTHON_COMMAND}" # venv spcd_step_in "Virtual environment" spcd_step "Install package" From ce9e4de199f7df3340c84aa7a1ec7a2d084e3887 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:08:32 +0200 Subject: [PATCH 50/82] py/clone --- spcd/bootstrap.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 0446a53..2f7c5b0 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1016,7 +1016,7 @@ spcd_f_py_link() { fi } -spcd_python_pip() { +spcd_f_py_clone() { if [ -n "${1}" ]; then local name path target name="$(basename "${1}")" @@ -1426,7 +1426,7 @@ spcd_step__python_modules() { spcd_step "List" spcd_os_ls "${target}" spcd_step "Main" - path="$(spcd_python_pip "${SPCD_GIT_SPCD}")" + path="$(spcd_f_py_clone "${SPCD_GIT_SPCD}")" # check matching of file and variable spcd_step "Check" script="${path}/bootstrap.sh" @@ -1439,7 +1439,7 @@ spcd_step__python_modules() { ls -l "${script}" "${_SPCD_CMD_SUM}" -c "${check}" || spcd_error_ci "SPCD" spcd_step "Root" - spcd_python_pip "${SPCD_GIT_RWX}" + spcd_f_py_clone "${SPCD_GIT_RWX}" spcd_step "List" spcd_os_ls "${target}" spcd_step_out From fb95806a0b3405bd4d7c4a03e569f680a5d51741 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:09:06 +0200 Subject: [PATCH 51/82] mv --- spcd/bootstrap.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2f7c5b0..34ef921 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1007,15 +1007,6 @@ spcd_f_pm_pkg_upgrade() { # │ f │ py = python │ # ╰───┴─────────────╯ -spcd_f_py_link() { - local command="${1}" - if [ -n "${command}" ]; then - echo "→ ${SPCD_PYTHON_ALIAS} → ${command}" - ln -f -s "${command}" \ - "/usr/bin/${SPCD_PYTHON_ALIAS}" - fi -} - spcd_f_py_clone() { if [ -n "${1}" ]; then local name path target @@ -1028,6 +1019,15 @@ spcd_f_py_clone() { fi } +spcd_f_py_link() { + local command="${1}" + if [ -n "${command}" ]; then + echo "→ ${SPCD_PYTHON_ALIAS} → ${command}" + ln -f -s "${command}" \ + "/usr/bin/${SPCD_PYTHON_ALIAS}" + fi +} + # ╭───┬─────╮ # │ f │ txt │ # ╰───┴─────╯ From afa1314d1a618a22f8af579187ed93a0d5995caf Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:10:07 +0200 Subject: [PATCH 52/82] fix --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 34ef921..7ea81f9 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1185,9 +1185,9 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } -# ╭───┬──────╮ +# ╭──────────╮ # │ s = step │ -# ╰───┴──────╯ +# ╰──────────╯ # ╭───┬──────────╮ # │ s │ packages │ From a9e31fd7403c5b292ec8366836f0e87e6f0aeff8 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:15:57 +0200 Subject: [PATCH 53/82] py/save --- spcd/bootstrap.sh | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 7ea81f9..40e4c18 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1028,6 +1028,27 @@ spcd_f_py_link() { fi } +spcd_f_py_save() { + spcd_step "Write module" + local variable value text index root + for variable in \ + OS_ID OS_VERSION \ + PROJECT_ROOT PROJECT_PATH PROJECT_NAME \ + PYTHON_VENV_BINARIES PYTHON_VENV_PACKAGES \ + OPEN DOWN VERT SPLT __UP SHUT; do + value="$(spcd_os_printenv "SPCD_${variable}")" + text="${text}${value} +" + done + index=$((__SPCD_STEP_1_INDEX + 1)) + for root in \ + "${SPCD_PYTHON_PACKAGES}" "${SPCD_PYTHON_VENV_PACKAGES}"; do + spcd_os_write "${root}/env.py" "${text} +SPCD_STEP = ${index} +" + done +} + # ╭───┬─────╮ # │ f │ txt │ # ╰───┴─────╯ @@ -1526,27 +1547,6 @@ spcd_step__install_packages() { spcd_step_out } -spcd_step__python_write_module() { - spcd_step "Write module" - local variable value text index root - for variable in \ - OS_ID OS_VERSION \ - PROJECT_ROOT PROJECT_PATH PROJECT_NAME \ - PYTHON_VENV_BINARIES PYTHON_VENV_PACKAGES \ - OPEN DOWN VERT SPLT __UP SHUT; do - value="$(spcd_os_printenv "SPCD_${variable}")" - text="${text}${value} -" - done - index=$((__SPCD_STEP_1_INDEX + 1)) - for root in \ - "${SPCD_PYTHON_PACKAGES}" "${SPCD_PYTHON_VENV_PACKAGES}"; do - spcd_os_write "${root}/env.py" "${text} -SPCD_STEP = ${index} -" - done -} - spcd_step__python_switch() { spcd_step "Switch" local name path @@ -1616,7 +1616,7 @@ spcd_main() { spcd_step__python_install spcd_step__python_modules spcd_step__install_packages - spcd_step__python_write_module + spcd_f_py_save spcd_step__python_switch } From acec3522fae09e3d2232529810f49e402ae9dc07 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:19:43 +0200 Subject: [PATCH 54/82] py/switch --- spcd/bootstrap.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 40e4c18..4d61239 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1049,6 +1049,18 @@ SPCD_STEP = ${index} done } +spcd_f_py_switch() { + spcd_step "Switch" + local name path + name="$(basename "${SPCD_GIT_SPCD}")" + path="$(realpath "${0}")" + echo "\ +${path} +↓ +${SPCD_PYTHON_ALIAS} / ${name}" + "${SPCD_PYTHON_ALIAS}" -m "${name}" +} + # ╭───┬─────╮ # │ f │ txt │ # ╰───┴─────╯ @@ -1547,18 +1559,6 @@ spcd_step__install_packages() { spcd_step_out } -spcd_step__python_switch() { - spcd_step "Switch" - local name path - name="$(basename "${SPCD_GIT_SPCD}")" - path="$(realpath "${0}")" - echo "\ -${path} -↓ -${SPCD_PYTHON_ALIAS} / ${name}" - "${SPCD_PYTHON_ALIAS}" -m "${name}" -} - # ╭──────╮ # │ main │ # ╰──────╯ @@ -1617,7 +1617,7 @@ spcd_main() { spcd_step__python_modules spcd_step__install_packages spcd_f_py_save - spcd_step__python_switch + spcd_f_py_switch } spcd_main From 62ca47aab30426eca6efc4c981d43de8d0665f23 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:21:46 +0200 Subject: [PATCH 55/82] save --- spcd/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 4d61239..c8161be 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1029,7 +1029,7 @@ spcd_f_py_link() { } spcd_f_py_save() { - spcd_step "Write module" + spcd_step "Save" local variable value text index root for variable in \ OS_ID OS_VERSION \ From 5786944cf99658e7496b7e8852e383451dfc18ea Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:43:44 +0200 Subject: [PATCH 56/82] ca/write --- spcd/bootstrap.sh | 51 ++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c8161be..225178d 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -770,9 +770,32 @@ nameserver ${value} # ╰───┴──────────────────────────────╯ spcd_f_ca() { - local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" local index name value - local root="${2}" + case "${1}" in + "list") + local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" + ;; + "write") + local root + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") + root="/etc/pki/ca-trust/source/anchors" + ;; + "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + root="/usr/local/share/ca-certificates" + ;; + "${SPCD_OS_ARCH}") + root="/etc/ca-certificates/trust-source/anchors" + ;; + "${SPCD_OS_OPENSUSE}") + root="/etc/pki/trust/anchors" + ;; + *) ;; + esac + spcd_os_mkdir "${root}" + ;; + *) ;; + esac while true; do index=$((index + 1)) name="SPCD_CA_${index}" @@ -817,28 +840,6 @@ spcd_f_ca_update() { esac } -spcd_f_ca_write() { - spcd_step "Write certificates" - local root - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") - root="/etc/pki/ca-trust/source/anchors" - ;; - "${SPCD_OS_ALPINE}" | "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - root="/usr/local/share/ca-certificates" - ;; - "${SPCD_OS_ARCH}") - root="/etc/ca-certificates/trust-source/anchors" - ;; - "${SPCD_OS_OPENSUSE}") - root="/etc/pki/trust/anchors" - ;; - *) ;; - esac - spcd_os_mkdir "${root}" - spcd_f_ca "write" "${root}" -} - # ╭───┬───────────────────╮ # │ f │ env = environment │ # ╰───┴───────────────────╯ @@ -1600,7 +1601,7 @@ spcd_main() { # ca spcd_step_in "CA" spcd_f_ca_install - spcd_f_ca_write + spcd_f_ca "write" spcd_f_ca_update spcd_step_out # packages From 19b7ad46756b40dbcc52c769caec2e19fbbe96f1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:44:19 +0200 Subject: [PATCH 57/82] mv --- spcd/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 225178d..1a843ce 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -770,7 +770,6 @@ nameserver ${value} # ╰───┴──────────────────────────────╯ spcd_f_ca() { - local index name value case "${1}" in "list") local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" @@ -796,6 +795,7 @@ spcd_f_ca() { ;; *) ;; esac + local index name value while true; do index=$((index + 1)) name="SPCD_CA_${index}" From 0bb39456e2351cfbf41c722f8f92cc1d95c0106d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:46:16 +0200 Subject: [PATCH 58/82] indent --- spcd.sh | 55 +++++++++++++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/spcd.sh b/spcd.sh index b0ef37c..76cb937 100755 --- a/spcd.sh +++ b/spcd.sh @@ -1,31 +1,30 @@ #! /usr/bin/env sh gource \ ---auto-skip-seconds 0.25 \ ---date-format "%Y / %m / %d ⋅ %H : %M : %S" \ ---disable-input \ ---font-scale 2.5 \ ---frameless \ ---hide mouse,usernames \ ---highlight-dirs \ ---key \ ---multi-sampling \ ---output-framerate 60 \ ---output-ppm-stream - \ ---seconds-per-day 0.6 \ ---stop-at-end \ ---viewport "1920x1080" \ -| \ -ffmpeg \ --codec:v ppm \ --format image2pipe \ --framerate 120 \ --i - \ --codec:v libx264 \ --preset veryslow \ --qp 28 \ --movflags \ -+faststart \ --pix_fmt yuv420p \ --y \ -spcd.mp4 + --auto-skip-seconds 0.25 \ + --date-format "%Y / %m / %d ⋅ %H : %M : %S" \ + --disable-input \ + --font-scale 2.5 \ + --frameless \ + --hide mouse,usernames \ + --highlight-dirs \ + --key \ + --multi-sampling \ + --output-framerate 60 \ + --output-ppm-stream - \ + --seconds-per-day 0.6 \ + --stop-at-end \ + --viewport "1920x1080" | + ffmpeg \ + -codec:v ppm \ + -format image2pipe \ + -framerate 120 \ + -i - \ + -codec:v libx264 \ + -preset veryslow \ + -qp 28 \ + -movflags \ + +faststart \ + -pix_fmt yuv420p \ + -y \ + spcd.mp4 From 59105a0c54f6355437d3a358299e8729e749a2fd Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:48:56 +0200 Subject: [PATCH 59/82] py/install --- spcd/bootstrap.sh | 56 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 1a843ce..3bda802 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1020,6 +1020,33 @@ spcd_f_py_clone() { fi } +spcd_f_py_install() { + spcd_step "Install package" + spcd_f_pm_pkg_install "${SPCD_PYTHON_PACKAGE}" + spcd_step "Link alias to command" + spcd_f_py_link "${SPCD_PYTHON_COMMAND}" + # venv + spcd_step_in "Virtual environment" + spcd_step "Install package" + case "${SPCD_OS_ID}" in + "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + spcd_f_pm_pkg_install "python3-venv" + ;; + *) ;; + esac + spcd_step "Configure PIP" + spcd_os_write "/etc/pip.conf" "\ +[global] +index-url = ${SPCD_URL_PYTHON}/simple +" + spcd_step "Create" + "${SPCD_PYTHON_ALIAS}" -m "venv" "${SPCD_PYTHON_VENV}" + spcd_step "Activate" + export PATH="${SPCD_PYTHON_VENV_BINARIES}:${PATH}" + export VIRTUAL_ENV="${SPCD_PYTHON_VENV}" + spcd_step_out +} + spcd_f_py_link() { local command="${1}" if [ -n "${command}" ]; then @@ -1426,33 +1453,6 @@ spcd_step__packages_install_git() { # │ s │ python │ # ╰───┴────────╯ -spcd_step__python_install() { - spcd_step "Install package" - spcd_f_pm_pkg_install "${SPCD_PYTHON_PACKAGE}" - spcd_step "Link alias to command" - spcd_f_py_link "${SPCD_PYTHON_COMMAND}" - # venv - spcd_step_in "Virtual environment" - spcd_step "Install package" - case "${SPCD_OS_ID}" in - "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - spcd_f_pm_pkg_install "python3-venv" - ;; - *) ;; - esac - spcd_step "Configure PIP" - spcd_os_write "/etc/pip.conf" "\ -[global] -index-url = ${SPCD_URL_PYTHON}/simple -" - spcd_step "Create" - "${SPCD_PYTHON_ALIAS}" -m "venv" "${SPCD_PYTHON_VENV}" - spcd_step "Activate" - export PATH="${SPCD_PYTHON_VENV_BINARIES}:${PATH}" - export VIRTUAL_ENV="${SPCD_PYTHON_VENV}" - spcd_step_out -} - spcd_step__python_modules() { spcd_step_in "Modules" local target path script check @@ -1614,7 +1614,7 @@ spcd_main() { spcd_step_out # python spcd_step_in "Python" - spcd_step__python_install + spcd_f_py_install spcd_step__python_modules spcd_step__install_packages spcd_f_py_save From 373f5ef236f4118e3056f2b5fe1c7669a2aff3dd Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 00:55:49 +0200 Subject: [PATCH 60/82] f/pkg --- spcd/bootstrap.sh | 164 +++++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 3bda802..6477eaf 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -765,6 +765,87 @@ nameserver ${value} fi } +spcd_f_pkg() { + spcd_step_in "OS packages" + local file + # epel + spcd_step "EPEL" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") + spcd_f_pm_pkg_install "epel-release" + case "${SPCD_OS_VERSION}" in + "9") + set -- \ + "-testing" \ + "" + ;; + "8") + set -- \ + "-modular" \ + "-testing-modular" \ + "-testing" \ + "" + ;; + *) ;; + esac + for file in "${@}"; do + spcd_os_sed "/etc/yum.repos.d/epel${file}.repo" \ + "|^metalink|#metalink|" \ + "|https://download.example/pub/epel|${SPCD_URL_EPEL}|" \ + "|^#baseurl|baseurl|" + done + file="/etc/yum.repos.d/epel-cisco-openh264.repo" + if [ -f "${file}" ]; then + spcd_os_sed "${file}" \ + "|^enabled=1|enabled=0|" + fi + ;; + *) ;; + esac + # graphviz + spcd_step "GraphViz" + spcd_f_pm_pkg_install "graphviz" + # openssh + spcd_step "OpenSSH" + case "${SPCD_PM}" in + "${SPCD_PM_APK}" | "${SPCD_PM_APT}") + spcd_f_pm_pkg_install "openssh-client" + ;; + "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") + spcd_f_pm_pkg_install "openssh-clients" + ;; + "${SPCD_PM_PACMAN}") spcd_f_pm_pkg_install "openssh" ;; + *) ;; + esac + # plantuml + spcd_step "PlantUML" + spcd_f_pm_pkg_install "plantuml" + # rsync + spcd_step "Rsync" + spcd_f_pm_pkg_install "rsync" + # shell check + spcd_step "ShellCheck" + case "${SPCD_PM}" in + "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") + spcd_f_pm_pkg_install "ShellCheck" + ;; + *) spcd_f_pm_pkg_install "shellcheck" ;; + esac + # shfmt + spcd_step "ShellFormat" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") ;; + "${SPCD_OS_DEBIAN}") + case "${SPCD_OS_VERSION}" in + "bullseye") ;; + *) spcd_f_pm_pkg_install "shfmt" ;; + esac + ;; + *) spcd_f_pm_pkg_install "shfmt" ;; + esac + spcd_step_out +} + # ╭───┬──────────────────────────────╮ # │ f │ ca = certificate authorities │ # ╰───┴──────────────────────────────╯ @@ -1479,87 +1560,6 @@ spcd_step__python_modules() { spcd_step_out } -spcd_step__install_packages() { - spcd_step_in "OS packages" - local file - # epel - spcd_step "EPEL" - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") - spcd_f_pm_pkg_install "epel-release" - case "${SPCD_OS_VERSION}" in - "9") - set -- \ - "-testing" \ - "" - ;; - "8") - set -- \ - "-modular" \ - "-testing-modular" \ - "-testing" \ - "" - ;; - *) ;; - esac - for file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/epel${file}.repo" \ - "|^metalink|#metalink|" \ - "|https://download.example/pub/epel|${SPCD_URL_EPEL}|" \ - "|^#baseurl|baseurl|" - done - file="/etc/yum.repos.d/epel-cisco-openh264.repo" - if [ -f "${file}" ]; then - spcd_os_sed "${file}" \ - "|^enabled=1|enabled=0|" - fi - ;; - *) ;; - esac - # graphviz - spcd_step "GraphViz" - spcd_f_pm_pkg_install "graphviz" - # openssh - spcd_step "OpenSSH" - case "${SPCD_PM}" in - "${SPCD_PM_APK}" | "${SPCD_PM_APT}") - spcd_f_pm_pkg_install "openssh-client" - ;; - "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") - spcd_f_pm_pkg_install "openssh-clients" - ;; - "${SPCD_PM_PACMAN}") spcd_f_pm_pkg_install "openssh" ;; - *) ;; - esac - # plantuml - spcd_step "PlantUML" - spcd_f_pm_pkg_install "plantuml" - # rsync - spcd_step "Rsync" - spcd_f_pm_pkg_install "rsync" - # shell check - spcd_step "ShellCheck" - case "${SPCD_PM}" in - "${SPCD_PM_DNF}" | "${SPCD_PM_ZYPPER}") - spcd_f_pm_pkg_install "ShellCheck" - ;; - *) spcd_f_pm_pkg_install "shellcheck" ;; - esac - # shfmt - spcd_step "ShellFormat" - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") ;; - "${SPCD_OS_DEBIAN}") - case "${SPCD_OS_VERSION}" in - "bullseye") ;; - *) spcd_f_pm_pkg_install "shfmt" ;; - esac - ;; - *) spcd_f_pm_pkg_install "shfmt" ;; - esac - spcd_step_out -} - # ╭──────╮ # │ main │ # ╰──────╯ @@ -1616,7 +1616,7 @@ spcd_main() { spcd_step_in "Python" spcd_f_py_install spcd_step__python_modules - spcd_step__install_packages + spcd_f_pkg spcd_f_py_save spcd_f_py_switch } From 5543b5de661a787b8970ae268f9524564a24b795 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 01:04:13 +0200 Subject: [PATCH 61/82] py/download --- spcd/bootstrap.sh | 58 ++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 6477eaf..ee0a381 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1101,6 +1101,32 @@ spcd_f_py_clone() { fi } +spcd_f_py_download() { + spcd_step_in "Modules" + local target path script check + target="${SPCD_PYTHON_VENV_PACKAGES}" + spcd_step "List" + spcd_os_ls "${target}" + spcd_step "Main" + path="$(spcd_f_py_clone "${SPCD_GIT_SPCD}")" + # check matching of file and variable + spcd_step "Check" + script="${path}/bootstrap.sh" + ls -l "${script}" + check="${script}.${_SPCD_CMD_SUM}" + "${_SPCD_CMD_SUM}" "${script}" >"${check}" + printf "%s" "${SPCD}" >"${script}" + ls -l "${script}" + dos2unix "${script}" + ls -l "${script}" + "${_SPCD_CMD_SUM}" -c "${check}" || spcd_error_ci "SPCD" + spcd_step "Root" + spcd_f_py_clone "${SPCD_GIT_RWX}" + spcd_step "List" + spcd_os_ls "${target}" + spcd_step_out +} + spcd_f_py_install() { spcd_step "Install package" spcd_f_pm_pkg_install "${SPCD_PYTHON_PACKAGE}" @@ -1530,36 +1556,6 @@ spcd_step__packages_install_git() { spcd_f_pm_pkg_install "git" } -# ╭───┬────────╮ -# │ s │ python │ -# ╰───┴────────╯ - -spcd_step__python_modules() { - spcd_step_in "Modules" - local target path script check - target="${SPCD_PYTHON_VENV_PACKAGES}" - spcd_step "List" - spcd_os_ls "${target}" - spcd_step "Main" - path="$(spcd_f_py_clone "${SPCD_GIT_SPCD}")" - # check matching of file and variable - spcd_step "Check" - script="${path}/bootstrap.sh" - ls -l "${script}" - check="${script}.${_SPCD_CMD_SUM}" - "${_SPCD_CMD_SUM}" "${script}" >"${check}" - printf "%s" "${SPCD}" >"${script}" - ls -l "${script}" - dos2unix "${script}" - ls -l "${script}" - "${_SPCD_CMD_SUM}" -c "${check}" || spcd_error_ci "SPCD" - spcd_step "Root" - spcd_f_py_clone "${SPCD_GIT_RWX}" - spcd_step "List" - spcd_os_ls "${target}" - spcd_step_out -} - # ╭──────╮ # │ main │ # ╰──────╯ @@ -1615,7 +1611,7 @@ spcd_main() { # python spcd_step_in "Python" spcd_f_py_install - spcd_step__python_modules + spcd_f_py_download spcd_f_pkg spcd_f_py_save spcd_f_py_switch From c2459552e35fe743effc66f389662c2d835712ca Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 01:09:19 +0200 Subject: [PATCH 62/82] f/pkg --- spcd/bootstrap.sh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index ee0a381..d12e5e5 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -954,6 +954,20 @@ spcd_f_git_url() { fi } +# ╭───┬───────────────╮ +# │ f │ pkg = package │ +# ╰───┴───────────────╯ + +spcd_f_pkg_dos2unix() { + spcd_step "Install dos2unix" + spcd_f_pm_pkg_install "dos2unix" +} + +spcd_f_pkg_git() { + spcd_step "Install Git" + spcd_f_pm_pkg_install "git" +} + # ╭───┬──────────────────────╮ # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ @@ -1542,20 +1556,6 @@ Dir::Etc::SourceParts \"\"; esac } -# ╭───┬──────────╮ -# │ s │ packages │ -# ╰───┴──────────╯ - -spcd_step__packages_install_dos2unix() { - spcd_step "Install dos2unix" - spcd_f_pm_pkg_install "dos2unix" -} - -spcd_step__packages_install_git() { - spcd_step "Install Git" - spcd_f_pm_pkg_install "git" -} - # ╭──────╮ # │ main │ # ╰──────╯ @@ -1605,8 +1605,8 @@ spcd_main() { spcd_f_pm_https_verify spcd_f_pm_pkg_update spcd_f_pm_pkg_upgrade - spcd_step__packages_install_dos2unix - spcd_step__packages_install_git + spcd_f_pkg_dos2unix + spcd_f_pkg_git spcd_step_out # python spcd_step_in "Python" From 86d07730bc2e5e7652937b130b8d94e12943dec3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 01:11:27 +0200 Subject: [PATCH 63/82] step/packages --- spcd/bootstrap.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index d12e5e5..dbb40a5 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1367,13 +1367,9 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } -# ╭──────────╮ -# │ s = step │ -# ╰──────────╯ - -# ╭───┬──────────╮ -# │ s │ packages │ -# ╰───┴──────────╯ +# ╭──────┬──────────╮ +# │ step │ packages │ +# ╰──────┴──────────╯ spcd_step__packages_set_repositories() { spcd_step "Set repositories" From ef83f1a8283e3c9bffd34d50d1e368552e0cfa88 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:31:04 +0200 Subject: [PATCH 64/82] mv --- spcd/bootstrap.sh | 370 +++++++++++++++++++++++----------------------- 1 file changed, 185 insertions(+), 185 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index dbb40a5..657fe0a 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -972,6 +972,191 @@ spcd_f_pkg_git() { # │ f │ pm = package manager │ # ╰───┴──────────────────────╯ +# ╭───┬────┬──────────────────╮ +# │ f │ pm │ conf = configure │ +# ╰───┴────┴──────────────────╯ + +spcd_step__packages_set_repositories() { + spcd_step "Set repositories" + local file + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}") + case "${SPCD_OS_VERSION}" in + "9") + set -- \ + "-appstream" \ + "-baseos" \ + "-crb" \ + "-extras" \ + "-highavailability" \ + "-nfv" \ + "-plus" \ + "-resilientstorage" \ + "-rt" \ + "-sap" \ + "-saphana" + ;; + "8") + set -- \ + "-ha" \ + "-nfv" \ + "-plus" \ + "-powertools" \ + "-resilientstorage" \ + "-rt" \ + "-sap" \ + "-saphana" \ + "" + ;; + *) ;; + esac + for file in "${@}"; do + spcd_os_sed "/etc/yum.repos.d/almalinux${file}.repo" \ + "|^mirrorlist|#mirrorlist|" \ + "|https://repo.almalinux.org|${SPCD_URL_ALMA}|" \ + "|^# baseurl|baseurl|" + done + ;; + "${SPCD_OS_ALPINE}") + spcd_os_write "/etc/apk/repositories" "\ +${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/main +${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/community +" + ;; + "${SPCD_OS_ARCH}") + spcd_os_write "/etc/pacman.d/mirrorlist" "\ +Server = ${SPCD_URL_ARCH}/\$repo/os/\$arch +" + ;; + "${SPCD_OS_DEBIAN}") + spcd_os_write "/etc/apt/sources.list" "\ +deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION} main +deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-backports main +deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-updates main +deb ${SPCD_URL_DEBIAN}-security ${SPCD_OS_VERSION}-security main +" + ;; + "${SPCD_OS_FEDORA}") + set -- \ + "-updates-testing" \ + "-updates" \ + "" + for file in "${@}"; do + spcd_os_sed "/etc/yum.repos.d/fedora${file}.repo" \ + "|^metalink|#metalink|" "\ +|http://download.example/pub/fedora/linux|${SPCD_URL_FEDORA}|" \ + "|^#baseurl|baseurl|" + done + spcd_os_sed "/etc/yum.repos.d/fedora-cisco-openh264.repo" \ + "|^enabled=1|enabled=0|" + ;; + "${SPCD_OS_OPENSUSE}") + set -- \ + "backports-debug-update" \ + "backports-update" \ + "debug-non-oss" \ + "debug-update-non-oss" \ + "debug-update" \ + "debug" \ + "non-oss" \ + "oss" \ + "sle-debug-update" \ + "sle-update" \ + "source" \ + "update-non-oss" \ + "update" + for file in "${@}"; do + spcd_os_sed "/etc/zypp/repos.d/repo-${file}.repo" \ + "|http://download.opensuse.org|${SPCD_URL_OPENSUSE}|" + done + spcd_os_sed "/etc/zypp/repos.d/repo-openh264.repo" \ + "|^enabled=1|enabled=0|" + ;; + "${SPCD_OS_ROCKY}") + case "${SPCD_OS_VERSION}" in + "9") + set -- \ + "rocky-addons" \ + "rocky-devel" \ + "rocky-extras" \ + "rocky" + ;; + "8") + # not Rocky-Media + set -- \ + "Rocky-AppStream" \ + "Rocky-BaseOS" \ + "Rocky-Debuginfo" \ + "Rocky-Devel" \ + "Rocky-Extras" \ + "Rocky-HighAvailability" \ + "Rocky-NFV" \ + "Rocky-Plus" \ + "Rocky-PowerTools" \ + "Rocky-RT" \ + "Rocky-ResilientStorage" \ + "Rocky-Sources" + ;; + *) ;; + esac + for file in "${@}"; do + spcd_os_sed "/etc/yum.repos.d/${file}.repo" \ + "|^mirrorlist|#mirrorlist|" \ + "|http://dl.rockylinux.org|${SPCD_URL_ROCKY}|" \ + "|^#baseurl|baseurl|" + done + ;; + "${SPCD_OS_UBUNTU}") + spcd_os_write "/etc/apt/sources.list" "\ +deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION} main universe +deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-backports main universe +deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-updates main universe +deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-security main universe +" + ;; + *) ;; + esac +} + +spcd_step__packages_set_configuration() { + spcd_step "Set configuration" + 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}") + spcd_run pacman-key --init + ;; + "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + export DEBIAN_FRONTEND="noninteractive" + spcd_os_printenv DEBIAN_FRONTEND + ;; + *) ;; + esac +} + # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ @@ -1367,191 +1552,6 @@ ${name}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} esac } -# ╭──────┬──────────╮ -# │ step │ packages │ -# ╰──────┴──────────╯ - -spcd_step__packages_set_repositories() { - spcd_step "Set repositories" - local file - case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}") - case "${SPCD_OS_VERSION}" in - "9") - set -- \ - "-appstream" \ - "-baseos" \ - "-crb" \ - "-extras" \ - "-highavailability" \ - "-nfv" \ - "-plus" \ - "-resilientstorage" \ - "-rt" \ - "-sap" \ - "-saphana" - ;; - "8") - set -- \ - "-ha" \ - "-nfv" \ - "-plus" \ - "-powertools" \ - "-resilientstorage" \ - "-rt" \ - "-sap" \ - "-saphana" \ - "" - ;; - *) ;; - esac - for file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/almalinux${file}.repo" \ - "|^mirrorlist|#mirrorlist|" \ - "|https://repo.almalinux.org|${SPCD_URL_ALMA}|" \ - "|^# baseurl|baseurl|" - done - ;; - "${SPCD_OS_ALPINE}") - spcd_os_write "/etc/apk/repositories" "\ -${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/main -${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/community -" - ;; - "${SPCD_OS_ARCH}") - spcd_os_write "/etc/pacman.d/mirrorlist" "\ -Server = ${SPCD_URL_ARCH}/\$repo/os/\$arch -" - ;; - "${SPCD_OS_DEBIAN}") - spcd_os_write "/etc/apt/sources.list" "\ -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION} main -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-backports main -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-updates main -deb ${SPCD_URL_DEBIAN}-security ${SPCD_OS_VERSION}-security main -" - ;; - "${SPCD_OS_FEDORA}") - set -- \ - "-updates-testing" \ - "-updates" \ - "" - for file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/fedora${file}.repo" \ - "|^metalink|#metalink|" "\ -|http://download.example/pub/fedora/linux|${SPCD_URL_FEDORA}|" \ - "|^#baseurl|baseurl|" - done - spcd_os_sed "/etc/yum.repos.d/fedora-cisco-openh264.repo" \ - "|^enabled=1|enabled=0|" - ;; - "${SPCD_OS_OPENSUSE}") - set -- \ - "backports-debug-update" \ - "backports-update" \ - "debug-non-oss" \ - "debug-update-non-oss" \ - "debug-update" \ - "debug" \ - "non-oss" \ - "oss" \ - "sle-debug-update" \ - "sle-update" \ - "source" \ - "update-non-oss" \ - "update" - for file in "${@}"; do - spcd_os_sed "/etc/zypp/repos.d/repo-${file}.repo" \ - "|http://download.opensuse.org|${SPCD_URL_OPENSUSE}|" - done - spcd_os_sed "/etc/zypp/repos.d/repo-openh264.repo" \ - "|^enabled=1|enabled=0|" - ;; - "${SPCD_OS_ROCKY}") - case "${SPCD_OS_VERSION}" in - "9") - set -- \ - "rocky-addons" \ - "rocky-devel" \ - "rocky-extras" \ - "rocky" - ;; - "8") - # not Rocky-Media - set -- \ - "Rocky-AppStream" \ - "Rocky-BaseOS" \ - "Rocky-Debuginfo" \ - "Rocky-Devel" \ - "Rocky-Extras" \ - "Rocky-HighAvailability" \ - "Rocky-NFV" \ - "Rocky-Plus" \ - "Rocky-PowerTools" \ - "Rocky-RT" \ - "Rocky-ResilientStorage" \ - "Rocky-Sources" - ;; - *) ;; - esac - for file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/${file}.repo" \ - "|^mirrorlist|#mirrorlist|" \ - "|http://dl.rockylinux.org|${SPCD_URL_ROCKY}|" \ - "|^#baseurl|baseurl|" - done - ;; - "${SPCD_OS_UBUNTU}") - spcd_os_write "/etc/apt/sources.list" "\ -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION} main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-backports main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-updates main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-security main universe -" - ;; - *) ;; - esac -} - -spcd_step__packages_set_configuration() { - spcd_step "Set configuration" - 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}") - spcd_run pacman-key --init - ;; - "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - export DEBIAN_FRONTEND="noninteractive" - spcd_os_printenv DEBIAN_FRONTEND - ;; - *) ;; - esac -} - # ╭──────╮ # │ main │ # ╰──────╯ From 9b8470f7cb47bebca3d708f9add9f6610772e408 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:31:55 +0200 Subject: [PATCH 65/82] swap --- spcd/bootstrap.sh | 78 +++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 657fe0a..3707bed 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -976,6 +976,45 @@ spcd_f_pkg_git() { # │ f │ pm │ conf = configure │ # ╰───┴────┴──────────────────╯ +spcd_step__packages_set_configuration() { + spcd_step "Set configuration" + 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}") + spcd_run pacman-key --init + ;; + "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") + export DEBIAN_FRONTEND="noninteractive" + spcd_os_printenv DEBIAN_FRONTEND + ;; + *) ;; + esac +} + spcd_step__packages_set_repositories() { spcd_step "Set repositories" local file @@ -1118,45 +1157,6 @@ deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-security main universe esac } -spcd_step__packages_set_configuration() { - spcd_step "Set configuration" - 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}") - spcd_run pacman-key --init - ;; - "${SPCD_OS_DEBIAN}" | "${SPCD_OS_UBUNTU}") - export DEBIAN_FRONTEND="noninteractive" - spcd_os_printenv DEBIAN_FRONTEND - ;; - *) ;; - esac -} - # ╭───┬────┬───────╮ # │ f │ pm │ https │ # ╰───┴────┴───────╯ From 9a302a4d4f4150c324846db12b7a7fc00a76815a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:33:20 +0200 Subject: [PATCH 66/82] pm/conf --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 3707bed..513af69 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -976,7 +976,7 @@ spcd_f_pkg_git() { # │ f │ pm │ conf = configure │ # ╰───┴────┴──────────────────╯ -spcd_step__packages_set_configuration() { +spcd_f_pm_conf() { spcd_step "Set configuration" case "${SPCD_PM}" in "${SPCD_PM_DNF}") @@ -1576,7 +1576,7 @@ spcd_main() { # packages spcd_step_in "Packages" spcd_step__packages_set_repositories - spcd_step__packages_set_configuration + spcd_f_pm_conf spcd_f_pm_https_trust spcd_f_pm_pkg_update spcd_f_pm_pkg_install From f8490994d96b9cd6bd428bccf408aa76938d867d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:34:22 +0200 Subject: [PATCH 67/82] conf/repos --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 513af69..400642b 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1015,7 +1015,7 @@ Dir::Etc::SourceParts \"\"; esac } -spcd_step__packages_set_repositories() { +spcd_f_pm_conf_repos() { spcd_step "Set repositories" local file case "${SPCD_OS_ID}" in @@ -1575,7 +1575,7 @@ spcd_main() { spcd_f_dns "write" # packages spcd_step_in "Packages" - spcd_step__packages_set_repositories + spcd_f_pm_conf_repos spcd_f_pm_conf spcd_f_pm_https_trust spcd_f_pm_pkg_update From 24f19e46ef78736cdefd2d52df0e52261088a6d4 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:37:48 +0200 Subject: [PATCH 68/82] env/list --- spcd/bootstrap.sh | 66 +++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 400642b..7967e3e 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -376,37 +376,6 @@ SPCD_PM_ZYPPER="zypper" # │ e │ functions │ # ╰───┴───────────╯ -spcd_step__environment_print() { - spcd_f_ca "list" - spcd_f_dns "list" - set -- \ - "GIT_RWX" \ - "GIT_SPCD" \ - "GIT_SHUNIT" \ - "REF_FEATURE" \ - "REF_RELEASE" \ - "REF_STAGING" \ - "TXT_LOCALE" \ - "URL_ALMA" \ - "URL_ALPINE" \ - "URL_ARCH" \ - "URL_DEBIAN" \ - "URL_EPEL" \ - "URL_FEDORA" \ - "URL_OPENSUSE" \ - "URL_PYTHON" \ - "URL_ROCKY" \ - "URL_UBUNTU" - local item name value - for item in "${@}"; do - name="SPCD_${item}" - eval "value=\"\${${name}}\"" - if [ -n "${value}" ]; then - spcd_os_printenv "${name}" - fi - done -} - spcd_step__environment_defaults_set() { spcd_step "$(spcd_txt_get "set")" @@ -925,6 +894,37 @@ spcd_f_ca_update() { # │ f │ env = environment │ # ╰───┴───────────────────╯ +spcd_f_env_list() { + spcd_f_ca "list" + spcd_f_dns "list" + set -- \ + "GIT_RWX" \ + "GIT_SPCD" \ + "GIT_SHUNIT" \ + "REF_FEATURE" \ + "REF_RELEASE" \ + "REF_STAGING" \ + "TXT_LOCALE" \ + "URL_ALMA" \ + "URL_ALPINE" \ + "URL_ARCH" \ + "URL_DEBIAN" \ + "URL_EPEL" \ + "URL_FEDORA" \ + "URL_OPENSUSE" \ + "URL_PYTHON" \ + "URL_ROCKY" \ + "URL_UBUNTU" + local item name value + for item in "${@}"; do + name="SPCD_${item}" + eval "value=\"\${${name}}\"" + if [ -n "${value}" ]; then + spcd_os_printenv "${name}" + fi + done +} + spcd_f_env_workspace() { spcd_os_ls "$(realpath .)" } @@ -1561,10 +1561,10 @@ spcd_main() { spcd_step_in "Environment" spcd_step_in "Defaults" spcd_step "Print defined" - spcd_step__environment_print + spcd_f_env_list spcd_step__environment_defaults_set spcd_step "Print effective" - spcd_step__environment_print + spcd_f_env_list spcd_step_out spcd_step__environment_set_variables spcd_step "List workspace" From 94afae0ce323b39a6d937cd173dc0e10a203407e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:41:15 +0200 Subject: [PATCH 69/82] e/default --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 7967e3e..5b441c4 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -376,7 +376,7 @@ SPCD_PM_ZYPPER="zypper" # │ e │ functions │ # ╰───┴───────────╯ -spcd_step__environment_defaults_set() { +spcd_e_default() { spcd_step "$(spcd_txt_get "set")" [ -n "${SPCD_DNS_1}" ] || SPCD_DNS_1="9.9.9.9" @@ -1562,7 +1562,7 @@ spcd_main() { spcd_step_in "Defaults" spcd_step "Print defined" spcd_f_env_list - spcd_step__environment_defaults_set + spcd_e_default spcd_step "Print effective" spcd_f_env_list spcd_step_out From 8e56f25ade527346ddfa5bfa8bc10a2bf3d3d209 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:42:40 +0200 Subject: [PATCH 70/82] e/set --- spcd/bootstrap.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 5b441c4..0cbf9fb 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -431,7 +431,7 @@ spcd_e_default() { SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net/ubuntu" } -spcd_step__environment_set_variables() { +spcd_e_set() { spcd_step "Set variables" # check script first [ -n "${SPCD}" ] || spcd_error_ci "SPCD" @@ -1566,7 +1566,7 @@ spcd_main() { spcd_step "Print effective" spcd_f_env_list spcd_step_out - spcd_step__environment_set_variables + spcd_e_set spcd_step "List workspace" spcd_f_env_workspace spcd_step_out From 377dbc977adf61c5bf86912baf3f3f84b5e05943 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:44:50 +0200 Subject: [PATCH 71/82] dists/debian,ubuntu --- spcd/bootstrap.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 0cbf9fb..b7af92d 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -405,6 +405,7 @@ spcd_e_default() { # /$repo/os/$arch SPCD_URL_ARCH="https://geo.mirror.pkgbuild.com" [ -n "${SPCD_URL_DEBIAN}" ] || + # /dists/… SPCD_URL_DEBIAN="https://deb.debian.org/debian" [ -n "${SPCD_URL_EPEL}" ] || # /$releasever/Everything/… @@ -428,6 +429,7 @@ spcd_e_default() { # /$contentdir/$releasever/… SPCD_URL_ROCKY="https://dl.rockylinux.org" [ -n "${SPCD_URL_UBUNTU}" ] || + # /dists/… SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net/ubuntu" } From ab4de9b5367a821180064291db356f4a723483b5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 02:48:42 +0200 Subject: [PATCH 72/82] txt/get,pick --- spcd/bootstrap.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index b7af92d..f0077ee 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -199,7 +199,7 @@ _spcd_step_wipe() { _SPCD_TXT_CHARSET="UTF-8" _SPCD_TXT_LOCALE_DEFAULT="C" -_spcd_txt_pick() { +_spcd_txt() { case "${SPCD_TXT_LOCALE}" in "${SPCD_TXT_LOCALE_ENGLISH}") echo "${1}" ;; "${SPCD_TXT_LOCALE_FRENCH}") echo "${2}" ;; @@ -342,9 +342,9 @@ spcd_step_out() { SPCD_TXT_LOCALE_ENGLISH="en_US" SPCD_TXT_LOCALE_FRENCH="fr_FR" -spcd_txt_get() { +spcd_txt() { case "${1}" in - "set") _spcd_txt_pick "Set" "Définir" ;; + "set") _spcd_txt "Set" "Définir" ;; *) ;; esac } @@ -377,7 +377,7 @@ SPCD_PM_ZYPPER="zypper" # ╰───┴───────────╯ spcd_e_default() { - spcd_step "$(spcd_txt_get "set")" + spcd_step "$(spcd_txt "set")" [ -n "${SPCD_DNS_1}" ] || SPCD_DNS_1="9.9.9.9" From deee894bca7bb40b011f25794653a97dfb6dfe60 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 20:11:20 +0200 Subject: [PATCH 73/82] readme/gource --- readme.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/readme.md b/readme.md index b0915df..66ce065 100644 --- a/readme.md +++ b/readme.md @@ -150,24 +150,24 @@ Handle project workflows in a unified way: #### Latest -| os | https | updt-ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | -|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:| -| Arch 20240818 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 2.1.8 | 3.8 | -| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 2.1.8 | 3.8 | -| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 2.1.6 | 3.7 | -| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 2.1.8 | 3.6 | -| OpenSUSE 15.6 | ☐ | ☑ | 3.6 → 3.12 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | -| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | 2.1.8 | u3.8 | -| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | +| os | https | update ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | +|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:| +| Arch 20240818 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 2.1.8 | 3.8 | 0.54 | +| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 2.1.8 | 3.8 | 0.54 | +| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 2.1.6 | 3.7 | 0.55 | +| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 2.1.8 | 3.6 | 0.54 | +| OpenSUSE 15.6 | ☐ | ☑ | 3.6 → 3.12 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | +| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | 2.1.8 | u3.8 | 0.54 | +| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | | #### Previous -| os | https | updt-ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | -|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:| -| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 2.1.8 | 3.7 | -| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 2.1.6 | 3.5 | -| OpenSUSE 15.5 | ☐ | ☑ | 3.6 → 3.11 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | -| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | +| os | https | update ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | +|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:| +| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 2.1.8 | 3.7 | 0.54 | +| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 2.1.6 | 3.5 | 0.55 | +| OpenSUSE 15.5 | ☐ | ☑ | 3.6 → 3.11 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | +| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | | #### Older Python From d6e734d2270b819669538530bd99866a9d6597b6 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 20:14:45 +0200 Subject: [PATCH 74/82] pkg/gource --- spcd/bootstrap.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index f0077ee..b2f90d0 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -773,6 +773,12 @@ spcd_f_pkg() { ;; *) ;; esac + # gource + spcd_step "Gource" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") ;; + *) spcd_f_pm_pkg_install "gource" ;; + esac # graphviz spcd_step "GraphViz" spcd_f_pm_pkg_install "graphviz" From 7f075bd8d7d18fbe353a1bc7f863da8375896f02 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 21:39:32 +0200 Subject: [PATCH 75/82] readme/ffmpeg,gource --- readme.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/readme.md b/readme.md index 66ce065..1fa76e9 100644 --- a/readme.md +++ b/readme.md @@ -150,31 +150,31 @@ Handle project workflows in a unified way: #### Latest -| os | https | update ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | -|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:| -| Arch 20240818 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 2.1.8 | 3.8 | 0.54 | -| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 2.1.8 | 3.8 | 0.54 | -| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 2.1.6 | 3.7 | 0.55 | -| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 2.1.8 | 3.6 | 0.54 | -| OpenSUSE 15.6 | ☐ | ☑ | 3.6 → 3.12 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | -| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | 2.1.8 | u3.8 | 0.54 | -| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | | +| os | https | up ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | ffmpeg | +|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:|-------:| +| Arch 20240818 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 2.1.8 | 3.8 | 0.54 | 7.0.2 | +| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 2.1.8 | 3.8 | 0.54 | 6.1.1 | +| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 2.1.6 | 3.7 | 0.55 | 6.1.2 | +| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 2.1.8 | 3.6 | 0.54 | 5.1.6 | +| OpenSUSE 15.6 | ☐ | ☑ | 3.6 → 3.12 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | 4.4.4 | +| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | 2.1.8 | u3.8 | 0.54 | 6.1.1 | +| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | | e5.1.4 | #### Previous -| os | https | update ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | -|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:| -| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 2.1.8 | 3.7 | 0.54 | -| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 2.1.6 | 3.5 | 0.55 | -| OpenSUSE 15.5 | ☐ | ☑ | 3.6 → 3.11 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | -| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | | +| os | https | up ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | ffmpeg | +|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:|-------:| +| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 2.1.8 | 3.7 | 0.54 | 6.1.1 | +| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 2.1.6 | 3.5 | 0.55 | 6.1.1 | +| OpenSUSE 15.5 | ☐ | ☑ | 3.6 → 3.11 | 2.48 | 1.2020.9 | 0.8 | 2.1.6 | 3.5 | 0.54 | 4.4.4 | +| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | | | #### Older Python -| os | https | updt-ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | -|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:| -| Ubuntu Jammy | ☐ | ☐ | 3.10 | u2.42 | u1.2020.2 | u0.8 | 2.1.6 | u3.4 | -| Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | 2.1.6 | | +| os | https | up ca | python | graphviz | plantuml | shellcheck | shunit | shfmt | gource | ffmpeg | +|:----------------|---|---|------------:|------:|-----------:|------:|------:|-----:|-----:|-------:| +| Ubuntu Jammy | ☐ | ☐ | 3.10 | u2.42 | u1.2020.2 | u0.8 | 2.1.6 | u3.4 | 0.51 | 4.4.2 | +| Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | 2.1.6 | | 0.51 | 4.3.7 | --- From 6851ad0061d84a2219f19fed8d2df0a7b78eb6b9 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 21:50:51 +0200 Subject: [PATCH 76/82] pkg/ffmpeg --- spcd/bootstrap.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index b2f90d0..c00bca8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -773,6 +773,19 @@ spcd_f_pkg() { ;; *) ;; esac + # ffmpeg + spcd_step "FFMPEG" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") + case "${SPCD_OS_VERSION}" in + "8") ;; + *) spcd_f_pm_pkg_install "ffmpeg-free" ;; + esac + ;; + "${SPCD_OS_FEDORA}") spcd_f_pm_pkg_install "ffmpeg-free" ;; + "${SPCD_OS_OPENSUSE}") spcd_f_pm_pkg_install "ffmpeg-4" ;; + *) spcd_f_pm_pkg_install "ffmpeg" ;; + esac # gource spcd_step "Gource" case "${SPCD_OS_ID}" in From 830288f0d2c048928fb0afb1292356cc7d17c15c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 23:45:03 +0200 Subject: [PATCH 77/82] epel/update --- spcd/bootstrap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c00bca8..49cdabb 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -770,6 +770,7 @@ spcd_f_pkg() { spcd_os_sed "${file}" \ "|^enabled=1|enabled=0|" fi + spcd_f_pm_pkg_update ;; *) ;; esac From 816be5a37d5ea694a0a2de061197994527a2bd2e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Mon, 9 Sep 2024 23:49:37 +0200 Subject: [PATCH 78/82] dnf/plugins,crb --- spcd/bootstrap.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 49cdabb..067b0fd 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -1266,6 +1266,11 @@ spcd_f_pm_pkg_install() { else case "${SPCD_PM}" in "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; + "${SPCD_PM_DNF}") + spcd_f_pm_pkg_install "dnf-plugins-core" + dnf config-manager --enable "crb" + spcd_f_pm_pkg_update + ;; *) ;; esac fi From 937ed5e1f129403d520f6812acf7a32035319eed Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 10 Sep 2024 02:12:18 +0200 Subject: [PATCH 79/82] ffmpeg/crb --- spcd/bootstrap.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 067b0fd..17ffdce 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -780,7 +780,10 @@ spcd_f_pkg() { "${SPCD_OS_ALMA}" | "${SPCD_OS_ROCKY}") case "${SPCD_OS_VERSION}" in "8") ;; - *) spcd_f_pm_pkg_install "ffmpeg-free" ;; + *) + dnf config-manager --enable "crb" + spcd_f_pm_pkg_install "ffmpeg-free" + ;; esac ;; "${SPCD_OS_FEDORA}") spcd_f_pm_pkg_install "ffmpeg-free" ;; @@ -1266,11 +1269,7 @@ spcd_f_pm_pkg_install() { else case "${SPCD_PM}" in "${SPCD_PM_APT}") spcd_f_pm_pkg_install "apt-utils" ;; - "${SPCD_PM_DNF}") - spcd_f_pm_pkg_install "dnf-plugins-core" - dnf config-manager --enable "crb" - spcd_f_pm_pkg_update - ;; + "${SPCD_PM_DNF}") spcd_f_pm_pkg_install "dnf-plugins-core" ;; *) ;; esac fi From 03829cc4b48249ca115badacae5546c733f6e0a3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 10 Sep 2024 10:14:22 +0200 Subject: [PATCH 80/82] rpm/fusion --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1fa76e9..329d648 100644 --- a/readme.md +++ b/readme.md @@ -285,6 +285,7 @@ Handle project workflows in a unified way: * automate versions fetching * gource, xvfb, xauth * handle openh264 repositories +* rpm fusion * tex * translate to french * try to support nix From d7142f2b1d4f65d5a4a04e79885f25a728b4311e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 10 Sep 2024 12:38:10 +0200 Subject: [PATCH 81/82] =?UTF-8?q?banner=20=E2=86=92=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spcd/bootstrap.sh | 116 +++++++++++++++++++++++----------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 17ffdce..747e02b 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -4,9 +4,9 @@ # │ __ = internal │ # ╰───────────────╯ -# __SPCD_BANNER_TOP -# __SPCD_BANNER_MIDDLE -# __SPCD_BANNER_BOTTOM +# __SPCD_BAR_TOP +# __SPCD_BAR_MIDDLE +# __SPCD_BAR_BOTTOM # __SPCD_STEP_LEVEL # __SPCD_STEP_level_INDEX @@ -36,35 +36,35 @@ _spcd_fill() { done } -# ╭───┬────────╮ -# │ _ │ banner │ -# ╰───┴────────╯ +# ╭───┬─────╮ +# │ _ │ bar │ +# ╰───┴─────╯ -_SPCD_BANNER_BOTTOM_LEFT="${_SPCD_BOX_UP_AND_RIGHT}" -_SPCD_BANNER_BOTTOM_MIDDLE="${_SPCD_BOX_UP_AND_HORIZONTAL}" -_SPCD_BANNER_BOTTOM_RIGHT="${_SPCD_BOX_UP_AND_LEFT}" -_SPCD_BANNER_HORIZONTAL="${_SPCD_BOX_HORIZONTAL}" -_SPCD_BANNER_TOP_LEFT="${_SPCD_BOX_DOWN_AND_RIGHT}" -_SPCD_BANNER_TOP_MIDDLE="${_SPCD_BOX_DOWN_AND_HORIZONTAL}" -_SPCD_BANNER_TOP_RIGHT="${_SPCD_BOX_DOWN_AND_LEFT}" -_SPCD_BANNER_VERTICAL="${_SPCD_BOX_VERTICAL}" +_SPCD_BAR_BOTTOM_LEFT="${_SPCD_BOX_UP_AND_RIGHT}" +_SPCD_BAR_BOTTOM_MIDDLE="${_SPCD_BOX_UP_AND_HORIZONTAL}" +_SPCD_BAR_BOTTOM_RIGHT="${_SPCD_BOX_UP_AND_LEFT}" +_SPCD_BAR_HORIZONTAL="${_SPCD_BOX_HORIZONTAL}" +_SPCD_BAR_TOP_LEFT="${_SPCD_BOX_DOWN_AND_RIGHT}" +_SPCD_BAR_TOP_MIDDLE="${_SPCD_BOX_DOWN_AND_HORIZONTAL}" +_SPCD_BAR_TOP_RIGHT="${_SPCD_BOX_DOWN_AND_LEFT}" +_SPCD_BAR_VERTICAL="${_SPCD_BOX_VERTICAL}" -_spcd_banner_add() { +_spcd_bar_add() { if [ -n "${1}" ]; then local text length filler text=" ${1} " length=${#text} - filler="$(_spcd_fill "${length}" "${_SPCD_BANNER_HORIZONTAL}")" - if [ -n "${__SPCD_BANNER_MIDDLE}" ]; then - _spcd_banner_split + filler="$(_spcd_fill "${length}" "${_SPCD_BAR_HORIZONTAL}")" + if [ -n "${__SPCD_BAR_MIDDLE}" ]; then + _spcd_bar_split else - _spcd_banner_open + _spcd_bar_open fi - _spcd_banner_append "${filler}" "${text}" "${filler}" + _spcd_bar_append "${filler}" "${text}" "${filler}" fi } -_spcd_banner_add_index() { +_spcd_bar_add_index() { local level value label while true; do level=$((level + 1)) @@ -76,68 +76,68 @@ _spcd_banner_add_index() { label="${value}" fi done - _spcd_banner_add "${label}" + _spcd_bar_add "${label}" } -_spcd_banner_append() { +_spcd_bar_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}" + __SPCD_BAR_TOP="${__SPCD_BAR_TOP}${1}" + __SPCD_BAR_MIDDLE="${__SPCD_BAR_MIDDLE}${2}" + __SPCD_BAR_BOTTOM="${__SPCD_BAR_BOTTOM}${3}" fi } -_spcd_banner_echo() { +_spcd_bar_echo() { echo "\ -${__SPCD_BANNER_TOP} -${__SPCD_BANNER_MIDDLE} -${__SPCD_BANNER_BOTTOM}" +${__SPCD_BAR_TOP} +${__SPCD_BAR_MIDDLE} +${__SPCD_BAR_BOTTOM}" } -_spcd_banner_open() { - _spcd_banner_append \ - "${_SPCD_BANNER_TOP_LEFT}" \ - "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_BOTTOM_LEFT}" +_spcd_bar_open() { + _spcd_bar_append \ + "${_SPCD_BAR_TOP_LEFT}" \ + "${_SPCD_BAR_VERTICAL}" \ + "${_SPCD_BAR_BOTTOM_LEFT}" } -_spcd_banner_render() { - _spcd_banner_wipe - _spcd_banner_add "S" - _spcd_banner_add_index +_spcd_bar_render() { + _spcd_bar_wipe + _spcd_bar_add "S" + _spcd_bar_add_index # local level value while true; do level=$((level + 1)) eval "value=\"\${__SPCD_STEP_${level}_LABEL}\"" [ -n "${value}" ] || break - _spcd_banner_add "${value}" + _spcd_bar_add "${value}" done # - _spcd_banner_shut - _spcd_banner_echo - _spcd_banner_wipe + _spcd_bar_shut + _spcd_bar_echo + _spcd_bar_wipe } -_spcd_banner_shut() { - _spcd_banner_append \ - "${_SPCD_BANNER_TOP_RIGHT}" \ - "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_BOTTOM_RIGHT}" +_spcd_bar_shut() { + _spcd_bar_append \ + "${_SPCD_BAR_TOP_RIGHT}" \ + "${_SPCD_BAR_VERTICAL}" \ + "${_SPCD_BAR_BOTTOM_RIGHT}" } -_spcd_banner_split() { - _spcd_banner_append \ - "${_SPCD_BANNER_TOP_MIDDLE}" \ - "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_BOTTOM_MIDDLE}" +_spcd_bar_split() { + _spcd_bar_append \ + "${_SPCD_BAR_TOP_MIDDLE}" \ + "${_SPCD_BAR_VERTICAL}" \ + "${_SPCD_BAR_BOTTOM_MIDDLE}" } -_spcd_banner_wipe() { +_spcd_bar_wipe() { unset \ - __SPCD_BANNER_TOP \ - __SPCD_BANNER_MIDDLE \ - __SPCD_BANNER_BOTTOM + __SPCD_BAR_TOP \ + __SPCD_BAR_MIDDLE \ + __SPCD_BAR_BOTTOM } # ╭───┬───────╮ @@ -320,7 +320,7 @@ spcd_step() { local index="${prefix}_INDEX" eval "${index}=\$((${index} + 1))" eval "${prefix}_LABEL=\"${1}\"" - _spcd_banner_render + _spcd_bar_render fi } From 86d3615928b3f71ca99d84645cc224ae84df69e5 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Wed, 11 Sep 2024 23:34:58 +0200 Subject: [PATCH 82/82] fallback --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 329d648..df9ea36 100644 --- a/readme.md +++ b/readme.md @@ -224,6 +224,7 @@ Handle project workflows in a unified way: #### Shell * comment +* git/pypi fallback for rwx/spcd * handle errors * packages * configure