81 lines
2.2 KiB
Bash
81 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
usage() {
|
|
cat <<'USAGE'
|
|
Usage:
|
|
./rollback_custom_tal_patch.sh --component-root <installed-ours-rp-root>
|
|
|
|
Stop the ours RP service before rolling back the overlay.
|
|
USAGE
|
|
}
|
|
|
|
die() {
|
|
echo "error: $*" >&2
|
|
exit 2
|
|
}
|
|
|
|
COMPONENT_ROOT=""
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--component-root)
|
|
COMPONENT_ROOT="${2:-}"
|
|
shift 2
|
|
;;
|
|
-h|--help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
*)
|
|
die "unknown option: $1"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[[ -n "$COMPONENT_ROOT" ]] || die "--component-root is required"
|
|
COMPONENT_ROOT="$(cd "$COMPONENT_ROOT" 2>/dev/null && pwd)" \
|
|
|| die "component root does not exist: $COMPONENT_ROOT"
|
|
STATE_ROOT="$COMPONENT_ROOT/.custom-tal-patch-state"
|
|
BACKUP_ROOT="$STATE_ROOT/original"
|
|
[[ -d "$STATE_ROOT" ]] || die "patch state not found: $STATE_ROOT"
|
|
[[ -f "$BACKUP_ROOT/compose/docker-compose.yml" ]] \
|
|
|| die "patch backup is incomplete: $BACKUP_ROOT"
|
|
|
|
cp -a "$BACKUP_ROOT/compose/docker-compose.yml" "$COMPONENT_ROOT/compose/docker-compose.yml"
|
|
cp -a "$BACKUP_ROOT/.env.example" "$COMPONENT_ROOT/.env.example"
|
|
|
|
if [[ -f "$BACKUP_ROOT/scripts/soak/run_soak.sh" ]]; then
|
|
mkdir -p "$COMPONENT_ROOT/scripts/soak"
|
|
cp -a "$BACKUP_ROOT/scripts/soak/run_soak.sh" "$COMPONENT_ROOT/scripts/soak/run_soak.sh"
|
|
else
|
|
rm -f "$COMPONENT_ROOT/scripts/soak/run_soak.sh"
|
|
rmdir "$COMPONENT_ROOT/scripts/soak" 2>/dev/null || true
|
|
fi
|
|
|
|
if [[ -d "$BACKUP_ROOT/custom-fixtures" ]]; then
|
|
rm -rf "$COMPONENT_ROOT/custom-fixtures"
|
|
cp -a "$BACKUP_ROOT/custom-fixtures" "$COMPONENT_ROOT/custom-fixtures"
|
|
else
|
|
rm -rf "$COMPONENT_ROOT/custom-fixtures"
|
|
fi
|
|
|
|
if [[ -d "$BACKUP_ROOT/custom-tal-patch" ]]; then
|
|
rm -rf "$COMPONENT_ROOT/custom-tal-patch"
|
|
cp -a "$BACKUP_ROOT/custom-tal-patch" "$COMPONENT_ROOT/custom-tal-patch"
|
|
else
|
|
rm -rf "$COMPONENT_ROOT/custom-tal-patch"
|
|
fi
|
|
|
|
if [[ -f "$BACKUP_ROOT/custom-tal.env.example" ]]; then
|
|
cp -a "$BACKUP_ROOT/custom-tal.env.example" "$COMPONENT_ROOT/custom-tal.env.example"
|
|
else
|
|
rm -f "$COMPONENT_ROOT/custom-tal.env.example"
|
|
fi
|
|
|
|
if [[ -f "$BACKUP_ROOT/.env" ]]; then
|
|
cp -a "$BACKUP_ROOT/.env" "$COMPONENT_ROOT/.env"
|
|
fi
|
|
rm -f "$COMPONENT_ROOT/CUSTOM-TAL-PATCH-MANIFEST.env"
|
|
rm -rf "$STATE_ROOT"
|
|
echo "custom TAL patch rolled back from $COMPONENT_ROOT"
|