From cca5db32713e46f615a5decf999814e2e4e49401 Mon Sep 17 00:00:00 2001 From: Anders Rytter Hansen Date: Mon, 1 Dec 2025 08:46:15 -0300 Subject: [PATCH] Upgrade to newest version of Chromium from next minor version of EPEL and install other basic apps: Okular, Kalk and Gwenview --- Dockerfile | 9 +++++--- bin/set_next_version.sh | 48 +++++++++++++++++++++++++++++++++++++++ repo/epel-next-minor.repo | 36 +++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+), 3 deletions(-) create mode 100755 bin/set_next_version.sh create mode 100644 repo/epel-next-minor.repo diff --git a/Dockerfile b/Dockerfile index 73d1ed8..4daddbc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ FROM quay.io/almalinuxorg/atomic-desktop-kde:10 ARG CACHEBUST=1 -# Install some basic apps -RUN dnf -y install chromium gwenview haruna - # Get list of kernels from my repo. If the list has been updated, then the image will be rebuilt. If it hasn't been updated, then caching of the previous build will be used. ADD "https://copr.fedorainfracloud.org/api_3/build/list?ownername=andersrh&projectname=my-ostree-os&packagename=kernel" /tmp/builds.txt RUN echo 'omit_drivers+=" nouveau "' | tee /etc/dracut.conf.d/blacklist-nouveau.conf +COPY bin/set_next_version.sh /tmp +RUN /tmp/set_next_version.sh + COPY repo/*.repo /etc/yum.repos.d/ RUN dnf config-manager --add-repo=https://negativo17.org/repos/epel-nvidia.repo -y @@ -46,6 +46,9 @@ RUN dnf install libheif-freeworld -y # Install proprietary codecs RUN dnf swap libavcodec-free libavcodec-freeworld --allowerasing -y +RUN dnf -y install gwenview haruna kalk okular +RUN dnf -y --enablerepo=epel-next-minor install chromium + # Add rule to SELinux allowing modules to be loaded into custom kernel RUN setsebool -P domain_kernel_load_modules on diff --git a/bin/set_next_version.sh b/bin/set_next_version.sh new file mode 100755 index 0000000..0801688 --- /dev/null +++ b/bin/set_next_version.sh @@ -0,0 +1,48 @@ +#!/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 diff --git a/repo/epel-next-minor.repo b/repo/epel-next-minor.repo new file mode 100644 index 0000000..443a2bc --- /dev/null +++ b/repo/epel-next-minor.repo @@ -0,0 +1,36 @@ +[epel-next-minor] +name=Extra Packages for Enterprise Linux $epel_next_releasever - $basearch +# It is much more secure to use the metalink, but if you wish to use a local mirror +# place its address here. +#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/$basearch/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-$epel_next_releasever&arch=$basearch +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major +gpgcheck=1 +repo_gpgcheck=0 +metadata_expire=24h +countme=1 +enabled=0 + +[epel-next-minor-debuginfo] +name=Extra Packages for Enterprise Linux $epel_next_releasever - $basearch - Debug +# It is much more secure to use the metalink, but if you wish to use a local mirror +# place its address here. +#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/$basearch/debug/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-debug-$epel_next_releasever&arch=$basearch +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major +gpgcheck=1 +repo_gpgcheck=0 +metadata_expire=24h +enabled=0 + +[epel-next-minor-source] +name=Extra Packages for Enterprise Linux $epel_next_releasever - $basearch - Source +# It is much more secure to use the metalink, but if you wish to use a local mirror +# place its address here. +#baseurl=https://download.example/pub/epel/$releasever${releasever_minor:+z}/Everything/source/tree/ +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel${releasever_minor:+-z}-source-$epel_next_releasever&arch=source +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever_major +gpgcheck=1 +repo_gpgcheck=0 +metadata_expire=24h +enabled=0