feat: update bluebuild to v1.8. switch type: rpm-ostree to new type: dnf, add new native groupinstall support, and cleanup docker repo

- Rename and update obsolete docker-ce_f41.repo file to f42 and update common-modules.yml to reference the new docker-ce.repo.
- Remove old groupinstall scripts.
- Switch rpm-ostree plugin to new dnf plugin for better performance and features
- Add groupinstall functionality to recipe via new dnf plugin
This commit is contained in:
badblocks 2025-06-13 15:17:38 -07:00
parent 6386f24d12
commit d6895209da
No known key found for this signature in database
5 changed files with 67 additions and 115 deletions

View file

@ -1,62 +1,62 @@
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/fedora/41/$basearch/stable
baseurl=https://download.docker.com/linux/fedora/42/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/fedora/41/debug-$basearch/stable
baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/fedora/41/source/stable
baseurl=https://download.docker.com/linux/fedora/42/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://download.docker.com/linux/fedora/41/$basearch/test
baseurl=https://download.docker.com/linux/fedora/42/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://download.docker.com/linux/fedora/41/debug-$basearch/test
baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/fedora/41/source/test
baseurl=https://download.docker.com/linux/fedora/42/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/fedora/41/$basearch/nightly
baseurl=https://download.docker.com/linux/fedora/42/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/fedora/41/debug-$basearch/nightly
baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/fedora/41/source/nightly
baseurl=https://download.docker.com/linux/fedora/42/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg

View file

@ -1,6 +0,0 @@
#!/bin/sh
set -oex pipefail
set +u
dnf groupinstall "C Development Tools and Libraries" "Development Tools"

View file

@ -1,45 +0,0 @@
#!/bin/bash
set -oex pipefail
set +u
# Find the dnf groupinstall lines and extract quoted strings
VALUE="$(grep '^dnf groupinstall' /tmp/files/scripts/groupinstall.sh | grep -o '"[^"]*"' | tr '\n' ' ')"
echo "Extracted VALUE: $VALUE"
if [ -z "$VALUE" ]; then
echo "No groups found in build.sh"
exit 0
fi
# Initialize an empty array
declare -a GROUP_ARRAY
# Use read with a custom delimiter to split the input string
while IFS='"' read -ra parts; do
for part in "${parts[@]}"; do
# Trim leading and trailing spaces and check if the part is not empty
trimmed=$(echo "$part" | xargs)
if [[ -n "$trimmed" ]]; then
GROUP_ARRAY+=("$trimmed")
fi
done
done <<< "$VALUE"
echo "Raw Array without double-quotes: ${GROUP_ARRAY[*]}"
IS_DNF5=$(dnf --version | { grep -sc dnf5 || test $? = 1; })
echo "IS_DNF5: $IS_DNF5 (dnf4 = 0, else dnf5)"
for GROUP_E in "${GROUP_ARRAY[@]}"; do
echo "Getting pkgs for group: $GROUP_E"
if [ "$IS_DNF5" -ne 0 ]; then
#dnf5
OUTPUT="$OUTPUT $(dnf group info "$GROUP_E" 2>&1 | grep -E "packages|^[[:space:]]*:" | cut -d: -f2 | tr -s ' ' | tr -d '\n' | sed 's/^ //; s/ $//')"
else
#dnf4
OUTPUT="$OUTPUT $(dnf group info "$GROUP_E" 2>&1 | grep -v : | tr -d '\n' | tr -s ' ' | cut -c2-)"
fi
done
sed -i "s/^dnf groupinstall.*/rpm-ostree install $OUTPUT}/" /tmp/files/scripts/groupinstall.sh