fix packaging ownership for Unraid
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
._*
|
||||
Thumbs.db
|
||||
|
||||
# IDE
|
||||
|
||||
BIN
Binary file not shown.
+2
-2
@@ -8,7 +8,7 @@
|
||||
<!ENTITY pluginLOC "/boot/config/plugins/&name;">
|
||||
<!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;">
|
||||
<!ENTITY txzURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/dist/mua-2026.08.18.r006-x86_64-1.txz">
|
||||
<!ENTITY txzSHA256 "ad1537bd4ac3c77e1a32316622022d311dc2d0d6fad4f05044ba0bc4abf48561">
|
||||
<!ENTITY txzSHA256 "b01b62d482f91bf51029b85639bb67a9db919a383ae5cf3316c59bd022766e7d">
|
||||
]>
|
||||
|
||||
<PLUGIN name="&name;"
|
||||
@@ -81,7 +81,7 @@ Das .txz enthält:
|
||||
install/doinst.sh (läuft nach Installation)
|
||||
===========================================
|
||||
-->
|
||||
<FILE Name="mua-2026.08.18.r006-x86_64-1.txz" Run="upgradepkg --install-new" Mode="755" Min="7.0.0">
|
||||
<FILE Name="/boot/config/plugins/&name;/mua-2026.08.18.r006-x86_64-1.txz" Run="upgradepkg --install-new" Mode="755" Min="7.0.0">
|
||||
<URL>&txzURL;</URL>
|
||||
<SHA256>&txzSHA256;</SHA256>
|
||||
</FILE>
|
||||
|
||||
+23
-2
@@ -9,10 +9,16 @@
|
||||
# etc/rc.d/rc.mua (SysVinit-Service)
|
||||
# usr/local/emhttp/plugins/mua/mua.page (WebGUI-Tab)
|
||||
#
|
||||
# Cross-Platform: .txz ist ein gzip-tar, funktioniert auf macOS + Linux.
|
||||
# Cross-Platform: .txz ist ein xz-komprimiertes tar und funktioniert auf
|
||||
# macOS sowie Linux.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# macOS erzeugt beim Kopieren/Packen auf manchen Dateisystemen AppleDouble-
|
||||
# Dateien (._*) und speichert die lokale UID/GID im Archiv. Auf Unraid kann
|
||||
# das sogar /, /usr oder /etc auf UID 501 umhängen. Beides verhindern.
|
||||
export COPYFILE_DISABLE=1
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
# Version aus package.json lesen (Argument überschreibt)
|
||||
PKG_VERSION="$(python3 -c "import json;print(json.load(open('${ROOT}/package.json'))['version'])" 2>/dev/null || echo "")"
|
||||
@@ -109,7 +115,22 @@ DESCEOF
|
||||
mkdir -p "${DIST_DIR}"
|
||||
TXZ_NAME="${PKG_NAME}-${VERSION}-${ARCH}-${BUILD_NUM}.txz"
|
||||
echo " Erstelle ${TXZ_NAME}..."
|
||||
( cd "${BUILD_DIR}" && tar cf - . | xz -9 -c > "${DIST_DIR}/${TXZ_NAME}" )
|
||||
find "${BUILD_DIR}" -name '._*' -delete
|
||||
|
||||
if tar --version 2>/dev/null | grep -q 'GNU tar'; then
|
||||
TAR_OWNER_FLAGS=(--owner=0 --group=0 --numeric-owner)
|
||||
else
|
||||
TAR_OWNER_FLAGS=(--uid 0 --gid 0 --uname root --gname root)
|
||||
fi
|
||||
|
||||
# Absichtlich nicht "." archivieren: Ein Archiveintrag für ./ darf beim
|
||||
# Installieren niemals Eigentümer oder Modus des Unraid-Wurzelverzeichnisses
|
||||
# überschreiben.
|
||||
(
|
||||
cd "${BUILD_DIR}"
|
||||
tar --no-xattrs "${TAR_OWNER_FLAGS[@]}" -cf - etc install usr \
|
||||
| xz -9 -c > "${DIST_DIR}/${TXZ_NAME}"
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "===================================================="
|
||||
|
||||
Reference in New Issue
Block a user