From aa7e17482361701a18b24261305510de991f9d38 Mon Sep 17 00:00:00 2001 From: badbl0cks <4161747+badbl0cks@users.noreply.github.com> Date: Wed, 13 Nov 2024 21:22:10 -0800 Subject: [PATCH] Add missing gschema.override file, add groupinstall scripts to install devel-tools --- ...zz1-power-button-settings.gschema.override | 2 + files/scripts/groupinstall.sh | 6 +++ files/scripts/prepare-groupinstall.sh | 45 +++++++++++++++++++ recipes/recipe.yml | 10 +++-- 4 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 files/gschema-overrides/zz1-power-button-settings.gschema.override create mode 100644 files/scripts/groupinstall.sh create mode 100644 files/scripts/prepare-groupinstall.sh diff --git a/files/gschema-overrides/zz1-power-button-settings.gschema.override b/files/gschema-overrides/zz1-power-button-settings.gschema.override new file mode 100644 index 0000000..a2ec02f --- /dev/null +++ b/files/gschema-overrides/zz1-power-button-settings.gschema.override @@ -0,0 +1,2 @@ +[org.gnome.settings-daemon.plugins.power] +power-button-action='interactive' diff --git a/files/scripts/groupinstall.sh b/files/scripts/groupinstall.sh new file mode 100644 index 0000000..c2a6230 --- /dev/null +++ b/files/scripts/groupinstall.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +set -oex pipefail +set +u + +dnf groupinstall "C Development Tools and Libraries" "Development Tools" diff --git a/files/scripts/prepare-groupinstall.sh b/files/scripts/prepare-groupinstall.sh new file mode 100644 index 0000000..67442e0 --- /dev/null +++ b/files/scripts/prepare-groupinstall.sh @@ -0,0 +1,45 @@ +#!/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 diff --git a/recipes/recipe.yml b/recipes/recipe.yml index ea38f4f..23ba684 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -5,6 +5,13 @@ base-image: ghcr.io/ublue-os/bazzite-gnome image-version: latest modules: + - type: script + scripts: + - prepare_groupinstall.sh + - type: script + scripts: + - groupinstall.sh + - download_install_rpms.sh - type: files files: - source: system @@ -44,9 +51,6 @@ modules: - containerd.io - docker-buildx-plugin - docker-compose-plugin - - type: script - scripts: - - download_install_rpms.sh - type: fonts fonts: nerd-fonts: