diff --git a/.forgejo/workflows/ubuntu:mantic.yaml b/.forgejo/workflows/fedora:39.yaml similarity index 87% rename from .forgejo/workflows/ubuntu:mantic.yaml rename to .forgejo/workflows/fedora:39.yaml index 4dc9767..0f0a195 100644 --- a/.forgejo/workflows/ubuntu:mantic.yaml +++ b/.forgejo/workflows/fedora:39.yaml @@ -2,7 +2,7 @@ on: [push] jobs: job: container: - image: ubuntu:mantic + image: fedora:39 steps: - name: cd env: diff --git a/.forgejo/workflows/fedora:40.yaml b/.forgejo/workflows/fedora:40.yaml new file mode 100644 index 0000000..beb2f0d --- /dev/null +++ b/.forgejo/workflows/fedora:40.yaml @@ -0,0 +1,13 @@ +on: [push] +jobs: + job: + container: + image: fedora:40 + steps: + - name: cd + env: + CD: ${{secrets.cd}} + run: eval ${{vars.cd}} + + - run: cd-list-environment + - run: cd-browse-workspace diff --git a/.forgejo/workflows/ubuntu:jammy.yaml b/.forgejo/workflows/ubuntu:jammy.yaml new file mode 100644 index 0000000..ac3ce6d --- /dev/null +++ b/.forgejo/workflows/ubuntu:jammy.yaml @@ -0,0 +1,13 @@ +on: [push] +jobs: + job: + container: + image: ubuntu:jammy + steps: + - name: cd + env: + CD: ${{secrets.cd}} + run: eval ${{vars.cd}} + + - run: cd-list-environment + - run: cd-browse-workspace diff --git a/cd.sh b/cd.sh index a1b2398..48830dc 100644 --- a/cd.sh +++ b/cd.sh @@ -45,12 +45,13 @@ cd_set_environment_variables () { "alpine") CD_OS_ID="${CD_OS_ALPINE}" ;; "arch") CD_OS_ID="${CD_OS_ARCH}" ;; "debian") CD_OS_ID="${CD_OS_DEBIAN}" ;; + "fedora") CD_OS_ID="${CD_OS_FEDORA}" ;; "rocky") CD_OS_ID="${CD_OS_ROCKY}" ;; "ubuntu") CD_OS_ID="${CD_OS_UBUNTU}" ;; *) cd_error_os "CD_OS_ID" ;; esac case "${CD_OS_ID}" in - "${CD_OS_ALMA}"|"${CD_OS_ARCH}"|"${CD_OS_ROCKY}") + "${CD_OS_ALMA}"|"${CD_OS_ARCH}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}") CD_OS_VERSION=$(cd_grep_os VERSION_ID \ | sed "s|^\([0-9]\+\)\..*|\1|") ;; @@ -87,9 +88,15 @@ cd_set_environment_variables () { *) cd_error_os "CD_OS_VERSION" ;; esac ;; + "${CD_OS_FEDORA}") + case "${CD_OS_VERSION}" in + "39"|"40") ;; + *) cd_error_os "CD_OS_VERSION" ;; + esac + ;; "${CD_OS_UBUNTU}") case "${CD_OS_VERSION}" in - "mantic"|"noble") ;; + "jammy"|"noble") ;; *) cd_error_os "CD_OS_VERSION" ;; esac ;; @@ -102,7 +109,7 @@ cd_set_environment_variables () { cd_echo "CD_DNS_FILE" "CD_PKG_CA" "CD_PKG_GIT" # shared case "${CD_OS_ID}" in - "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") + "${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}") CD_CA_ROOT="/etc/pki/ca-trust/source/anchors" CD_CMD_CA="update-ca-trust" ;; @@ -119,7 +126,7 @@ cd_set_environment_variables () { cd_echo "CD_CA_ROOT" "CD_CMD_CA" # common case "${CD_OS_ID}" in - "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") + "${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}") CD_CMD_CLEAN="dnf clean all" CD_CMD_INSTALL="dnf install --assumeyes" CD_CMD_QUERY="rpm --query" @@ -162,8 +169,8 @@ skip_if_unavailable=False CD_PKG_PKG="" CD_PM_CONF_PATH="" CD_PM_CONF_TEXT="" - # TODO - # TODO + CD_PM_HTTPS_PATH="/etc/pacman.d/https.conf" + CD_PM_HTTPS_TEXT="SSLVerify = No" ;; "${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}") CD_CMD_CLEAN="apt-get clean" @@ -198,9 +205,15 @@ Dir::Etc::SourceParts \"\"; "${CD_OS_ALPINE}") CD_URL_DEFAULT="https://dl-cdn.alpinelinux.org/alpine" ;; + "${CD_OS_ARCH}") + CD_URL_DEFAULT="https://geo.mirror.pkgbuild.com" + ;; "${CD_OS_DEBIAN}") CD_URL_DEFAULT="http://deb.debian.org/debian" ;; + "${CD_OS_FEDORA}") + CD_URL_DEFAULT="http://download.example/pub/fedora/linux/releases" + ;; "${CD_OS_ROCKY}") CD_URL_DEFAULT="http://dl.rockylinux.org/\$contentdir" ;; @@ -220,6 +233,10 @@ Dir::Etc::SourceParts \"\"; [ "${CD_URL_DEBIAN}" ] && CD_URL_CHOSEN="${CD_URL_DEBIAN}" \ || CD_URL_CHOSEN="https://deb.debian.org/debian" ;; + "${CD_OS_FEDORA}") + [ "${CD_URL_FEDORA}" ] && CD_URL_CHOSEN="${CD_URL_FEDORA}" \ + || CD_URL_CHOSEN="https://rpmfind.net/linux/fedora/linux/releases" + ;; "${CD_OS_ROCKY}") [ "${CD_URL_ROCKY}" ] && CD_URL_CHOSEN="${CD_URL_ROCKY}" \ || CD_URL_CHOSEN="https://dl.rockylinux.org/\$contentdir" @@ -236,17 +253,14 @@ Dir::Etc::SourceParts \"\"; "${CD_OS_ALMA}"|"${CD_OS_ROCKY}") CD_PYTHON_COMMAND="python3.11" CD_PYTHON_PACKAGE="python3.11" - CD_PYTHON_PACKAGES="/usr/lib64/python3.11/site-packages" ;; "${CD_OS_ALPINE}") CD_PYTHON_COMMAND="python3.11" CD_PYTHON_PACKAGE="python3" - CD_PYTHON_PACKAGES="/usr/lib/python3.11/site-packages" ;; "${CD_OS_ARCH}") CD_PYTHON_COMMAND="python3.12" CD_PYTHON_PACKAGE="python" - CD_PYTHON_PACKAGES="/usr/lib/python3.12/site-packages" ;; "${CD_OS_DEBIAN}") case "${CD_OS_VERSION}" in @@ -254,14 +268,27 @@ Dir::Etc::SourceParts \"\"; "bullseye") CD_PYTHON_COMMAND="python3.9" ;; esac CD_PYTHON_PACKAGE="python3" - CD_PYTHON_PACKAGES="/usr/lib/python3/dist-packages" + ;; + "${CD_OS_FEDORA}") + CD_PYTHON_COMMAND="python3.12" + CD_PYTHON_PACKAGE="python3" ;; "${CD_OS_UBUNTU}") case "${CD_OS_VERSION}" in "noble") CD_PYTHON_COMMAND="python3.12" ;; - "mantic") CD_PYTHON_COMMAND="python3.11" ;; + "jammy") CD_PYTHON_COMMAND="python3.10" ;; esac CD_PYTHON_PACKAGE="python3" + ;; + esac + case "${CD_OS_ID}" in + "${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}") + CD_PYTHON_PACKAGES="/usr/lib64/${CD_PYTHON_COMMAND}/site-packages" + ;; + "${CD_OS_ALPINE}"|"${CD_OS_ARCH}") + CD_PYTHON_PACKAGES="/usr/lib/${CD_PYTHON_COMMAND}/site-packages" + ;; + "${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}") CD_PYTHON_PACKAGES="/usr/lib/python3/dist-packages" ;; esac @@ -634,6 +661,7 @@ CD_OS_ALMA="alma" CD_OS_ALPINE="alpine" CD_OS_ARCH="arch" CD_OS_DEBIAN="debian" +CD_OS_FEDORA="fedora" CD_OS_ROCKY="rocky" CD_OS_UBUNTU="ubuntu" diff --git a/readme.md b/readme.md index f9d0d44..0f0cca5 100644 --- a/readme.md +++ b/readme.md @@ -13,28 +13,27 @@ from various CA, CI, OCI / OS. * [X] GitLab * [ ] SourceHut * [ ] Operating Systems - * [X] Alma + * [X] Alma → Python 3.11 * [X] 8 * [X] 9 - * [X] Alpine + * [X] Alpine → Python 3.11 * [X] 3.18 * [X] 3.19 - * [ ] Arch + * [ ] Arch → Python 3.12 * [ ] 20231112 * [ ] 20240101 * [X] Debian - * [X] Bookworm - * [X] Bullseye - * [X] Rocky + * [X] Bullseye (11) → Python 3.9 + * [X] Bookworm (12) → Python 3.11 + * [ ] Fedora → Python 3.12 + * [ ] 39 + * [ ] 40 + * [X] Rocky → Python 3.11 * [X] 8 * [X] 9 * [X] Ubuntu - * [X] Mantic - * [X] Noble -* [X] Python - * [X] 3.9 (Debian Bullseye) - * [X] 3.11 (Alma, Alpine, Debian Bookworm, Rocky, Ubuntu Mantic) - * [X] 3.12 (Arch, Ubuntu Noble) + * [X] Jammy (22.04) → Python 3.10 + * [X] Noble (24.04) → Python 3.12 ## How @@ -46,6 +45,7 @@ from various CA, CI, OCI / OS. | CD_URL_ALPINE | Alpine repository URL | | CD_URL_ARCH | Arch repository URL | | CD_URL_DEBIAN | Debian repository URL | +| CD_URL_FEDORA | Fedora repository URL | | CD_URL_ROCKY | Rocky repository URL | | CD_URL_UBUNTU | Ubuntu repository URL |