diff --git a/readme.md b/readme.md index 08f857f..96ea799 100644 --- a/readme.md +++ b/readme.md @@ -211,14 +211,18 @@ Handle project workflows in a unified way: ## When +### First + +* try git repo url variable first for shunit + ### Shell -* comment * fit banner to text * review repositories handling for systems * opensuse * codecs repository * disable & enable https +* write function to clone git repositories * write unit tests ### Shell → Python @@ -254,12 +258,9 @@ Handle project workflows in a unified way: * set workflow templates * actions * includes -* try git repo url variable first for shunit * write unit tests ### Later * automate versions fetching -* document behavior differences -* generate graphs * turn readme into documentation diff --git a/spcd/main.sh b/spcd.sh similarity index 95% rename from spcd/main.sh rename to spcd.sh index 59ceab2..f7aec42 100644 --- a/spcd/main.sh +++ b/spcd.sh @@ -514,12 +514,10 @@ ${SPCD_PYTHON_VENV}/lib/${SPCD_PYTHON_COMMAND}/site-packages" spcd_split spcd_echo "SPCD_PYTHON_PACKAGES" "SPCD_PYTHON_VENV_PACKAGES" # variables - # certificate authorities [ -n "${SPCD_CA_1}" ] && SPCD_CA=true - # downloads - SPCD_DL="$(mktemp --directory)" + # spcd_split - spcd_echo "SPCD_CA" "SPCD_DL" + spcd_echo "SPCD_CA" } spcd_list_working_directory() { @@ -713,27 +711,44 @@ index-url = ${SPCD_URL_PYTHON} spcd_install_python_modules() { spcd_step "Install Python modules" + spcd_ipm__root="$(mktemp --directory)" || exit spcd_ipm__target="${SPCD_PYTHON_VENV_PACKAGES}" - spcd_ls "${spcd_ipm__target}" - spcd_split - spcd_ipm__path="$(spcd_pip_install "${SPCD_GIT_MAIN}")" - # check matching of file and variable - spcd_ipm__script="${spcd_ipm__path}/main.sh" - if [ -f "${spcd_ipm__script}" ]; then + echo "→ ${spcd_ipm__root}" + for spcd_ipm__repository in "${SPCD_GIT_MAIN}" "${SPCD_GIT_ROOT}"; do + spcd_ipm__url="$(spcd_get_git_url "${spcd_ipm__repository}")" + spcd_ipm__name="$(basename "${spcd_ipm__url}")" spcd_split - ls -l "${spcd_ipm__script}" - spcd_ipm__check="${spcd_ipm__script}.${SPCD_CMD_SUM}" - "${SPCD_CMD_SUM}" "${spcd_ipm__script}" >"${spcd_ipm__check}" - printf "%s" "${SPCD}" >"${spcd_ipm__script}" - ls -l "${spcd_ipm__script}" - dos2unix "${spcd_ipm__script}" - ls -l "${spcd_ipm__script}" - "${SPCD_CMD_SUM}" -c "${spcd_ipm__check}" || spcd_error_ci "SPCD" - fi - spcd_split - spcd_pip_install "${SPCD_GIT_ROOT}" + echo "\ +${spcd_ipm__url} +↓" + git clone \ + "${spcd_ipm__url}" \ + "${spcd_ipm__root}/${spcd_ipm__name}" || + exit + spcd_ipm__path="${spcd_ipm__root}/${spcd_ipm__name}/${spcd_ipm__name}" + echo "\ +${spcd_ipm__path} +↓ +${spcd_ipm__target}" + cp --recursive "${spcd_ipm__path}" "${spcd_ipm__target}" || + exit + # check matching of file and variable + spcd_ipm__script="${spcd_ipm__root}/${spcd_ipm__name}/spcd.sh" + if [ -f "${spcd_ipm__script}" ]; then + spcd_split + spcd_ipm__check="${spcd_ipm__root}/check.${SPCD_CMD_SUM}" + "${SPCD_CMD_SUM}" "${spcd_ipm__script}" >"${spcd_ipm__check}" + printf "%s" "${SPCD}" >"${spcd_ipm__script}" + ls -l "${spcd_ipm__script}" + dos2unix "${spcd_ipm__script}" + ls -l "${spcd_ipm__script}" + "${SPCD_CMD_SUM}" -c "${spcd_ipm__check}" || spcd_error_ci "SPCD" + fi + done spcd_split spcd_ls "${spcd_ipm__target}" + spcd_split + spcd_rm "${spcd_ipm__root}" } spcd_install_packages() { @@ -867,22 +882,7 @@ spcd_error_os() { exit "${SPCD_ERROR_OS}" } -spcd_git_clone() { - if [ -n "${1}" ]; then - spcd_gc__name="$(basename "${1}")" - spcd_gc__path="${SPCD_DL}/${spcd_gc__name}" - spcd_gc__url="$(spcd_git_url "${1}")" - echo "\ -${spcd_gc__url} -↓" - git clone \ - "${spcd_gc__url}" \ - "${spcd_gc__path}" - echo "${spcd_gc__path}" - fi -} - -spcd_git_url() { +spcd_get_git_url() { if [ -n "${1}" ]; then case "${1}" in http*) echo "${1}" ;; @@ -948,21 +948,6 @@ spcd_openssl() { fi } -spcd_pip_install() { - if [ -n "${1}" ]; then - spcd_pi__name="$(basename "${1}")" - spcd_pi__path="$(spcd_git_clone "${1}")" - spcd_pi__path="${spcd_pi__path}/${spcd_pi__name}" - spcd_pi__target="${SPCD_PYTHON_VENV_PACKAGES}" - echo "\ -${spcd_pi__path} -↓ -${spcd_pi__target}" - cp --recursive "${spcd_pi__path}" "${spcd_pi__target}" - echo "${spcd_pi__target}/${spcd_pi__name}" - fi -} - spcd_rm() { spcd_rm__path="${1}" if [ -e "${spcd_rm__path}" ]; then