diff --git a/go.spec b/go.spec index c6149ae..4a75229 100644 --- a/go.spec +++ b/go.spec @@ -2,8 +2,8 @@ %define debug_package %{nil} %undefine _missing_build_ids_terminate_build -%define _go_rel_major_minor 1.23 -%define _go_rel_bugfix 7 +%define _go_rel_major_minor 1.25 +%define _go_rel_bugfix 8 %define _go_rel %{_go_rel_major_minor}.%{_go_rel_bugfix} %define _go_patch 0 @@ -111,7 +111,10 @@ fi %endif %changelog -* Tue Apr 08 2025 Tomasz Gromadzki - 1.23.7-1 +* Wed Apr 22 2026 Ryon Jensen - 1.25.8-1 +- Update to version 1.25.8 + +* Tue Apr 08 2025 Tomasz Gromadzki - 1.23.7-1 - Update to version 1.23.7 * Fri Jul 26 2024 Tomasz Gromadzki - 1.22.5-1 diff --git a/packaging/Dockerfile.mockbuild b/packaging/Dockerfile.mockbuild index d8d86ac..fdcec8d 100644 --- a/packaging/Dockerfile.mockbuild +++ b/packaging/Dockerfile.mockbuild @@ -1,6 +1,6 @@ # # Copyright 2018-2024 Intel Corporation -# Copyright 2025 Hewlett Packard Enterprise Development LP +# Copyright 2025-2026 Hewlett Packard Enterprise Development LP # # 'recipe' for Docker to build an RPM # @@ -12,23 +12,47 @@ FROM fedora:$FVERSION ARG FVERSION LABEL maintainer="daos@daos.groups.io" +# Accept DAOS_HTTP_PROXY, DAOS_HTTPS_PROXY, and DAOS_NO_PROXY at build time +ARG DAOS_NO_PROXY +ARG DAOS_HTTP_PROXY +ARG DAOS_HTTPS_PROXY + +# Propagate into the build environment +ENV http_proxy=${DAOS_HTTP_PROXY} \ + HTTP_PROXY=${DAOS_HTTP_PROXY} \ + https_proxy=${DAOS_HTTPS_PROXY} \ + HTTPS_PROXY=${DAOS_HTTPS_PROXY} \ + no_proxy=${DAOS_NO_PROXY} \ + NO_PROXY=${DAOS_NO_PROXY} + +# Persist into /etc/environment for use by shells and services +RUN set -e; \ + if [ -n "$DAOS_HTTP_PROXY" ]; then \ + echo "http_proxy=$DAOS_HTTP_PROXY" >> /etc/environment; \ + echo "HTTP_PROXY=$DAOS_HTTP_PROXY" >> /etc/environment; \ + fi; \ + if [ -n "$DAOS_HTTPS_PROXY" ]; then \ + echo "https_proxy=$DAOS_HTTPS_PROXY" >> /etc/environment; \ + echo "HTTPS_PROXY=$DAOS_HTTPS_PROXY" >> /etc/environment; \ + fi; \ + if [ -n "$DAOS_NO_PROXY" ]; then \ + echo "no_proxy=$DAOS_NO_PROXY" >> /etc/environment; \ + echo "NO_PROXY=$DAOS_NO_PROXY" >> /etc/environment; \ + fi + # Use local repo server if present ARG REPO_FILE_URL ARG DAOS_LAB_CA_FILE_URL ARG REPOSITORY_NAME -# script to install OS updates basic tools and daos dependencies -# COPY ./utils/scripts/install-fedora.sh /tmp/install.sh -# script to setup local repo if available -COPY ./packaging/scripts/repo-helper-fedora.sh /tmp/repo-helper.sh -RUN chmod +x /tmp/repo-helper.sh && \ - /tmp/repo-helper.sh && \ - rm -f /tmp/repo-helper.sh +# Script to setup a local repo instead of the distro-provided one. +# Only takes effect when REPO_FILE_URL is set; otherwise it is a no-op. +RUN --mount=type=bind,source=packaging/scripts/repo-helper-fedora.sh,target=/tmp/repo-helper-fedora.sh \ + /tmp/repo-helper-fedora.sh # Install basic tools -RUN dnf -y install mock make \ - rpm-build createrepo rpmlint redhat-lsb-core git \ - python-srpm-macros rpmdevtools && \ +RUN dnf -y install mock make rpm-build createrepo rpmlint git \ + python-srpm-macros rpmdevtools && \ dnf -y clean all # use same UID as host and default value of 1000 if not specified diff --git a/packaging/scripts/repo-helper-fedora.sh b/packaging/scripts/repo-helper-fedora.sh old mode 100644 new mode 100755 index baa7026..8a63989 --- a/packaging/scripts/repo-helper-fedora.sh +++ b/packaging/scripts/repo-helper-fedora.sh @@ -1,4 +1,9 @@ #!/bin/bash +# +# Copyright 2025-2026 Hewlett Packard Enterprise Development LP +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# set -uex # This script is used by Dockerfiles to optionally use @@ -9,9 +14,26 @@ set -uex : "${FVERSION:=latest}" : "${REPOSITORY_NAME:=artifactory}" : "${archive:=}" -if [ "$FVERSION" != "latest" ]; then - archive="-archive" -fi + +is_fedora_eol() { + local eol_url fedora_version eol_date today + if [ -n "$REPO_FILE_URL" ]; then + eol_url="${REPO_FILE_URL%repo-files/}eol-proxy/fedora.json" + fedora_version=$(grep VERSION_ID /etc/os-release | cut -d= -f2 | \ + tr -d '"') + eol_date=$(curl -s "$eol_url" | sed 's/},{/}\n{/g' | \ + grep "cycle\":\"$fedora_version\"" | \ + sed -n 's/.*"eol":"\([^"]*\)".*/\1/p') + if [[ -z "$eol_date" ]]; then + return 1 # Assume NOT EOL if data missing + fi + today=$(date +%Y-%m-%d) + [[ "$today" > "$eol_date" ]] + return $? # Return 0 if EOL, 1 if not + else + return 1 # Assume NOT EOL if url is missing + fi +} # shellcheck disable=SC2120 disable_repos () { @@ -44,7 +66,7 @@ install_curl() { install_optional_ca() { ca_storage="/etc/pki/ca-trust/source/anchors/" if [ -n "$DAOS_LAB_CA_FILE_URL" ]; then - curl -k --noproxy '*' -sSf -o "${ca_storage}lab_ca_file.crt" \ + curl -k -sSf -o "${ca_storage}lab_ca_file.crt" \ "$DAOS_LAB_CA_FILE_URL" update-ca-trust fi @@ -58,11 +80,14 @@ install_optional_ca() { if [ -n "$REPO_FILE_URL" ]; then install_curl install_optional_ca + if is_fedora_eol; then + archive="-archive" + fi mkdir -p /etc/yum.repos.d pushd /etc/yum.repos.d/ - curl -k --noproxy '*' -sSf \ + curl -k -sSf \ -o "daos_ci-fedora${archive}-${REPOSITORY_NAME}.repo" \ - "{$REPO_FILE_URL}daos_ci-fedora${archive}-${REPOSITORY_NAME}.repo" + "${REPO_FILE_URL}daos_ci-fedora${archive}-${REPOSITORY_NAME}.repo" disable_repos /etc/yum.repos.d/ popd fi