Upgrade to newest version of Chromium from next minor version of EPEL and install other basic apps: Okular, Kalk and Gwenview

This commit is contained in:
Anders Rytter Hansen 2025-12-01 08:46:15 -03:00
commit cca5db3271
3 changed files with 90 additions and 3 deletions

View file

@ -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

48
bin/set_next_version.sh Executable file
View file

@ -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

36
repo/epel-next-minor.repo Normal file
View file

@ -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