File
Blob: packaging/linux/preinstall.sh
| 1 | #!/bin/sh |
| 2 | set -eu |
| 3 | |
| 4 | state_dir=/run/specter-package |
| 5 | stop_order="specter-dns.service specter-server.service specter-client.service" |
| 6 | |
| 7 | record_and_stop_service() { |
| 8 | service=$1 |
| 9 | marker="$state_dir/$service.restart" |
| 10 | |
| 11 | rm -f "$marker" |
| 12 | if ! systemctl is-active --quiet "$service"; then |
| 13 | return |
| 14 | fi |
| 15 | |
| 16 | : > "$marker" |
| 17 | systemctl stop "$service" |
| 18 | } |
| 19 | |
| 20 | if ! command -v systemctl >/dev/null 2>&1; then |
| 21 | exit 0 |
| 22 | fi |
| 23 | |
| 24 | mkdir -p "$state_dir" |
| 25 | chmod 0700 "$state_dir" |
| 26 | |
| 27 | for service in $stop_order; do |
| 28 | record_and_stop_service "$service" |
| 29 | done |