aboutsummaryrefslogtreecommitdiffstats
path: root/signal-desktop/umount-signal
blob: c342fbbddc0fba3fba15a04bf60b73de6ff5102a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/dash

asroot=asroot
if ! isfg; then
	asroot=gasroot
fi

$asroot env \
	SIGNAL_DIR="${HOME}/.var/opt/signal" \
	SIGNAL_DEV="$(losetup | sed 's/\s\+/ /g' | cut -d ' ' -f 1,6 | \
	              sed -n 's#\(/[^ ]*\) '"$(realpath -- "${HOME}/.var/opt/signal/SignalCrypt.img")"'$#\1#p' | sed 1q)" \
	sh -c '
		if mountpoint -q -- "${SIGNAL_DIR}/SignalCrypt.d"; then
			umount -- "${SIGNAL_DIR}/SignalCrypt.d"
		fi
		if test -e /dev/mapper/SignalCrypt; then
			cryptsetup close SignalCrypt
		fi
		if test -n "${SIGNAL_DEV}"; then
			losetup -d "${SIGNAL_DEV}"
		fi
	'