View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0012079 | Rocky Services | Mirror Manager | public | 2026-02-25 04:54 | 2026-02-25 04:54 |
| Reporter | Stephen Tuggy | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | x86_64 | OS | Rocky Linux | OS Version | 10.1 |
| Summary | 0012079: 10.x devel repository mirrors not working | ||||
| Description | Enabling the "Devel" repository for 10.0 and 10.x fails. It stopped working sometime in the last couple of months or so. A similar bug was previously reported for 9.x: https://bugs.rockylinux.org/view.php?id=3268 Note that this is in the context of building a custom Docker image within a GitHub Actions workflow, based on rockylinux/rockylinux from Docker Hub. | ||||
| Steps To Reproduce | These steps to reproduce may be more elaborate than needed, but I will go ahead and list them anyway. Create a Dockerfile containing the following: ------------------------------------------------------------------------------------- ARG from FROM ${from} WORKDIR /usr/local/src/build-system-docker-images COPY script/ script/ RUN DEBIAN_FRONTEND=noninteractive script/bootstrap 1 ------------------------------------------------------------------------------------- Pass 'rockylinux/rockylinux:10.1' as the value of the 'from' argument from the GitHub workflow. For instance, create file .github/workflows/gh-actions-pr.yml, with the following contents: ------------------------------------------------------------------------------------- name: 'GH Actions - PR' permissions: contents: read pull-requests: read on: [ pull_request ] jobs: build: name: Build runs-on: ubuntu-latest strategy: fail-fast: false matrix: FROM: - 'rockylinux/rockylinux:10.1' - 'rockylinux/rockylinux:10.0' - 'rockylinux/rockylinux:9.7' - 'rockylinux/rockylinux:9.6' steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can check out the head. fetch-depth: 2 submodules: false # Ensure PRs are built against the PR Head # As opposed to the merge commit - name: Move to PR HEAD run: git checkout HEAD^2 - name: Run CI env: FROM: ${{ matrix.FROM }} IS_RELEASE: 0 run: script/cibuild ------------------------------------------------------------------------------------- Next, create file script/cibuild, with the following contents: ------------------------------------------------------------------------------------- #!/usr/bin/env bash set -e DOCKER_IMG_NAME="vegastrike/vega-strike-build-env:$(echo "$FROM" | sed 's/:/_/' | sed 's/\//_/')" docker build --build-arg from="$FROM" -t "$DOCKER_IMG_NAME" . if [ "${IS_RELEASE}" -eq 1 ]; then # NOTE: Login done by a Git Hub Action prior to this script being run docker push "$DOCKER_IMG_NAME" fi echo "cibuild Done!" ------------------------------------------------------------------------------------- Next, create the script/bootstrap file, with the following contents: ------------------------------------------------------------------------------------- #!/usr/bin/env bash set -e platform="$(uname | tr '[:upper:]' '[:lower:]')" case "$platform" in "linux"|"linux-gnu") echo "Bootstrapping on Linux..." if [ -f ./script/bootstrap-on-linux.sh ] && [ -x ./script/bootstrap-on-linux.sh ] then ./script/bootstrap-on-linux.sh "$1" elif [ -f ./bootstrap-on-linux.sh ] && [ -x ./bootstrap-on-linux.sh ] then ./bootstrap-on-linux.sh "$1" else echo "Error locating bootstrap-on-linux.sh" exit 3 fi ;; "darwin") echo "Bootstrapping on macOS X or later..." if [ -f ./script/bootstrap-on-macOS.sh ] && [ -x ./script/bootstrap-on-macOS.sh ] then ./script/bootstrap-on-macOS.sh "$1" elif [ -f ./bootstrap-on-macOS.sh ] && [ -x ./bootstrap-on-macOS.sh ] then ./bootstrap-on-macOS.sh "$1" else echo "Error locating bootstrap-on-macOS.sh" exit 3 fi ;; *) echo "Sorry, unrecognized or unsupported operating system" exit 2 ;; esac ------------------------------------------------------------------------------------- Next, create the script/bootstrap-on-linux.sh file, with at least the following contents: ------------------------------------------------------------------------------------- #!/usr/bin/env bash set -e UPDATE_ALL_SYSTEM_PACKAGES="$1" if [ -f /etc/os-release ] then OS_RELEASE_LOCATION="/etc/os-release" elif [ -f /usr/lib/os-release ] then OS_RELEASE_LOCATION="/usr/lib/os-release" else echo "os-release file not found; unable to continue" exit 1 fi LINUX_ID=$(grep ^ID= $OS_RELEASE_LOCATION | sed 's/^ID=//' | tr -d '"\n') echo "LINUX_ID = ${LINUX_ID}" LINUX_CODENAME=$(grep ^VERSION_CODENAME= $OS_RELEASE_LOCATION | sed 's/^VERSION_CODENAME=//' | tr -d '"\n') echo "LINUX_CODENAME = ${LINUX_CODENAME}" LINUX_VERSION_ID=$(grep ^VERSION_ID= $OS_RELEASE_LOCATION | sed 's/^VERSION_ID=//' | tr -d '"\n') echo "LINUX_VERSION_ID = ${LINUX_VERSION_ID}" function bootstrapOnRockyLinux () { case "${LINUX_VERSION_ID}" in "9.6"|"9.7") if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] then dnf -y upgrade --refresh fi dnf -y install dnf-plugins-core dnf -y config-manager --set-enabled crb dnf -y config-manager --set-enabled devel dnf -y install epel-release dnf -y update dnf -y install \ git \ cmake \ gcc-c++ \ rpm-build \ make \ autoconf \ autoconf-archive \ automake \ libtool \ curl-minimal \ zip \ unzip \ tar \ kernel-headers \ perl \ libX11-devel \ xorg-x11-proto-devel \ libXfixes-devel \ libXi-devel \ libXmu-devel \ libXrandr-devel \ libXtst-devel \ wayland-devel \ libxkbcommon-devel \ wayland-protocols-devel \ ibus-devel \ python3-jinja2 \ boost-devel \ boost-python3-devel \ boost-json \ freeglut-devel \ openal-soft-devel \ SDL2-devel \ SDL2_image-devel \ libvorbis-devel \ libglvnd-devel \ libjpeg-turbo-devel \ libpng-devel \ expat-devel \ gtk3-devel \ python3-devel \ libarchive-devel \ clang \ fribidi-devel \ mesa-libGLU-devel \ libtool-ltdl-devel ;; "10.0"|"10.1") declare -a pkgs_to_uninstall=('SDL2-devel' 'SDL2') for pkg in "${pkgs_to_uninstall[@]}" do if dnf list installed | grep -qF "$pkg"; then dnf -y remove "$pkg" else echo "Package '$pkg' is not installed." fi done if [ "${UPDATE_ALL_SYSTEM_PACKAGES}" -eq 1 ] then dnf -y upgrade --refresh fi dnf -y install 'dnf-command(config-manager)' dnf -y config-manager --set-enabled crb dnf -y config-manager --set-enabled devel dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm dnf -y update dnf -y install \ git \ cmake \ gcc-c++ \ rpm-build \ make \ autoconf \ autoconf-archive \ automake \ libtool \ curl \ zip \ unzip \ tar \ kernel-headers \ perl \ libX11-devel \ xorg-x11-proto-devel \ libXfixes-devel \ libXi-devel \ libXmu-devel \ libXrandr-devel \ libXtst-devel \ wayland-devel \ libxkbcommon-devel \ wayland-protocols-devel \ ibus-devel \ python3-jinja2 \ boost-devel \ boost-python3-devel \ boost-json \ freeglut-devel \ openal-soft-devel \ SDL3-devel \ sdl2-compat-devel \ SDL2_image-devel \ libvorbis-devel \ libglvnd-devel \ libjpeg-turbo-devel \ libpng-devel \ expat-devel \ gtk3-devel \ python3-devel \ libarchive-devel \ clang \ fribidi-devel \ mesa-libGLU-devel \ libtool-ltdl-devel ;; *) echo "Sorry, this version of Rocky Linux is unsupported" exit 2 ;; esac } case "${LINUX_ID}" in "rocky") bootstrapOnRockyLinux ;; *) echo "Sorry, unrecognized/unsupported Linux distribution" exit 2 ;; esac echo "Bootstrapping finished!" ------------------------------------------------------------------------------------- | ||||
| Additional Information | The 9.6 and 9.7 mirrors are working just fine. It's only the 10.0 and 10.1 mirrors that are broken, AFAICT. | ||||
| Tags | No tags attached. | ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-02-25 04:54 | Stephen Tuggy | New Issue |