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:
parent
6386f24d12
commit
d6895209da
5 changed files with 67 additions and 115 deletions
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
steps:
|
||||
# the build is fully handled by the reusable github action
|
||||
- name: Build Custom Image
|
||||
uses: blue-build/github-action@v1.7
|
||||
uses: blue-build/github-action@v1.8
|
||||
with:
|
||||
recipe: ${{ matrix.recipe }}
|
||||
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -oex pipefail
|
||||
set +u
|
||||
|
||||
dnf groupinstall "C Development Tools and Libraries" "Development Tools"
|
||||
|
|
@ -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
|
||||
|
|
@ -1,10 +1,6 @@
|
|||
modules:
|
||||
#- type: script
|
||||
# scripts:
|
||||
# - prepare_groupinstall.sh
|
||||
- type: script
|
||||
scripts:
|
||||
#- groupinstall.sh
|
||||
- download_install_rpms.sh
|
||||
- type: files
|
||||
files:
|
||||
|
|
@ -14,56 +10,63 @@ modules:
|
|||
files:
|
||||
- source: system/etc/modprobe.d/
|
||||
destination: /etc/modprobe.d/
|
||||
- type: rpm-ostree
|
||||
- type: dnf
|
||||
repos:
|
||||
- https://packages.microsoft.com/yumrepos/vscode/config.repo
|
||||
- docker-ce_f41.repo #manually use 41 until docker repo is ready with 42
|
||||
keys:
|
||||
- https://packages.microsoft.com/keys/microsoft.asc
|
||||
- https://download.docker.com/linux/fedora/gpg
|
||||
files:
|
||||
- https://packages.microsoft.com/yumrepos/vscode/config.repo
|
||||
- docker-ce.repo
|
||||
keys:
|
||||
- https://packages.microsoft.com/keys/microsoft.asc
|
||||
- https://download.docker.com/linux/fedora/gpg
|
||||
group-install:
|
||||
with-optional: true
|
||||
packages:
|
||||
- development-tools
|
||||
- c-development
|
||||
install:
|
||||
- vlc
|
||||
- usbguard
|
||||
- zsh
|
||||
- libvirt
|
||||
- virt-manager
|
||||
- autofs
|
||||
- gstreamer1-plugins-ugly-free
|
||||
- gstreamer1-plugins-bad-free
|
||||
- gstreamer1-plugins-bad-free-extras
|
||||
- gstreamer1-plugins-good
|
||||
- gstreamer1-plugins-good-extras
|
||||
- gstreamer1-plugins-base
|
||||
- gstreamer1-plugins-base-tools
|
||||
- wireguard-tools
|
||||
- trash-cli
|
||||
- git
|
||||
- git-credential-libsecret
|
||||
- gtk-murrine-engine
|
||||
- firewall-config
|
||||
- alsa-tools
|
||||
- libappstream-glib
|
||||
- htop
|
||||
- glances
|
||||
- ansible
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
- containerd.io
|
||||
- docker-buildx-plugin
|
||||
- docker-compose-plugin
|
||||
- cockpit
|
||||
- cockpit-composer
|
||||
- cockpit-files
|
||||
- cockpit-machines
|
||||
- cockpit-networkmanager
|
||||
- cockpit-ostree
|
||||
- cockpit-podman
|
||||
- cockpit-selinux
|
||||
- cockpit-sosreport
|
||||
- cockpit-storaged
|
||||
- gnome-boxes
|
||||
- bottles
|
||||
- code
|
||||
packages:
|
||||
- vlc
|
||||
- usbguard
|
||||
- zsh
|
||||
- libvirt
|
||||
- virt-manager
|
||||
- autofs
|
||||
- gstreamer1-plugins-ugly-free
|
||||
- gstreamer1-plugins-bad-free
|
||||
- gstreamer1-plugins-bad-free-extras
|
||||
- gstreamer1-plugins-good
|
||||
- gstreamer1-plugins-good-extras
|
||||
- gstreamer1-plugins-base
|
||||
- gstreamer1-plugins-base-tools
|
||||
- wireguard-tools
|
||||
- trash-cli
|
||||
- git
|
||||
- git-credential-libsecret
|
||||
- gtk-murrine-engine
|
||||
- firewall-config
|
||||
- alsa-tools
|
||||
- libappstream-glib
|
||||
- htop
|
||||
- glances
|
||||
- ansible
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
- containerd.io
|
||||
- docker-buildx-plugin
|
||||
- docker-compose-plugin
|
||||
- cockpit
|
||||
- cockpit-composer
|
||||
- cockpit-files
|
||||
- cockpit-machines
|
||||
- cockpit-networkmanager
|
||||
- cockpit-ostree
|
||||
- cockpit-podman
|
||||
- cockpit-selinux
|
||||
- cockpit-sosreport
|
||||
- cockpit-storaged
|
||||
- gnome-boxes
|
||||
- bottles
|
||||
- code
|
||||
- type: fonts
|
||||
fonts:
|
||||
nerd-fonts:
|
||||
|
|
@ -87,7 +90,7 @@ modules:
|
|||
include:
|
||||
- zz1-power-button-settings.gschema.override
|
||||
- type: default-flatpaks
|
||||
notify: true # Send notification after install/uninstall is finished
|
||||
notify: true
|
||||
system:
|
||||
install:
|
||||
- net.nokyan.Resources
|
||||
|
|
@ -120,5 +123,5 @@ modules:
|
|||
system:
|
||||
enabled:
|
||||
- docker.service
|
||||
- type: signing # sets up the proper policy & signing files for signed images to work fully
|
||||
- type: signing
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue