From f54b515115150b2fede32fb10224f374b52a4567 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 12:24:27 +0200 Subject: [PATCH 1/7] tasks/factorize --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 1b93a7f..a42e5c2 100644 --- a/readme.md +++ b/readme.md @@ -229,6 +229,10 @@ Handle project workflows in a unified way: * selected * available * effective +* factorize + * ca + * dns + * locales * handle errors * packages * configure From 095b343fdeea11e60817693d413be3e4dd815ec4 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 18:11:51 +0200 Subject: [PATCH 2/7] factorize/ca --- readme.md | 1 - spcd/bootstrap.sh | 36 +++++++++++++++--------------------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/readme.md b/readme.md index a42e5c2..ce580ee 100644 --- a/readme.md +++ b/readme.md @@ -230,7 +230,6 @@ Handle project workflows in a unified way: * available * effective * factorize - * ca * dns * locales * handle errors diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 65e71c6..2d17ee3 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -200,33 +200,27 @@ _spcd_txt_pick() { # ╰───────────╯ spcd_ca() { - local index name value local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" - case "${1}" in - "list") - while true; do - index=$((index + 1)) - name="SPCD_CA_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break + 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}" - done - ;; - "write") - local root="${2}" - while true; do - index=$((index + 1)) - name="SPCD_CA_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break + ;; + "write") spcd_os_write "${root}/${index}.crt" "${value}" - done - ;; - *) ;; - esac + ;; + *) ;; + esac + done } spcd_dns() { From a0122d5ea32ec84922df7110296496272010c378 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 18:19:26 +0200 Subject: [PATCH 3/7] factorize/dns --- readme.md | 1 - spcd/bootstrap.sh | 37 ++++++++++++++++--------------------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/readme.md b/readme.md index ce580ee..8d54773 100644 --- a/readme.md +++ b/readme.md @@ -230,7 +230,6 @@ Handle project workflows in a unified way: * available * effective * factorize - * dns * locales * handle errors * packages diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 2d17ee3..03374b9 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -224,32 +224,27 @@ spcd_ca() { } spcd_dns() { - local index name value - case "${1}" in - "list") - while true; do - index=$((index + 1)) - name="SPCD_DNS_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break + 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}" - done - ;; - "write") - local text - while true; do - index=$((index + 1)) - name="SPCD_DNS_${index}" - eval "value=\"\${${name}}\"" - [ -n "${value}" ] || break + ;; + "write") text="${text}\ nameserver ${value} " - done + ;; + *) ;; + esac + done + if [ "${1}" = "write" ]; then spcd_os_write "/etc/resolv.conf" "${text}" - ;; - *) ;; - esac + fi } # ╭───────────┬───────╮ From 7d61b7c431c434ea330c82488ff8698e17a1cfb3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 18:32:48 +0200 Subject: [PATCH 4/7] factorize/locales --- readme.md | 2 -- spcd/bootstrap.sh | 34 +++++++++++++++------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/readme.md b/readme.md index 8d54773..1b93a7f 100644 --- a/readme.md +++ b/readme.md @@ -229,8 +229,6 @@ Handle project workflows in a unified way: * selected * available * effective -* factorize - * locales * handle errors * packages * configure diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 03374b9..8427ef2 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -411,35 +411,31 @@ 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 + local language locale text + for locale in "${@}"; do + case "${1}" in + "glibc-langpack-") language="$(echo "${locale}" | cut -d _ -f 1)" spcd_install_package "glibc-langpack-${language}" - done - ;; - "LANGUAGE") - local text - for locale in "${@}"; do + ;; + "LANGUAGE") if [ -n "${text}" ]; then text="${text}:${locale}" else text="${locale}" fi - done - export LANGUAGE="${text}" - ;; - "locale.gen") - local text - for locale in "${@}"; do + ;; + "locale.gen") text="${text}\ ${locale}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} " - done - spcd_os_write "/etc/locale.gen" "${text}" - ;; + ;; + *) ;; + esac + done + case "${1}" in + "LANGUAGE") export LANGUAGE="${text}" ;; + "locale.gen") spcd_os_write "/etc/locale.gen" "${text}" ;; *) ;; esac } From 56c291ee27223745355f38f00670cdaa74664fd1 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 19:17:08 +0200 Subject: [PATCH 5/7] spcd_txt_locales_echo --- spcd/bootstrap.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 8427ef2..c22abf8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -407,11 +407,20 @@ spcd_txt_locale() { locale } +spcd_txt_locales_echo() { + case "${1}" in + "LANGUAGE") spcd_os_printenv "LANGUAGE" ;; + *) locale -a ;; + esac +} + spcd_txt_locales() { set -- \ "${SPCD_TXT_LOCALE_ENGLISH}" \ "${SPCD_TXT_LOCALE_FRENCH}" local language locale text + spcd_txt_locales_echo + spcd_split for locale in "${@}"; do case "${1}" in "glibc-langpack-") @@ -438,6 +447,8 @@ ${locale}.${_SPCD_TXT_CHARSET} ${_SPCD_TXT_CHARSET} "locale.gen") spcd_os_write "/etc/locale.gen" "${text}" ;; *) ;; esac + spcd_split + spcd_txt_locales_echo } # ╭──────╮ From a1809e2094779f704d5bc30f5926f9b59dfc5336 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 19:18:38 +0200 Subject: [PATCH 6/7] =?UTF-8?q?=E2=88=92tasks/available?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/readme.md b/readme.md index 1b93a7f..77aad3e 100644 --- a/readme.md +++ b/readme.md @@ -224,10 +224,8 @@ Handle project workflows in a unified way: * comment * display locales * default - * available * effective * selected - * available * effective * handle errors * packages From 7c181c84fb39f08fdc7d8a845b4ac269fc1045dd Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Tue, 3 Sep 2024 19:23:04 +0200 Subject: [PATCH 7/7] locale/effective --- readme.md | 5 ----- spcd/bootstrap.sh | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/readme.md b/readme.md index 77aad3e..f52cdc3 100644 --- a/readme.md +++ b/readme.md @@ -222,11 +222,6 @@ Handle project workflows in a unified way: #### Shell * comment -* display locales - * default - * effective - * selected - * effective * handle errors * packages * configure diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index c22abf8..3b510f8 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -378,8 +378,9 @@ spcd_txt_get() { } spcd_txt_locale() { - local value name locale + spcd_split + local value name if [ -n "${1}" ]; then value="${1}" else