Only rewrite Unraid template when content changed

This commit is contained in:
J0Z1L 2026-02-28 00:40:18 +01:00
parent 99568cb8e2
commit 65adc453d4

View file

@ -58,14 +58,10 @@ echo "==> Build image ${IMAGE}"
docker build -t "${IMAGE}" "${PROJECT_ROOT}" docker build -t "${IMAGE}" "${PROJECT_ROOT}"
mkdir -p "${TEMPLATE_DIR}" mkdir -p "${TEMPLATE_DIR}"
TMP_TEMPLATE="$(mktemp)"
trap 'rm -f "${TMP_TEMPLATE}"' EXIT
if [[ -f "${TEMPLATE_PATH}" ]]; then cat > "${TMP_TEMPLATE}" <<EOF
echo "==> Aktualisiere vorhandenes Template: ${TEMPLATE_PATH}"
else
echo "==> Erstelle neues Template: ${TEMPLATE_PATH}"
fi
cat > "${TEMPLATE_PATH}" <<EOF
<?xml version="1.0"?> <?xml version="1.0"?>
<Container version="2"> <Container version="2">
<Name>${CONTAINER_NAME}</Name> <Name>${CONTAINER_NAME}</Name>
@ -104,7 +100,21 @@ cat > "${TEMPLATE_PATH}" <<EOF
EOF EOF
if command -v xmllint >/dev/null 2>&1; then if command -v xmllint >/dev/null 2>&1; then
xmllint --noout "${TEMPLATE_PATH}" xmllint --noout "${TMP_TEMPLATE}"
fi
if [[ -f "${TEMPLATE_PATH}" ]]; then
if cmp -s "${TMP_TEMPLATE}" "${TEMPLATE_PATH}"; then
echo "==> Template unveraendert, kein Überschreiben: ${TEMPLATE_PATH}"
else
echo "==> Aktualisiere vorhandenes Template: ${TEMPLATE_PATH}"
mv "${TMP_TEMPLATE}" "${TEMPLATE_PATH}"
TMP_TEMPLATE=""
fi
else
echo "==> Erstelle neues Template: ${TEMPLATE_PATH}"
mv "${TMP_TEMPLATE}" "${TEMPLATE_PATH}"
TMP_TEMPLATE=""
fi fi
echo "==> Fertig" echo "==> Fertig"