diff --git a/.forgejo/workflows/before_opensuse_15.5.yaml b/.forgejo/workflows/before_opensuse_15.5.yaml deleted file mode 100644 index bcf1b30..0000000 --- a/.forgejo/workflows/before_opensuse_15.5.yaml +++ /dev/null @@ -1,14 +0,0 @@ -on: [push] -jobs: - job: - container: - image: ${{vars.DOCKER}}opensuse/leap:15.5 - steps: - - name: spcd - env: - SPCD: ${{vars.SPCD}} - run: ${{vars.SPCD}} - - - run: spcd-check-project - - run: spcd-build-project - - run: spcd-browse-workspace diff --git a/.forgejo/workflows/latest_opensuse_15.6.yaml b/.forgejo/workflows/latest_opensuse_15.6.yaml deleted file mode 100644 index 0b20f95..0000000 --- a/.forgejo/workflows/latest_opensuse_15.6.yaml +++ /dev/null @@ -1,14 +0,0 @@ -on: [push] -jobs: - job: - container: - image: ${{vars.DOCKER}}opensuse/leap:15.6 - steps: - - name: spcd - env: - SPCD: ${{vars.SPCD}} - run: ${{vars.SPCD}} - - - run: spcd-check-project - - run: spcd-build-project - - run: spcd-browse-workspace diff --git a/pyproject.toml b/pyproject.toml index 3e5d6d7..be22922 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ keywords = [] license-files = { paths = ["license.md"] } name = "spcd" readme = "readme.md" -requires-python = ">= 3.11" +requires-python = ">= 3.10" [project.scripts] # command = "package.module:function" diff --git a/readme.md b/readme.md index c3968fe..e73e9ee 100644 --- a/readme.md +++ b/readme.md @@ -30,15 +30,12 @@ from various contexts of CA, CI and OCI / OS. * [X] Fedora * [X] 40 * [X] 39 - * [ ] OpenSUSE - * [ ] 15.6 - * [ ] 15.5 * [X] Rocky * [X] 9 * [X] 8 * [X] Ubuntu * [X] Noble (24.04) - * [ ] Jammy (22.04) + * [X] Jammy (22.04) ## How @@ -60,43 +57,39 @@ from various contexts of CA, CI and OCI / OS. | SPCD_URL_DEBIAN | Debian repository URL | https://deb.debian.org | | 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_ROCKY | Rocky repository URL | https://dl.rockylinux.org | | SPCD_URL_UBUNTU | Ubuntu repository URL | https://ubuntu.mirrors.ovh.net | ## Packages -| os | https | updat-ca | python | graphviz | plantuml | shellcheck | shfmt | -|:----------------|---|---|:------------|:------|:-----------|:------|:-----| -| Arch 20240101 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 3.8 | -| Fedora 40 | ☑ | ☑ | 3.13 ← 3.12 | 9.0 | 1.2024.6 | 0.9 | 3.7 | -| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 3.8 | -| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | u3.8 | -| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 3.6 | -| OpenSUSE 15.6 | ☐ | ☑ | 3.12 ← 3.6 | 2.48 | 1.2020.9 | 0.8 | 3.5 | -| Alma | Rocky 9 | ☑ | ☑ | 3.12 ← 3.9 | 2.44 | e1.2024.6 | e0.8 | | +| os | https | upd-ca | python | graphviz | plantuml | shellcheck | shfmt | +|:----------------|---|---|:------------|:------|:----------|:-----|:-----| +| Arch 20240101 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 3.8 | +| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 3.7 | +| Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 3.8 | +| Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | u3.8 | +| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 3.6 | +| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | -| os | https | updat-ca | python | graphviz | plantuml | shellcheck | shfmt | -|:----------------|---|---|:------------|:------|:-----------|:------|:-----| -| Fedora 39 | ☑ | ☑ | 3.13 ← 3.12 | 8.1 | 1.2024.6 | 0.9 | 3.5 | -| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 3.7 | -| OpenSUSE 15.5 | ☐ | ☑ | 3.11 ← 3.6 | 2.48 | 1.2020.9 | 0.8 | 3.5 | -| Alma | Rocky 8 | ☑ | ☑ | 3.12 ← 3.6 | 2.40 | e1.2024.6 | e0.6 | | - -| os | https | updat-ca | python | graphviz | plantuml | shellcheck | shfmt | -|:----------------|---|---|:------------|:------|:-----------|:------|:-----| -| Ubuntu Jammy | ☐ | ☐ | 3.10 | u2.42 | u1.2020.2 | u0.8 | u3.4 | -| Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | | +| os | https | upd-ca | python | graphviz | plantuml | shellcheck | shfmt | +|:----------------|---|---|:------------|:------|:----------|:-----|:-----| +| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 3.5 | +| Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 3.7 | +| Ubuntu Jammy | ☐ | ☐ | 3.10 | u2.42 | u1.2020.2 | u0.8 | u3.4 | +| Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | | +| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | ## Tasks +* define templates + * actions + * includes +* relay environment module name + ### sh -* review repositories handling for systems - * opensuse - * codecs repository - * disable & enable https +* support opensuse operating system * write tests ### sh → py @@ -104,9 +97,9 @@ from various contexts of CA, CI and OCI / OS. * check file & variable sums * install system packages * epel + * bats * plantuml * shellcheck - * shunit | bats * graphviz * openssh * rsync @@ -117,17 +110,11 @@ from various contexts of CA, CI and OCI / OS. * venv * create * activate -* relay environment module name ### py +* detect ssh private key type * check * .py * .sh - * maximum line length -* detect ssh private key type -* list sys.path -* set workflow templates - * actions - * includes * write tests diff --git a/spcd.sh b/spcd.sh index 95a6298..ebbe0f0 100644 --- a/spcd.sh +++ b/spcd.sh @@ -142,7 +142,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" "arch") SPCD_OS_ID="${SPCD_OS_ARCH}" ;; "debian") SPCD_OS_ID="${SPCD_OS_DEBIAN}" ;; "fedora") SPCD_OS_ID="${SPCD_OS_FEDORA}" ;; - "opensuse-leap") SPCD_OS_ID="${SPCD_OS_OPENSUSE}" ;; "rocky") SPCD_OS_ID="${SPCD_OS_ROCKY}" ;; "ubuntu") SPCD_OS_ID="${SPCD_OS_UBUNTU}" ;; *) spcd_error_os "SPCD_OS_ID" ;; @@ -154,7 +153,7 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_OS_VERSION=$(spcd_grep_os VERSION_ID | sed "s|^\([0-9]\+\)\..*|\1|") ;; - "${SPCD_OS_ALPINE}" | "${SPCD_OS_OPENSUSE}") + "${SPCD_OS_ALPINE}") SPCD_OS_VERSION=$(spcd_grep_os VERSION_ID | sed "s|^\([0-9]\+\.[0-9]\+\)\..*|\1|") ;; @@ -195,12 +194,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" *) spcd_error_os "SPCD_OS_VERSION" ;; esac ;; - "${SPCD_OS_OPENSUSE}") - case "${SPCD_OS_VERSION}" in - "15.6" | "15.5") ;; - *) spcd_error_os "SPCD_OS_VERSION" ;; - esac - ;; "${SPCD_OS_UBUNTU}") case "${SPCD_OS_VERSION}" in "noble" | "jammy") ;; @@ -238,10 +231,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" SPCD_CA_ROOT="/usr/local/share/ca-certificates" SPCD_CMD_CA="update-ca-certificates" ;; - "${SPCD_OS_OPENSUSE}") - SPCD_CA_ROOT="/etc/pki/trust/anchors" - SPCD_CMD_CA="update-ca-certificates" - ;; *) ;; esac spcd_split @@ -260,9 +249,6 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" "${SPCD_OS_ARCH}") SPCD_PM="${SPCD_PM_PACMAN}" ;; - "${SPCD_OS_OPENSUSE}") - SPCD_PM="${SPCD_PM_ZYPPER}" - ;; *) ;; esac spcd_split @@ -335,20 +321,6 @@ Dir::Etc::SourceParts \"\"; SPCD_PM_HTTPS_PATH="/etc/apt/apt.conf.d/https" SPCD_PM_HTTPS_TEXT="\ Acquire::https::Verify-Peer False; -" - ;; - "${SPCD_PM_ZYPPER}") - SPCD_PM_CLEAN="zypper clean" - SPCD_PM_INSTALL="zypper --non-interactive install" - SPCD_PM_QUERY="rpm --query" - SPCD_PM_UPDATE="zypper refresh" - SPCD_PM_UPGRADE="zypper --non-interactive update" - SPCD_PKG_PKG="" - SPCD_PM_CONF_PATH="" - SPCD_PM_CONF_TEXT="\ -" - SPCD_PM_HTTPS_PATH="" - SPCD_PM_HTTPS_TEXT="\ " ;; *) ;; @@ -375,9 +347,6 @@ Acquire::https::Verify-Peer False; "${SPCD_OS_FEDORA}") SPCD_URL_DEFAULT="http://download.example/pub/fedora/linux/releases" ;; - "${SPCD_OS_OPENSUSE}") - SPCD_URL_DEFAULT="http://download.opensuse.org" - ;; "${SPCD_OS_ROCKY}") SPCD_URL_DEFAULT="http://dl.rockylinux.org/\$contentdir" ;; @@ -405,11 +374,6 @@ Acquire::https::Verify-Peer False; [ -n "${SPCD_URL_FEDORA}" ] && SPCD_URL_CHOSEN="${SPCD_URL_FEDORA}" || SPCD_URL_CHOSEN="https://rpmfind.net/linux/fedora/linux/releases" ;; - "${SPCD_OS_OPENSUSE}") - [ -n "${SPCD_URL_OPENSUSE}" ] && - SPCD_URL_CHOSEN="${SPCD_URL_OPENSUSE}" || - SPCD_URL_CHOSEN="https://download.opensuse.org" - ;; "${SPCD_OS_ROCKY}") [ -n "${SPCD_URL_ROCKY}" ] && SPCD_URL_CHOSEN="${SPCD_URL_ROCKY}" || SPCD_URL_CHOSEN="https://dl.rockylinux.org/\$contentdir" @@ -449,21 +413,8 @@ Acquire::https::Verify-Peer False; SPCD_PYTHON_PACKAGE="python3" ;; "${SPCD_OS_FEDORA}") - SPCD_PYTHON_COMMAND="python3.13" - SPCD_PYTHON_PACKAGE="python3.13" - ;; - "${SPCD_OS_OPENSUSE}") - case "${SPCD_OS_VERSION}" in - "15.6") - SPCD_PYTHON_COMMAND="python3.12" - SPCD_PYTHON_PACKAGE="python312" - ;; - "15.5") - SPCD_PYTHON_COMMAND="python3.11" - SPCD_PYTHON_PACKAGE="python311" - ;; - *) ;; - esac + SPCD_PYTHON_COMMAND="python3.12" + SPCD_PYTHON_PACKAGE="python3" ;; "${SPCD_OS_UBUNTU}") case "${SPCD_OS_VERSION}" in @@ -479,8 +430,7 @@ Acquire::https::Verify-Peer False; spcd_echo "SPCD_PYTHON_COMMAND" "SPCD_PYTHON_PACKAGE" # set python packages case "${SPCD_OS_ID}" in - "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}" | \ - "${SPCD_OS_OPENSUSE}") + "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") SPCD_PYTHON_PACKAGES="/usr/lib64/${SPCD_PYTHON_COMMAND}/site-packages" ;; "${SPCD_OS_ALPINE}" | "${SPCD_OS_ARCH}") @@ -538,19 +488,6 @@ deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-updates main deb ${SPCD_URL_CHOSEN}-security ${SPCD_OS_VERSION}-security main " ;; - "${SPCD_OS_OPENSUSE}") - for spcd_spr__file in \ - "backports-update" \ - "non-oss" \ - "oss" \ - "sle-update" \ - "update-non-oss" \ - "update" \ - "openh264"; do - spcd_sed "/etc/zypp/repos.d/repo-${spcd_spr__file}.repo" \ - "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" - done - ;; "${SPCD_OS_ROCKY}") case "${SPCD_OS_VERSION}" in "8") spcd_spr__file="/etc/yum.repos.d/Rocky-BaseOS.repo" ;; @@ -973,7 +910,6 @@ SPCD_OS_ALPINE="alpine" SPCD_OS_ARCH="arch" SPCD_OS_DEBIAN="debian" SPCD_OS_FEDORA="fedora" -SPCD_OS_OPENSUSE="opensuse" SPCD_OS_ROCKY="rocky" SPCD_OS_UBUNTU="ubuntu" @@ -981,7 +917,6 @@ SPCD_PM_APK="apk" SPCD_PM_APT="apt" SPCD_PM_DNF="dnf" SPCD_PM_PACMAN="pacman" -SPCD_PM_ZYPPER="zypper" SPCD_PYTHON_VENV="/opt/venv" SPCD_PYTHON_VENV_BINARIES="${SPCD_PYTHON_VENV}/bin"