48 lines
1.6 KiB
Bash
Executable file
48 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# -----------------------------------------------------------
|
|
# Script til beregning af AlmaLinux's næste minor version
|
|
# og lagring af værdien som en DNF variabel.
|
|
# -----------------------------------------------------------
|
|
|
|
VAR_FILE="/etc/dnf/vars/epel_next_releasever"
|
|
VERSION_FILE="/etc/os-release"
|
|
|
|
# 1. Hent den fulde version (f.eks. "10.1")
|
|
# Vi bruger VERSION_ID fra /etc/os-release, da den er standardiseret.
|
|
if [ ! -f "$VERSION_FILE" ]; then
|
|
echo "Fejl: OS-versionsfil ($VERSION_FILE) ikke fundet." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Henter strengen (f.eks. 10.1)
|
|
FULL_VERSION=$(grep '^VERSION_ID=' "$VERSION_FILE" | cut -d'"' -f2)
|
|
|
|
if [[ ! "$FULL_VERSION" =~ ^[0-9]+\.[0-9]+$ ]]; then
|
|
echo "Fejl: Ugyldig versionsformat fundet i $VERSION_FILE: $FULL_VERSION" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# 2. Opdel i Major (10) og Minor (1)
|
|
MAJOR_VERSION=$(echo "$FULL_VERSION" | cut -d. -f1)
|
|
CURRENT_MINOR=$(echo "$FULL_VERSION" | cut -d. -f2)
|
|
|
|
# 3. Udfør aritmetik: Minor + 1
|
|
NEXT_MINOR=$((CURRENT_MINOR + 1))
|
|
|
|
# 4. Sammensæt den næste version streng (f.eks. 10.2)
|
|
NEXT_VERSION="${MAJOR_VERSION}.${NEXT_MINOR}"
|
|
|
|
# 5. Opret DNF vars mappen, hvis den ikke findes
|
|
mkdir -p /etc/dnf/vars
|
|
|
|
# 6. Skriv den beregnede værdi til DNF variabelfilen
|
|
echo "$NEXT_VERSION" | tee "$VAR_FILE"
|
|
|
|
# Output til log (nyttigt i en Dockerfil)
|
|
echo "---------------------------------------------------------"
|
|
echo "Nuværende AlmaLinux version: $FULL_VERSION"
|
|
echo "Næste version beregnet: $NEXT_VERSION"
|
|
echo "Værdien '$NEXT_VERSION' er gemt i $VAR_FILE."
|
|
echo "---------------------------------------------------------"
|
|
|
|
exit 0
|