summaryrefslogtreecommitdiffstats
path: root/debian/checks/blkid
diff options
context:
space:
mode:
Diffstat (limited to 'debian/checks/blkid')
-rw-r--r--debian/checks/blkid32
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/checks/blkid b/debian/checks/blkid
new file mode 100644
index 0000000..27615d3
--- /dev/null
+++ b/debian/checks/blkid
@@ -0,0 +1,32 @@
+#!/bin/sh
+# this script depends on /sbin/blkid from the util-linux package
+
+# usage: blkid <device> <fs_type> [<offset>]
+# <device> may be any device that should be checked.
+# if no <fs_type> is given, the check fails if no valid filesystem is found.
+# if <fs_type> is given, the check fails when no filesystem type <fs_type>
+# is found on the device. if <fs_type> is 'none', the check fails if any
+# know filesystem is found.
+
+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 [ -z "$blkid" ] && [ -z "$fs" ]; then
+ echo " - The device $dev does not contain a known filesystem${offset:+" at offset $offset"}."
+ exit 1
+elif [ -n "$blkid" ] && [ "$fs" = "none" ]; 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 does not contain a filesystem type $fs${offset:+" at offset $offset"}."
+ exit 1
+fi