Build for Fedora 43
This commit is contained in:
parent
e4887b7add
commit
09438246ae
2 changed files with 35 additions and 18 deletions
|
|
@ -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[@]}"
|
||||||
|
|
|
||||||
27
release.sh
27
release.sh
|
|
@ -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/"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue