]> git.sur5r.net Git - bacula/bacula/commitdiff
Update two-tape-prepare for Debian
authorKern Sibbald <kern@sibbald.com>
Thu, 20 Mar 2008 08:56:27 +0000 (08:56 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 20 Mar 2008 08:56:27 +0000 (08:56 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6645 91ce42f0-d328-0410-95d8-f526ca767f89

regress/scripts/prepare-two-tapes.in

index 611fb906f7d05e973adff78018a2d3af5452bb3c..37b3e9d990d20516e0f2aaef75bccf65da2c2806 100755 (executable)
@@ -2,6 +2,16 @@
 #
 # Create two blank tapes
 #
+
+# mt status output
+# SunOS     No Additional Sense
+# FreeBSD   Current Driver State: at rest.
+# Linux     ONLINE
+#  Note Debian has messed up their mt. When no tape is in the
+#    drive it waits 2 minutes. When a tape is in the drive, it
+#    prints user unfriendly output.
+#
+
 OS=`uname`
 case ${OS} in
   SunOS)
@@ -10,14 +20,19 @@ case ${OS} in
   FreeBSD)
     ready="Current Driver State: at rest."
     ;;
-  *)
-    ready="ONLINE"
+  Linux)
+    if test -e /etc/debian_version ; then
+       ready="drive status"
+    else
+       ready="ONLINE"
+    fi
   ;;
 esac
+
 wait_for_drive() {
   i=0 
   while [ $i -le 300 ]; do  # Wait max 300 seconds
-    if mt -f $1 status | grep ${ready} >/dev/null 2>&1; then
+    if mt -f $1 status 2>&1 | grep "${ready}" >/dev/null 2>&1; then
       break
     fi
 #   debug "Device $1 - not ready, retrying..."