#!/bin/bash # Copyright 2011 George Danchev # Copyright 2011 Thomas Schmitt # Licensed under GNU GPL version 2 # set -e # Include common bits if test -e inc/releng_getopts.inc then . inc/releng_getopts.inc else echo >&2 echo "File not found: inc/releng_getopts.inc" >&2 echo "Are we in the ./releng directory of a libisoburn SVN checkout ?" >&2 echo >&2 exit 2 fi # Insist in having a xorriso if [ ! -x $RELENG_XORRISO ]; then print_help printf "\n${SELF}: -x absolute or relative path to binary to be run.\n\n" exit 31 fi # get_speeds() { echo -e "\n${SELF}: Running: ${RELENG_XORRISO} -outdev ${1} -list_speeds" ${RELENG_XORRISO} -outdev ${1} -list_speeds } cat_var() { # $1 = variable to put out with line feeds cat <<+ $1 + } get_devices() { # $1 = if test -n "$1" then DEVICES="$1" else DEVICES=$("$RELENG_XORRISO" -devices 2>/dev/null | grep "\-dev") fi NUM_DEV=$(cat_var "$DEVICES" | wc -l) case "${NUM_DEV}" in 0) echo -e "\n${SELF}: No drives found." exit 1 ;; 1) echo -e "\n${SELF}: 1 drive found:\n" ;; *) echo -e "\n${SELF}: ${NUM_DEV} drives found:\n" ;; esac echo ================================================================= echo "$DEVICES" echo ================================================================= OUTDEV=$( cat_var "$DEVICES" | head -1 | \ sed -e "s/[0-9] *-dev '\//\//" -e "s/'.*$//" ) echo >&2 echo "WARNING: The following tests might pull in the drive tray." >&2 echo " Best is if you now put in a suitable media and load it" >&2 echo " manually, so nobody gets surprised. :))" >&2 echo >&2 echo "Which drive to examine ? (Empty input = ${OUTDEV})" >&2 read x if test -n "$x" then OUTDEV="$x" fi get_speeds "$OUTDEV" } # main "$RELENG_XORRISO" -version echo -e "\n${SELF}: Running: $RELENG_XORRISO -devices..." devices=$("$RELENG_XORRISO" -devices 2>/dev/null | grep "\-dev") RET="$?" case ${RET} in 0) get_devices "$devices" ;; *) boldify echo -ne "\n${SELF}: ${RELENG_XORRISO} -devices returned ${RET}." unboldify echo -e "\n${SELF}: Already mounted?" df -kh esac exit 0