From 861f89c0609bdcd9cd4f9a5c1013dca7f9805872 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 02:58:26 +0200 Subject: [PATCH 01/12] readme/fixes --- readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme.md b/readme.md index c1550fc..7b81c4f 100644 --- a/readme.md +++ b/readme.md @@ -142,7 +142,7 @@ Handle project workflows in a unified way: | SPCD_URL_EPEL | EPEL repository URL | https://dl.fedoraproject.org | | SPCD_URL_FEDORA | Fedora repository URL | https://rpmfind.net | | SPCD_URL_OPENSUSE | OpenSUSE repository URL | https://download.opensuse.org | -| SPCD_URL_PYTHON | Python repository URL | https://pypi.org/simple | +| SPCD_URL_PYTHON | Python repository URL | https://pypi.org | | SPCD_URL_ROCKY | Rocky repository URL | https://dl.rockylinux.org | | SPCD_URL_UBUNTU | Ubuntu repository URL | https://ubuntu.mirrors.ovh.net | @@ -224,7 +224,6 @@ Handle project workflows in a unified way: * comment * drawing characters constants * handle errors -* local variables * packages * configure * apk From f6bba5715930564b6c711286b2a42d7fea13f404 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 15:56:18 +0200 Subject: [PATCH 02/12] box constants --- spcd/bootstrap.sh | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 4e3b7a2..2dc6382 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -4,6 +4,15 @@ # │ _ │ # ╰───╯ +_SPCD_BOX_DOWN_AND_HORIZONTAL="┬" +_SPCD_BOX_DOWN_AND_LEFT="╮" +_SPCD_BOX_DOWN_AND_RIGHT="╭" +_SPCD_BOX_HORIZONTAL="─" +_SPCD_BOX_UP_AND_HORIZONTAL="┴" +_SPCD_BOX_UP_AND_LEFT="╯" +_SPCD_BOX_UP_AND_RIGHT="╰" +_SPCD_BOX_VERTICAL="│" + _SPCD_CMD_SUM="sha512sum" _spcd_fill() { @@ -18,14 +27,14 @@ _spcd_fill() { # │ _ │ banner │ # ╰───┴────────╯ -_SPCD_BANNER_DOWN_AND_HORIZONTAL="┬" -_SPCD_BANNER_DOWN_AND_LEFT="╮" -_SPCD_BANNER_DOWN_AND_RIGHT="╭" -_SPCD_BANNER_HORIZONTAL="─" -_SPCD_BANNER_UP_AND_HORIZONTAL="┴" -_SPCD_BANNER_UP_AND_LEFT="╯" -_SPCD_BANNER_UP_AND_RIGHT="╰" -_SPCD_BANNER_VERTICAL="│" +_SPCD_BANNER_DOWN_AND_HORIZONTAL="${_SPCD_BOX_DOWN_AND_HORIZONTAL}" +_SPCD_BANNER_DOWN_AND_LEFT="${_SPCD_BOX_DOWN_AND_LEFT}" +_SPCD_BANNER_DOWN_AND_RIGHT="${_SPCD_BOX_DOWN_AND_RIGHT}" +_SPCD_BANNER_HORIZONTAL="${_SPCD_BOX_HORIZONTAL}" +_SPCD_BANNER_UP_AND_HORIZONTAL="${_SPCD_BOX_UP_AND_HORIZONTAL}" +_SPCD_BANNER_UP_AND_LEFT="${_SPCD_BOX_UP_AND_LEFT}" +_SPCD_BANNER_UP_AND_RIGHT="${_SPCD_BOX_UP_AND_RIGHT}" +_SPCD_BANNER_VERTICAL="${_SPCD_BOX_VERTICAL}" _spcd_banner_add() { if [ -n "${1}" ]; then From 0c312ed03cb6a2aa9972926b718e093de738dbfc Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 16:05:17 +0200 Subject: [PATCH 03/12] banner --- spcd/bootstrap.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2dc6382..7900db1 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -27,13 +27,13 @@ _spcd_fill() { # │ _ │ banner │ # ╰───┴────────╯ -_SPCD_BANNER_DOWN_AND_HORIZONTAL="${_SPCD_BOX_DOWN_AND_HORIZONTAL}" -_SPCD_BANNER_DOWN_AND_LEFT="${_SPCD_BOX_DOWN_AND_LEFT}" -_SPCD_BANNER_DOWN_AND_RIGHT="${_SPCD_BOX_DOWN_AND_RIGHT}" +_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_UP_AND_HORIZONTAL="${_SPCD_BOX_UP_AND_HORIZONTAL}" -_SPCD_BANNER_UP_AND_LEFT="${_SPCD_BOX_UP_AND_LEFT}" -_SPCD_BANNER_UP_AND_RIGHT="${_SPCD_BOX_UP_AND_RIGHT}" +_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_banner_add() { @@ -85,9 +85,9 @@ ${__SPCD_BANNER_BOTTOM}" _spcd_banner_open() { _spcd_banner_append \ - "${_SPCD_BANNER_DOWN_AND_RIGHT}" \ + "${_SPCD_BANNER_TOP_LEFT}" \ "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_UP_AND_RIGHT}" + "${_SPCD_BANNER_BOTTOM_LEFT}" } _spcd_banner_render() { @@ -111,16 +111,16 @@ _spcd_banner_render() { _spcd_banner_shut() { _spcd_banner_append \ - "${_SPCD_BANNER_DOWN_AND_LEFT}" \ + "${_SPCD_BANNER_TOP_RIGHT}" \ "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_UP_AND_LEFT}" + "${_SPCD_BANNER_BOTTOM_RIGHT}" } _spcd_banner_split() { _spcd_banner_append \ - "${_SPCD_BANNER_DOWN_AND_HORIZONTAL}" \ + "${_SPCD_BANNER_TOP_MIDDLE}" \ "${_SPCD_BANNER_VERTICAL}" \ - "${_SPCD_BANNER_UP_AND_HORIZONTAL}" + "${_SPCD_BANNER_BOTTOM_MIDDLE}" } _spcd_banner_wipe() { From cb52cf2488ff468216ac44ef3332f3033039d776 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 16:08:51 +0200 Subject: [PATCH 04/12] frame --- spcd/bootstrap.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 7900db1..acbfe28 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -8,6 +8,7 @@ _SPCD_BOX_DOWN_AND_HORIZONTAL="┬" _SPCD_BOX_DOWN_AND_LEFT="╮" _SPCD_BOX_DOWN_AND_RIGHT="╭" _SPCD_BOX_HORIZONTAL="─" +_SPCD_BOX_LEFT="╴" _SPCD_BOX_UP_AND_HORIZONTAL="┴" _SPCD_BOX_UP_AND_LEFT="╯" _SPCD_BOX_UP_AND_RIGHT="╰" @@ -141,8 +142,8 @@ _SPCD_ERROR_OS=2 # │ _ │ frame │ # ╰───┴───────╯ -_SPCD_FRAME_TOP="╭╴" -_SPCD_FRAME_BOTTOM="╰╴" +_SPCD_FRAME_TOP="${_SPCD_BOX_DOWN_AND_RIGHT}${_SPCD_BOX_LEFT}" +_SPCD_FRAME_BOTTOM="${_SPCD_BOX_UP_AND_RIGHT}${_SPCD_BOX_LEFT}" _spcd_frame_open() { echo "${_SPCD_FRAME_TOP}${1}" From 14d65d902a7f79e1d77b22907300fe019710ef34 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 16:09:07 +0200 Subject: [PATCH 05/12] readme --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 7b81c4f..78ac87a 100644 --- a/readme.md +++ b/readme.md @@ -222,7 +222,6 @@ Handle project workflows in a unified way: #### Shell * comment -* drawing characters constants * handle errors * packages * configure From fbe85048a7413fb10501251ed484e1a344eda60a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 16:10:17 +0200 Subject: [PATCH 06/12] later/tex --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 78ac87a..d35db3d 100644 --- a/readme.md +++ b/readme.md @@ -276,5 +276,6 @@ Handle project workflows in a unified way: * automate versions fetching * handle openh264 repositories +* tex * translate to french * try to support nix From 29a33e5787f64492e6fbd3f4a49b573031557b89 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 16:53:44 +0200 Subject: [PATCH 07/12] x509/grep --- spcd/bootstrap.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index acbfe28..0df0ad6 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -225,7 +225,8 @@ spcd_openssl_x509() { if [ -f "${1}" ]; then openssl x509 \ -in "${1}" \ - -noout -text + -noout -text | + grep "\(After\|Before\|Issuer\|Signature A\|Subject:\)" fi } From d9f4ea7e25a24f5c2f3b45d7a4a1cbf190c6705f Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 17:01:00 +0200 Subject: [PATCH 08/12] local/names --- spcd/bootstrap.sh | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 0df0ad6..7aba2c8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -53,9 +53,7 @@ _spcd_banner_add() { } _spcd_banner_add_index() { - local label - local level - local value + local level value label while true; do level=$((level + 1)) eval "value=\"\${__SPCD_STEP_${level}_INDEX}\"" @@ -96,8 +94,7 @@ _spcd_banner_render() { _spcd_banner_add "S" _spcd_banner_add_index # - local level - local value + local level value while true; do level=$((level + 1)) eval "value=\"\${__SPCD_STEP_${level}_LABEL}\"" @@ -257,8 +254,7 @@ spcd_os_mkdir() { spcd_os_printenv() { if [ -n "${1}" ]; then - local name - local text + local name text for name in "${@}"; do eval "text=\"\${${name}}\"" echo "${name} = \"${text}\"" @@ -348,8 +344,7 @@ spcd_txt_get() { spcd_txt_locale() { # LANGUAGE - local name - local value + local value name if [ -n "${1}" ]; then value="${1}" else @@ -423,9 +418,7 @@ spcd_step__environment_defaults_print() { "URL_PYTHON" \ "URL_ROCKY" \ "URL_UBUNTU" - local item - local name - local value + local item name value for item in "${@}"; do name="SPCD_${item}" eval "value=\"\${${name}}\"" From d23e61da4935c2c6c78ec1b94e4df6ff0ef99b96 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 17:32:01 +0200 Subject: [PATCH 09/12] variables --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index d35db3d..7cd2dfd 100644 --- a/readme.md +++ b/readme.md @@ -233,6 +233,10 @@ Handle project workflows in a unified way: * codecs repository * disable & enable https * test +* variables + * CA_n + * DNS_n + * LANGUAGE #### Shell → Python From 7fc27c27333eb2c5eafe37b186d5399f1f00246d Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 18:47:27 +0200 Subject: [PATCH 10/12] tasks/locales --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index 7cd2dfd..7c2c94b 100644 --- a/readme.md +++ b/readme.md @@ -222,6 +222,13 @@ Handle project workflows in a unified way: #### Shell * comment +* display locales + * default + * available + * effective + * selected + * available + * effective * handle errors * packages * configure From 532414813610098d653d26f9c44ec5cd551c371e Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:01:54 +0200 Subject: [PATCH 11/12] spcd_txt_locales --- spcd/bootstrap.sh | 56 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 7aba2c8..1d0592e 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -343,7 +343,6 @@ spcd_txt_get() { } spcd_txt_locale() { - # LANGUAGE local value name if [ -n "${1}" ]; then value="${1}" @@ -370,6 +369,43 @@ spcd_txt_locale() { done } +spcd_txt_locales() { + set -- \ + "${SPCD_TXT_LOCALE_ENGLISH}" \ + "${SPCD_TXT_LOCALE_FRENCH}" + local locale + case "${1}" in + "glibc-langpack-") + local language + for locale in "${@}"; do + language="$(echo "${locale}" | cut -d _ -f 1)" + spcd_install_package "glibc-langpack-${language}" + done + ;; + "LANGUAGE") + local text + for locale in "${@}"; do + if [ -n "${text}" ]; then + text="${text}:${locale}" + else + text="${locale}" + fi + done + export LANGUAGE="${text}" + ;; + "locale.gen") + local text + for locale in "${@}"; do + text="${text}\ +${locale}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} +" + done + spcd_os_write "/etc/locale.gen" "${text}" + ;; + *) ;; + esac +} + # ╭──────╮ # │ step │ # ╰──────╯ @@ -1178,32 +1214,20 @@ spcd_step__packages_verify_https() { spcd_step__packages_install_locales() { spcd_step "Install locales" - set -- \ - "${SPCD_TXT_LOCALE_ENGLISH}" \ - "${SPCD_TXT_LOCALE_FRENCH}" case "${SPCD_PM}" in "${SPCD_PM_APK}") spcd_install_package "musl-locales" ;; "${SPCD_PM_APT}") - local locale text - for locale in "${@}"; do - text="${text}\ -${locale}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} -" - done - spcd_os_write "/etc/locale.gen" "${text}" + spcd_txt_locales "locale.gen" spcd_install_package "locales" ;; "${SPCD_PM_DNF}") - local locale language - for locale in "${@}"; do - language="$(echo "${locale}" | cut -d _ -f 1)" - spcd_install_package "glibc-langpack-${language}" - done + spcd_txt_locales "glibc-langpack-" ;; "${SPCD_PM_PACMAN}") spcd_install_package "glibc-locales" ;; "${SPCD_PM_ZYPPER}") spcd_install_package "glibc-locale" ;; *) ;; esac + spcd_txt_locales "LANGUAGE" spcd_txt_locale "${SPCD_TXT_LOCALE}" } From ab655c52d9a72f9417e0e14a479cd1feb4e67d22 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:04:16 +0200 Subject: [PATCH 12/12] readme/tasks --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 7c2c94b..7c38b7f 100644 --- a/readme.md +++ b/readme.md @@ -239,11 +239,11 @@ Handle project workflows in a unified way: * opensuse * codecs repository * disable & enable https +* persist locales * test * variables * CA_n * DNS_n - * LANGUAGE #### Shell → Python