Build for Fedora 43
All checks were successful
CI / test (push) Successful in 6m42s
Lint / test (push) Successful in 31s
Trivy / test (push) Successful in 23s

This commit is contained in:
Miguel Jacq 2026-01-01 15:24:21 +11:00
parent e4887b7add
commit 09438246ae
Signed by: mig5
GPG key ID: 59B3F0C24135C6A9
2 changed files with 35 additions and 18 deletions

View file

@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM fedora:42 ARG BASE_IMAGE=fedora:42
FROM ${BASE_IMAGE}
RUN set -eux; \ RUN set -eux; \
dnf -y update; \ dnf -y update; \
@ -34,11 +35,12 @@ SRC="${SRC:-/src}"
WORKROOT="${WORKROOT:-/work}" WORKROOT="${WORKROOT:-/work}"
OUT="${OUT:-/out}" OUT="${OUT:-/out}"
DEPS_DIR="${DEPS_DIR:-/deps}" DEPS_DIR="${DEPS_DIR:-/deps}"
VERSION_ID="$(grep VERSION_ID /etc/os-release | cut -d= -f2)"
echo "Version ID is ${VERSION_ID}"
# Install jinjaturtle from local rpm # Install jinjaturtle from local rpm
# Filter out .src.rpm and debug* subpackages if present. # Filter out .src.rpm and debug* subpackages if present.
if [ -d "${DEPS_DIR}" ] && compgen -G "${DEPS_DIR}/*.rpm" > /dev/null; then if [ -d "${DEPS_DIR}" ] && compgen -G "${DEPS_DIR}/*.rpm" > /dev/null; then
mapfile -t rpms < <(ls -1 "${DEPS_DIR}"/*.rpm | grep -vE '(\.src\.rpm$|-(debuginfo|debugsource)-)') mapfile -t rpms < <(ls -1 "${DEPS_DIR}"/*.rpm | grep -vE '(\.src\.rpm$|-(debuginfo|debugsource)-)' | grep "${VERSION_ID}")
if [ "${#rpms[@]}" -gt 0 ]; then if [ "${#rpms[@]}" -gt 0 ]; then
echo "Installing dependency RPMs from ${DEPS_DIR}:" echo "Installing dependency RPMs from ${DEPS_DIR}:"
printf ' - %s\n' "${rpms[@]}" printf ' - %s\n' "${rpms[@]}"

View file

@ -44,20 +44,34 @@ for dist in ${DISTS[@]}; do
done done
# RPM # RPM
sudo apt-get -y install createrepo-c rpm
docker build -f Dockerfile.rpmbuild -t enroll:f42 --progress=plain .
docker run --rm -v "$PWD":/src -v "$PWD/dist/rpm":/out -v "$HOME/git/jinjaturtle/dist/rpm":/deps:ro enroll:f42
sudo chown -R "${USER}" "$PWD/dist"
REPO_ROOT="${HOME}/git/repo_rpm" REPO_ROOT="${HOME}/git/repo_rpm"
RPM_REPO="${REPO_ROOT}/rpm/x86_64" RPM_REPO="${REPO_ROOT}/rpm/x86_64"
BUILD_OUTPUT="${HOME}/git/enroll/dist" BUILD_OUTPUT="${HOME}/git/enroll/dist"
REMOTE="letessier.mig5.net:/opt/repo_rpm" REMOTE="letessier.mig5.net:/opt/repo_rpm"
KEYID="00AE817C24A10C2540461A9C1D7CDE0234DB458D" KEYID="00AE817C24A10C2540461A9C1D7CDE0234DB458D"
echo "==> Updating RPM repo..."
mkdir -p "$RPM_REPO" mkdir -p "$RPM_REPO"
sudo apt-get -y install createrepo-c rpm
DISTS=(
fedora:43
fedora:42
)
for dist in ${DISTS[@]}; do
release=$(echo ${dist} | cut -d: -f2)
docker build \
--no-cache \
-f Dockerfile.rpmbuild \
-t enroll-rpm:${release} \
--progress=plain \
--build-arg BASE_IMAGE=${dist} \
.
docker run --rm -v "$PWD":/src -v "$PWD/dist/rpm":/out -v "$HOME/git/jinjaturtle/dist/rpm":/deps:ro enroll-rpm:${release}
sudo chown -R "${USER}" "$PWD/dist"
echo "==> Updating RPM repo..."
for file in `ls -1 "${BUILD_OUTPUT}/rpm"`; do for file in `ls -1 "${BUILD_OUTPUT}/rpm"`; do
rpmsign --addsign "${BUILD_OUTPUT}/rpm/$file" rpmsign --addsign "${BUILD_OUTPUT}/rpm/$file"
done done
@ -68,6 +82,7 @@ createrepo_c "$RPM_REPO"
echo "==> Signing repomd.xml..." echo "==> Signing repomd.xml..."
qubes-gpg-client --local-user "$KEYID" --detach-sign --armor "$RPM_REPO/repodata/repomd.xml" > "$RPM_REPO/repodata/repomd.xml.asc" qubes-gpg-client --local-user "$KEYID" --detach-sign --armor "$RPM_REPO/repodata/repomd.xml" > "$RPM_REPO/repodata/repomd.xml.asc"
done
echo "==> Syncing repo to server..." echo "==> Syncing repo to server..."
rsync -aHPvz --exclude=.git --delete "$REPO_ROOT/" "$REMOTE/" rsync -aHPvz --exclude=.git --delete "$REPO_ROOT/" "$REMOTE/"