From 33145f0c8a28118835203548736cc06c0c2fcaf9 Mon Sep 17 00:00:00 2001 From: "David M. Klein" <4+leander19961@noreply.localhost> Date: Tue, 25 Aug 2026 11:20:51 +0200 Subject: [PATCH] docker/sync.sh aktualisiert --- docker/sync.sh | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/docker/sync.sh b/docker/sync.sh index 3299191..e928e48 100644 --- a/docker/sync.sh +++ b/docker/sync.sh @@ -73,7 +73,7 @@ for i in $(seq 0 $((source_count - 1))); do # Bei Fehlschlag (z.B. Paket nicht gefunden) diese Quelle nicht den # gesamten Lauf abbrechen lassen, aber laut melden. - if ! dnf download --resolve --alldeps \ + if ! dnf download \ --disablerepo='*' --enablerepo="tmp-${name}" \ --destdir="$DEST" "${packages[@]}"; then echo "[sync] WARNUNG: Download für Quelle '$name' teilweise fehlgeschlagen." @@ -99,6 +99,30 @@ fi echo "[sync] Aktualisiere Repo-Metadaten" createrepo_c --update "$DEST" +# --- 6. AppStream-Metadaten erzeugen, damit Discover/GNOME Software +# die Pakete als Apps mit Icon/Beschreibung anzeigt ------------- +echo "[sync] Erzeuge AppStream-Metadaten" +ASB_TMP=$(mktemp -d) +appstream-builder \ + --origin=firma-mirror \ + --basename=appstream \ + --cache-dir="$ASB_TMP/cache" \ + --enable-hidpi \ + --max-threads=2 \ + --min-icon-size=32 \ + --output-dir="$ASB_TMP/out" \ + --packages-dir="$DEST" \ + --temp-dir="$ASB_TMP/tmp" \ + --nonet + +if [ -f "$ASB_TMP/out/appstream.xml.gz" ]; then + modifyrepo_c --no-compress "$ASB_TMP/out/appstream.xml.gz" "$DEST/repodata/" +fi +if [ -f "$ASB_TMP/out/appstream-icons.tar.gz" ]; then + modifyrepo_c --no-compress "$ASB_TMP/out/appstream-icons.tar.gz" "$DEST/repodata/" +fi +rm -rf "$ASB_TMP" + # Optional: Repo-Metadaten (repomd.xml) selbst signieren, für zusätzliche # Integritätsprüfung mit repo_gpgcheck=1 auf Client-Seite if [ -n "${GPG_KEY_ID:-}" ]; then