Files
kernel_dell_tom/update
2026-01-26 15:57:35 +01:00

68 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Abbrechen bei Fehlern
set -e
# --- KONFIGURATION ---
GIT_REPO_PATH="./git-repo"
TARGETS=("linux-tom" "linux-tom-headers" "linux-tom-docs")
# 1. Pakete bauen
# -s: Abhängigkeiten, -f: Überschreiben, -c: Aufräumen
echo "Starte Build-Prozess..."
makepkg -sfc --noconfirm
# 2. Version extrahieren
VERSION=$(grep '^pkgver=' PKGBUILD | cut -d= -f2)
REL=$(grep '^pkgrel=' PKGBUILD | cut -d= -f2)
FULL_VER_PATTERN="${VERSION}-${REL}"
# 3. Git-Verzeichnis vorbereiten
mkdir -p "$GIT_REPO_PATH"
echo "Aktualisiere Dateien in $GIT_REPO_PATH..."
FILES_TO_INSTALL=()
for name in "${TARGETS[@]}"; do
found_file=$(ls ${name}-${FULL_VER_PATTERN}-*.pkg.tar.zst 2>/dev/null | head -n 1)
if [ -f "$found_file" ]; then
DEST_FILE="$GIT_REPO_PATH/${name}.pkg.tar.zst"
cp "$found_file" "$DEST_FILE"
echo "${VERSION}-${REL}" > "$GIT_REPO_PATH/${name}.version"
FILES_TO_INSTALL+=("$DEST_FILE")
fi
done
# 4. Installation der neuen Pakete
if [ ${#FILES_TO_INSTALL[@]} -gt 0 ]; then
echo "Installiere Pakete lokal..."
sudo pacman -U --noconfirm "${FILES_TO_INSTALL[@]}"
else
echo "Fehler: Keine Pakete zum Installieren gefunden!"
exit 1
fi
# 5. Git-Upload (Commit & Push)
cd "$GIT_REPO_PATH"
if [ -d ".git" ]; then
# Vor dem Push die neuesten Änderungen vom Server holen
git pull --rebase
git add *.pkg.tar.zst *.version
# Prüfen, ob es Änderungen zum Committen gibt
if ! git diff-index --quiet HEAD; then
echo "Commit und Push der neuen Version $VERSION-$REL..."
git commit -m "Kernel Update: $VERSION-$REL"
git push
echo "Erfolgreich auf den Server hochgeladen."
else
echo "Keine Änderungen vorhanden, Push nicht notwendig."
fi
else
echo "Warnung: Kein Git-Repository in $GIT_REPO_PATH gefunden."
fi
echo "Vorgang abgeschlossen."