diff options
Diffstat (limited to 'debian/checks/blkid')
-rw-r--r-- | debian/checks/blkid | 32 |
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 |