summaryrefslogtreecommitdiffstats
path: root/debian/checks/un_blkid
diff options
context:
space:
mode:
Diffstat (limited to 'debian/checks/un_blkid')
-rw-r--r--debian/checks/un_blkid28
1 files changed, 28 insertions, 0 deletions
diff --git a/debian/checks/un_blkid b/debian/checks/un_blkid
new file mode 100644
index 0000000..572d937
--- /dev/null
+++ b/debian/checks/un_blkid
@@ -0,0 +1,28 @@
+#!/bin/sh
+# this script depends on /sbin/blkid from the util-linux package
+
+# usage: un_blkid <device> <fs_type> [<offset>]
+# <device> may be any device that should be checked.
+# if no <fs_type> is given, the check fails for any valid filesystem
+# if <fs_type> is given, the check fails when a filesystem type <fs_type>
+# is found on the device.
+
+if test ! -x "/sbin/blkid"; then
+ echo " - WARNING: blkid from util-linux is not available, impossible to run checks."
+ exit 1
+fi
+
+dev="$1"
+fs="$2"
+offset="${3-}"
+
+blkid="$(/sbin/blkid -o value -s TYPE -p ${offset:+-O "$offset"} -- "$dev")"
+
+# blkid output is empty if $dev has an unknown filesystem
+if [ -n "$blkid" ] && [ -z "$fs" ]; then
+ echo " - The device $dev contains a filesystem type $blkid${offset:+" at offset $offset"}."
+ exit 1
+elif [ -n "$fs" ] && [ "$blkid" = "$fs" ]; then
+ echo " - The device $dev contains a filesystem type $fs${offset:+" at offset $offset"}."
+ exit 1
+fi