diff --git a/deploy/iso/build-iso.sh b/deploy/iso/build-iso.sh index 6d69a26..6f6cadf 100755 --- a/deploy/iso/build-iso.sh +++ b/deploy/iso/build-iso.sh @@ -34,8 +34,11 @@ cp "$HERE/../systemd/bj-welcome.service" "$HERE/../systemd/bj-welcome.timer" "$W if [ -n "$BUNDLE" ]; then [ -s "$BUNDLE/manifest.json" ] || { echo "в $BUNDLE нет manifest.json"; exit 1; } mkdir -p "$WORK/bj/bundle"; cp "$BUNDLE/manifest.json" "$WORK/bj/bundle/" - for f in $(python3 -c 'import json,sys;m=json.load(open(sys.argv[1]));m=m.get("manifest",m);print(" ".join(a["file"] for a in m["artifacts"] if a["name"] in ("bj-server","bj-component-install")))' "$BUNDLE/manifest.json"); do - cp "$BUNDLE/$f" "$WORK/bj/bundle/" + # манифест подписан: тело — base64 в поле payload + FILES=$(python3 -c 'import json,sys,base64;s=json.load(open(sys.argv[1]));m=json.loads(base64.b64decode(s["payload"]));print(" ".join(a["file"] for a in m["artifacts"] if a["name"] in ("bj-server","bj-component-install")))' "$BUNDLE/manifest.json") || { echo "не удалось прочитать манифест релиза"; exit 1; } + [ -n "$FILES" ] || { echo "в релизе нет компонентов ядра (bj-server, bj-component-install)"; exit 1; } + for f in $FILES; do + cp "$BUNDLE/$f" "$WORK/bj/bundle/" || exit 1 done echo "в образ добавлено ядро bj: $(ls "$WORK/bj/bundle" | tr '\n' ' ')" fi