diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index efa6438..bea2cbc 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -17,12 +17,10 @@ [ -n "${SPCD_REF_RELEASE}" ] || SPCD_REF_RELEASE="main" [ -n "${SPCD_REF_STAGING}" ] || SPCD_REF_STAGING="dev" -[ -n "${SPCD_URL_ALMA}" ] || - SPCD_URL_ALMA="https://repo.almalinux.org" [ -n "${SPCD_URL_ALPINE}" ] || SPCD_URL_ALPINE="https://dl-cdn.alpinelinux.org/alpine" [ -n "${SPCD_URL_ARCH}" ] || - SPCD_URL_ARCH="https://geo.mirror.pkgbuild.com/\$repo/os/\$arch" + SPCD_URL_ARCH="https://geo.mirror.pkgbuild.com" [ -n "${SPCD_URL_DEBIAN}" ] || SPCD_URL_DEBIAN="https://deb.debian.org/debian" [ -n "${SPCD_URL_EPEL}" ] || @@ -34,7 +32,7 @@ [ -n "${SPCD_URL_PYTHON}" ] || SPCD_URL_PYTHON="https://pypi.org/simple" [ -n "${SPCD_URL_ROCKY}" ] || - SPCD_URL_ROCKY="https://dl.rockylinux.org" + SPCD_URL_ROCKY="https://dl.rockylinux.org/\$contentdir" [ -n "${SPCD_URL_UBUNTU}" ] || SPCD_URL_UBUNTU="https://ubuntu.mirrors.ovh.net/ubuntu" @@ -557,6 +555,70 @@ ${SPCD_PROJECT_ROOT}$(basename "${GITHUB_SERVER_URL}")" esac spcd_split spcd_os_printenv "SPCD_PM" + # specific + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}") + SPCD_URL_DEFAULT="https://repo.almalinux.org/almalinux" + ;; + "${SPCD_OS_ALPINE}") + SPCD_URL_DEFAULT="https://dl-cdn.alpinelinux.org/alpine" + ;; + "${SPCD_OS_ARCH}") + SPCD_URL_DEFAULT="https://geo.mirror.pkgbuild.com" + ;; + "${SPCD_OS_DEBIAN}") + SPCD_URL_DEFAULT="http://deb.debian.org/debian" + ;; + "${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" + ;; + "${SPCD_OS_UBUNTU}") + SPCD_URL_DEFAULT="http://archive.ubuntu.com/ubuntu" + ;; + *) ;; + esac + SPCD_URL_CHOSEN="${SPCD_URL_DEFAULT}" + case "${SPCD_OS_ID}" in + "${SPCD_OS_ALMA}") + [ -n "${SPCD_URL_ALMA}" ] && SPCD_URL_CHOSEN="${SPCD_URL_ALMA}" + ;; + "${SPCD_OS_ALPINE}") + [ -n "${SPCD_URL_ALPINE}" ] && SPCD_URL_CHOSEN="${SPCD_URL_ALPINE}" + ;; + "${SPCD_OS_ARCH}") + [ -n "${SPCD_URL_ARCH}" ] && SPCD_URL_CHOSEN="${SPCD_URL_ARCH}" + ;; + "${SPCD_OS_DEBIAN}") + [ -n "${SPCD_URL_DEBIAN}" ] && SPCD_URL_CHOSEN="${SPCD_URL_DEBIAN}" || + SPCD_URL_CHOSEN="https://deb.debian.org/debian" + ;; + "${SPCD_OS_FEDORA}") + [ -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" + ;; + "${SPCD_OS_UBUNTU}") + [ -n "${SPCD_URL_UBUNTU}" ] && SPCD_URL_CHOSEN="${SPCD_URL_UBUNTU}" || + SPCD_URL_CHOSEN="https://ubuntu.mirrors.ovh.net/ubuntu" + ;; + *) ;; + esac + spcd_split + spcd_os_printenv "SPCD_URL_DEFAULT" "SPCD_URL_CHOSEN" # set python alias SPCD_PYTHON_ALIAS="python3" spcd_split @@ -764,73 +826,31 @@ spcd_step__packages_set_repositories() { case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}") case "${SPCD_OS_VERSION}" in - "9") - set -- \ - "-appstream" \ - "-baseos" \ - "-crb" \ - "-extras" \ - "-highavailability" \ - "-nfv" \ - "-plus" \ - "-resilientstorage" \ - "-rt" \ - "-sap" \ - "-saphana" - ;; - "8") - set -- \ - "" \ - "-ha" \ - "-nfv" \ - "-plus" \ - "-powertools" \ - "-resilientstorage" \ - "-rt" \ - "-sap" \ - "-saphana" - ;; + "8") spcd_spr__file="/etc/yum.repos.d/almalinux.repo" ;; + "9") spcd_spr__file="/etc/yum.repos.d/almalinux-baseos.repo" ;; *) ;; esac - for spcd_spr__file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/almalinux${spcd_spr__file}.repo" \ - "|^mirrorlist|# mirrorlist|" \ - "|https://repo.almalinux.org|${SPCD_URL_ALMA}|" \ - "|^# baseurl|baseurl|" - done + spcd_os_sed "${spcd_spr__file}" \ + "|^mirrorlist|# mirrorlist|" \ + "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" \ + "|^# baseurl|baseurl|" ;; "${SPCD_OS_ALPINE}") - spcd_os_write "/etc/apk/repositories" "\ -${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/main -${SPCD_URL_ALPINE}/v${SPCD_OS_VERSION}/community -" - ;; - "${SPCD_OS_ARCH}") - spcd_os_write "/etc/pacman.d/mirrorlist" "\ -Server = ${SPCD_URL_ARCH} + spcd_spr__file="/etc/apk/repositories" + spcd_os_write "${spcd_spr__file}" "\ +${SPCD_URL_CHOSEN}/v${SPCD_OS_VERSION}/main +${SPCD_URL_CHOSEN}/v${SPCD_OS_VERSION}/community " ;; "${SPCD_OS_DEBIAN}") - spcd_os_write "/etc/apt/sources.list" "\ -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION} main -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-backports main -deb ${SPCD_URL_DEBIAN} ${SPCD_OS_VERSION}-updates main -deb ${SPCD_URL_DEBIAN}-security ${SPCD_OS_VERSION}-security main + spcd_spr__file="/etc/apt/sources.list" + spcd_os_write "${spcd_spr__file}" "\ +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION} main +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-backports main +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-updates main +deb ${SPCD_URL_CHOSEN}-security ${SPCD_OS_VERSION}-security main " ;; - "${SPCD_OS_FEDORA}") - for spcd_spr__file in \ - "fedora" \ - "fedora-updates" \ - "fedora-updates-testing"; do - spcd_os_sed "/etc/yum.repos.d/${spcd_spr__file}.repo" \ - "|^metalink|# metalink|" \ - "|http://download.example|${SPCD_URL_FEDORA}|" \ - "|^#baseurl|baseurl|" - done - spcd_os_sed "/etc/yum.repos.d/fedora-cisco-openh264.repo" \ - "|^enabled=1|# enabled=0|" - ;; "${SPCD_OS_OPENSUSE}") for spcd_spr__file in \ "backports-update" \ @@ -841,48 +861,27 @@ deb ${SPCD_URL_DEBIAN}-security ${SPCD_OS_VERSION}-security main "update" \ "openh264"; do spcd_os_sed "/etc/zypp/repos.d/repo-${spcd_spr__file}.repo" \ - "|http://download.opensuse.org|${SPCD_URL_OPENSUSE}|" + "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" done ;; "${SPCD_OS_ROCKY}") case "${SPCD_OS_VERSION}" in - "9") - set -- \ - "rocky" \ - "rocky-addons" \ - "rocky-devel" \ - "rocky-extras" - ;; - "8") - set -- \ - "Rocky-AppStream" \ - "Rocky-BaseOS" \ - "Rocky-Debuginfo" \ - "Rocky-Devel" \ - "Rocky-Extras" \ - "Rocky-HighAvailability" \ - "Rocky-NFV" \ - "Rocky-Plus" \ - "Rocky-PowerTools" \ - "Rocky-RT" \ - "Rocky-ResilientStorage" \ - "Rocky-Sources" - ;; + "8") spcd_spr__file="/etc/yum.repos.d/Rocky-BaseOS.repo" ;; + "9") spcd_spr__file="/etc/yum.repos.d/rocky.repo" ;; *) ;; esac - for spcd_spr__file in "${@}"; do - spcd_os_sed "/etc/yum.repos.d/${spcd_spr__file}.repo" \ - "|^mirrorlist|# mirrorlist|" \ - "|http://dl.rockylinux.org|${SPCD_URL_ROCKY}|" \ - "|^#baseurl|baseurl|" - done + spcd_os_sed "${spcd_spr__file}" \ + "|^mirrorlist|# mirrorlist|" \ + "|${SPCD_URL_DEFAULT}|${SPCD_URL_CHOSEN}|" \ + "|^#baseurl|baseurl|" ;; "${SPCD_OS_UBUNTU}") - spcd_os_write "/etc/apt/sources.list" "\ -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION} main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-backports main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-updates main universe -deb ${SPCD_URL_UBUNTU} ${SPCD_OS_VERSION}-security main universe + spcd_spr__file="/etc/apt/sources.list" + spcd_os_write "${spcd_spr__file}" "\ +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION} main universe +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-backports main universe +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-updates main universe +deb ${SPCD_URL_CHOSEN} ${SPCD_OS_VERSION}-security main universe " ;; *) ;;