From 8004c604b38754da34f3c0a8bc6808a6a25b4f7a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 16:27:59 +0200 Subject: [PATCH 01/10] pidd_list_environment_variables --- pidd.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pidd.sh b/pidd.sh index 44453fa..52ddf6c 100644 --- a/pidd.sh +++ b/pidd.sh @@ -13,6 +13,7 @@ pidd_main () { pidd_set_packages_repositories pidd_set_packages_configuration # + pidd_list_environment_variables pidd_list_working_directory pidd_set_https_verification_off pidd_set_dns_resolving @@ -482,6 +483,11 @@ pidd_set_packages_configuration () { # agnostic steps +pidd_list_environment_variables () { + pidd_step "List environment variables" + env +} + pidd_list_working_directory () { pidd_step "List working directory" pidd_list_working_directory__path="$(realpath .)" From c494c59f0610feb0648ba8be33f5cc5b08772dbf Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 17:03:45 +0200 Subject: [PATCH 02/10] sort environment variables --- pidd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pidd.sh b/pidd.sh index 52ddf6c..d59ab5b 100644 --- a/pidd.sh +++ b/pidd.sh @@ -485,7 +485,7 @@ pidd_set_packages_configuration () { pidd_list_environment_variables () { pidd_step "List environment variables" - env + env | sort } pidd_list_working_directory () { From aa76386700e470861bb9b0b35f29fbd1fbf442df Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 19:22:25 +0200 Subject: [PATCH 03/10] sh/lint --- pidd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pidd.sh b/pidd.sh index d59ab5b..39ff68c 100644 --- a/pidd.sh +++ b/pidd.sh @@ -664,6 +664,7 @@ pidd_cat () { pidd_echo () { if [ -n "${1}" ] ; then for pidd_echo__name in "${@}" ; do + pidd_echo__text="" eval "pidd_echo__text=\"\${${pidd_echo__name}}\"" echo "${pidd_echo__name} = \"${pidd_echo__text}\"" done From e83076e35d8befaf7335938a9fda7ed1fdc82e91 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 20:48:37 +0200 Subject: [PATCH 04/10] tokens --- pidd.sh | 54 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/pidd.sh b/pidd.sh index 39ff68c..85b7c02 100644 --- a/pidd.sh +++ b/pidd.sh @@ -352,12 +352,17 @@ Acquire::https::Verify-Peer False; if [ -n "${GITHUB_ACTIONS}" ] ; then # github → gitea → forgejo if [ -n "${GITHUB_SERVER_URL}" ] ; then - PIDD_SERVER_URL="${GITHUB_SERVER_URL}" + if [ -n "${GITHUB_TOKEN}" ] ; then + PIDD_PROJECT_ROOT="$(dirname "${GITHUB_SERVER_URL}")\ +/${GITHUB_TOKEN}@$(basename "${GITHUB_SERVER_URL}")" + else + pidd_error_ci "GITHUB_TOKEN" + fi else pidd_error_ci "GITHUB_SERVER_URL" fi if [ -n "${GITHUB_REPOSITORY}" ] ; then - PIDD_PROJECTS_GROUP="$(dirname "${GITHUB_REPOSITORY}")" + PIDD_PROJECT_PATH="$(dirname "${GITHUB_REPOSITORY}")" PIDD_PROJECT_NAME="$(basename "${GITHUB_REPOSITORY}")" else pidd_error_ci "GITHUB_REPOSITORY" @@ -369,16 +374,33 @@ Acquire::https::Verify-Peer False; fi elif [ -n "${GITLAB_CI}" ] ; then # gitlab - if [ -n "${CI_SERVER_URL}" ] ; then - PIDD_SERVER_URL="${CI_SERVER_URL}" + if [ -n "${CI_SERVER_PROTOCOL}" ] ; then + if [ -n "${CI_REGISTRY_USER}" ] ; then + if [ -n "${CI_REGISTRY_PASSWORD}" ] ; then + if [ -n "${CI_SERVER_FQDN}" ] ; then + PIDD_PROJECT_ROOT="${CI_SERVER_PROTOCOL}\ +://${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}@${CI_SERVER_FQDN}" + if [ -n "${CI_PROJECT_NAMESPACE}" ] ; then + PIDD_PROJECT_PATH="${CI_PROJECT_NAMESPACE}" + if [ -n "${CI_PROJECT_NAME}" ] ; then + PIDD_PROJECT_NAME="${CI_PROJECT_NAME}" + else + pidd_error_ci "CI_PROJECT_NAME" + fi + else + pidd_error_ci "CI_PROJECT_NAMESPACE" + fi + else + pidd_error_ci "CI_SERVER_FQDN" + fi + else + pidd_error_ci "CI_REGISTRY_PASSWORD" + fi + else + pidd_error_ci "CI_REGISTRY_USER" + fi else - pidd_error_ci "CI_SERVER_URL" - fi - if [ -n "${CI_PROJECT_PATH}" ] ; then - PIDD_PROJECTS_GROUP="$(dirname "${CI_PROJECT_PATH}")" - PIDD_PROJECT_NAME="$(basename "${CI_PROJECT_PATH}")" - else - pidd_error_ci "CI_PROJECT_PATH" + pidd_error_ci "CI_SERVER_PROTOCOL" fi if [ -n "${CI_COMMIT_BRANCH}" ] ; then PIDD_PROJECT_BRANCH="${CI_COMMIT_BRANCH}" @@ -389,18 +411,18 @@ Acquire::https::Verify-Peer False; # unsupported pidd_error_ci "ø" fi - [ -n "${PIDD_SERVER_URL}" ] || pidd_error_ci "PIDD_SERVER_URL" - [ -n "${PIDD_PROJECTS_GROUP}" ] || pidd_error_ci "PIDD_PROJECTS_GROUP" + [ -n "${PIDD_PROJECT_ROOT}" ] || pidd_error_ci "PIDD_PROJECT_ROOT" + [ -n "${PIDD_PROJECT_PATH}" ] || pidd_error_ci "PIDD_PROJECT_PATH" [ -n "${PIDD_PROJECT_NAME}" ] || pidd_error_ci "PIDD_PROJECT_NAME" [ -n "${PIDD_PROJECT_BRANCH}" ] || pidd_error_ci "PIDD_PROJECT_BRANCH" # - PIDD_PROJECTS_URL="${PIDD_SERVER_URL}/${PIDD_PROJECTS_GROUP}" + PIDD_PROJECTS_URL="${PIDD_PROJECT_ROOT}/${PIDD_PROJECT_PATH}" # pidd_split pidd_echo "PIDD_CA" pidd_split - pidd_echo "PIDD_SERVER_URL" \ - "PIDD_PROJECTS_GROUP" "PIDD_PROJECT_NAME" "PIDD_PROJECT_BRANCH" + pidd_echo "PIDD_PROJECT_ROOT" \ + "PIDD_PROJECT_PATH" "PIDD_PROJECT_NAME" "PIDD_PROJECT_BRANCH" pidd_split pidd_echo "PIDD_PROJECTS_URL" # TODO move to Python From ba5f74d0a9cae5dca0cc76a169677869d1c95d5c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 20:55:37 +0200 Subject: [PATCH 05/10] write/root,path,name --- pidd.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pidd.sh b/pidd.sh index 85b7c02..0109a87 100644 --- a/pidd.sh +++ b/pidd.sh @@ -650,8 +650,11 @@ ${PIDD_PYTHON_PACKAGES}" pidd_write_python_module () { pidd_step "Write Python module" - for pidd_write_python_module__variable \ - in OPEN DOWN VERT SPLT __UP SHUT OS_ID OS_VERSION ; do + for pidd_write_python_module__variable in \ + OPEN DOWN VERT SPLT __UP SHUT \ + OS_ID OS_VERSION \ + PROJECT_ROOT PROJECT_PATH PROJECT_NAME \ + ; do pidd_write_python_module__value="\ $(pidd_echo "PIDD_${pidd_write_python_module__variable}")" pidd_write_python_module__text="${pidd_write_python_module__text}\ From 0a1330b58e2551dab3b9bab59d02d4dac9edcaa7 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 21:35:51 +0200 Subject: [PATCH 06/10] =?UTF-8?q?=E2=88=92projects=5Furl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pidd.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pidd.sh b/pidd.sh index 0109a87..6276412 100644 --- a/pidd.sh +++ b/pidd.sh @@ -416,15 +416,11 @@ Acquire::https::Verify-Peer False; [ -n "${PIDD_PROJECT_NAME}" ] || pidd_error_ci "PIDD_PROJECT_NAME" [ -n "${PIDD_PROJECT_BRANCH}" ] || pidd_error_ci "PIDD_PROJECT_BRANCH" # - PIDD_PROJECTS_URL="${PIDD_PROJECT_ROOT}/${PIDD_PROJECT_PATH}" - # pidd_split pidd_echo "PIDD_CA" pidd_split pidd_echo "PIDD_PROJECT_ROOT" \ "PIDD_PROJECT_PATH" "PIDD_PROJECT_NAME" "PIDD_PROJECT_BRANCH" - pidd_split - pidd_echo "PIDD_PROJECTS_URL" # TODO move to Python case "${PIDD_PM}" in "${PIDD_PM_APK}"|"${PIDD_PM_APT}") PIDD_PKG_SSH="openssh-client" ;; @@ -621,7 +617,7 @@ pidd_install_python_modules () { in "${PIDD_GIT_CHILD}" "${PIDD_GIT_PARENT}" ; do pidd_split pidd_install_python_modules__url="\ -${PIDD_PROJECTS_URL}/${pidd_install_python_modules__repository}" +${PIDD_PROJECT_ROOT}/${PIDD_PROJECT_PATH}/${pidd_install_python_modules__repository}" echo "\ ${pidd_install_python_modules__url} ↓" From 4fb4f2a32ea36e369e4607d77596cb1968110d75 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 21:58:02 +0200 Subject: [PATCH 07/10] override locations --- pidd.sh | 10 +++++++++- readme.md | 2 -- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pidd.sh b/pidd.sh index 6276412..7f9acb1 100644 --- a/pidd.sh +++ b/pidd.sh @@ -615,9 +615,17 @@ pidd_install_python_modules () { echo "→ ${pidd_install_python_modules__root}" for pidd_install_python_modules__repository \ in "${PIDD_GIT_CHILD}" "${PIDD_GIT_PARENT}" ; do - pidd_split + case "${pidd_install_python_modules__repository}" in + http*) pidd_install_python_modules__url="\ +${pidd_install_python_modules__repository}" ;; + /*) pidd_install_python_modules__url="\ +${PIDD_PROJECT_ROOT}${pidd_install_python_modules__repository}" ;; + *) pidd_install_python_modules__url="\ +${PIDD_PROJECT_ROOT}/${PIDD_PROJECT_PATH}/${pidd_install_python_modules__repository}" ;; + esac pidd_install_python_modules__url="\ ${PIDD_PROJECT_ROOT}/${PIDD_PROJECT_PATH}/${pidd_install_python_modules__repository}" + pidd_split echo "\ ${pidd_install_python_modules__url} ↓" diff --git a/readme.md b/readme.md index 6b0a038..e9f57b2 100644 --- a/readme.md +++ b/readme.md @@ -93,7 +93,5 @@ from various contexts of CA, CI and OCI / OS. ### .sh -* handle git cloning credentials -* override repository and framework locations * reduce single conditions with && * support opensuse From 6891be7a73cacd521dbb67cf0bc529dc15ba0e65 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 22:06:22 +0200 Subject: [PATCH 08/10] fix --- pidd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pidd.sh b/pidd.sh index 7f9acb1..b04a439 100644 --- a/pidd.sh +++ b/pidd.sh @@ -354,7 +354,7 @@ Acquire::https::Verify-Peer False; if [ -n "${GITHUB_SERVER_URL}" ] ; then if [ -n "${GITHUB_TOKEN}" ] ; then PIDD_PROJECT_ROOT="$(dirname "${GITHUB_SERVER_URL}")\ -/${GITHUB_TOKEN}@$(basename "${GITHUB_SERVER_URL}")" +//${GITHUB_TOKEN}@$(basename "${GITHUB_SERVER_URL}")" else pidd_error_ci "GITHUB_TOKEN" fi From 456b96da31ac4b5d4904f0b0fb243fab02b9ef43 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 22:20:40 +0200 Subject: [PATCH 09/10] child/name --- pidd.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pidd.sh b/pidd.sh index b04a439..01aaa9c 100644 --- a/pidd.sh +++ b/pidd.sh @@ -672,11 +672,12 @@ PIDD_STEP = $((PIDD_STEP+1)) pidd_switch_to_python () { pidd_step "Switch to Python" + pidd_switch_to_python__name="$(basename "${PIDD_GIT_CHILD}")" echo "\ ${PIDD_PATH} ↓ -${PIDD_PYTHON_PACKAGES}/${PIDD_GIT_CHILD}" - "${PIDD_PYTHON_ALIAS}" -m "${PIDD_GIT_CHILD}" "${@}" +${PIDD_PYTHON_PACKAGES}/${pidd_switch_to_python__name}" + "${PIDD_PYTHON_ALIAS}" -m "${pidd_switch_to_python__name}" "${@}" } # functions From c0ea80cf6fd26f8f960bd9829cbb97ef79199bc7 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 23 Jun 2024 22:23:05 +0200 Subject: [PATCH 10/10] git/main,root --- pidd.sh | 8 ++++---- readme.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pidd.sh b/pidd.sh index 01aaa9c..7410232 100644 --- a/pidd.sh +++ b/pidd.sh @@ -4,8 +4,8 @@ [ -n "${PIDD_DNS}" ] || PIDD_DNS="\ 9.9.9.9 \ " -[ -n "${PIDD_GIT_CHILD}" ] || PIDD_GIT_CHILD="pidd" -[ -n "${PIDD_GIT_PARENT}" ] || PIDD_GIT_PARENT="rwx" +[ -n "${PIDD_GIT_MAIN}" ] || PIDD_GIT_MAIN="pidd" +[ -n "${PIDD_GIT_ROOT}" ] || PIDD_GIT_ROOT="rwx" # main pidd_main () { @@ -614,7 +614,7 @@ pidd_install_python_modules () { pidd_install_python_modules__root="$(mktemp --directory)" || exit echo "→ ${pidd_install_python_modules__root}" for pidd_install_python_modules__repository \ - in "${PIDD_GIT_CHILD}" "${PIDD_GIT_PARENT}" ; do + in "${PIDD_GIT_MAIN}" "${PIDD_GIT_ROOT}" ; do case "${pidd_install_python_modules__repository}" in http*) pidd_install_python_modules__url="\ ${pidd_install_python_modules__repository}" ;; @@ -672,7 +672,7 @@ PIDD_STEP = $((PIDD_STEP+1)) pidd_switch_to_python () { pidd_step "Switch to Python" - pidd_switch_to_python__name="$(basename "${PIDD_GIT_CHILD}")" + pidd_switch_to_python__name="$(basename "${PIDD_GIT_MAIN}")" echo "\ ${PIDD_PATH} ↓ diff --git a/readme.md b/readme.md index e9f57b2..c027b78 100644 --- a/readme.md +++ b/readme.md @@ -43,8 +43,8 @@ from various contexts of CA, CI and OCI / OS. |:----------------|:------------------------|:--------------------------------| | PIDD_CA_n | Numbered CA certificate | | | PIDD_DNS | Space separated servers | 9.9.9.9 | -| PIDD_GIT_CHILD | Child Git repository | pidd | -| PIDD_GIT_PARENT | Parent Git repository | rwx | +| PIDD_GIT_MAIN | Main Git repository | pidd | +| PIDD_GIT_ROOT | Root Git repository | rwx | | PIDD_SSH_HOSTS | domain.tld ssh-type pub | | | PIDD_SSH_KEY | SSH private key | | | PIDD_URL_ALMA | Alma repository URL | https://repo.almalinux.org |