#!/bin/bash
set -euo pipefail
source "$(dirname "$0")/product.env"
state_dir="/Library/Application Support/Pep Instruments/Installer State/$PRODUCT-$VERSION"
transaction="$(cat "$state_dir/transaction")"
target="/Library/Audio/Plug-Ins/Components/$PRODUCT.component"
if ! /usr/bin/codesign --verify --deep --strict "$target"; then
  echo 'Installed signature failed verification; restoring the previous component.' >&2
  [[ ! -e "$target" ]] || /bin/mv "$target" "$transaction/failed.component"
  if [[ "$(cat "$transaction/previous-state")" == present ]]; then
    /usr/bin/ditto "$transaction/$PRODUCT.component" "$target"
  fi
  exit 1
fi
printf 'Installed %s %s. Backup record: %s\n' "$PRODUCT" "$VERSION" "$transaction"
