mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
scripts: fix shell scripts format according to shfmt
Unify coding style of shell scripts in accordance with shfmt checks. Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
This commit is contained in:
committed by
Rob Bradford
parent
612a8dfb1b
commit
318caeb9d8
@@ -8,8 +8,6 @@
|
||||
a message about the compatibility of the image.
|
||||
'
|
||||
|
||||
|
||||
|
||||
usage="$(basename "$0") [-h] -f -w -- program to check Cloud Hypervisor compatible image
|
||||
|
||||
where:
|
||||
@@ -18,12 +16,11 @@ where:
|
||||
-w directory to be used for temporary files"
|
||||
|
||||
function check_command {
|
||||
if ! command -v $1 &> /dev/null
|
||||
then
|
||||
echo "Command $1 could not be found"
|
||||
if ! command -v $1 &>/dev/null; then
|
||||
echo "Command $1 could not be found"
|
||||
exit 1
|
||||
fi
|
||||
};
|
||||
}
|
||||
|
||||
function check_if_root {
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
@@ -31,27 +28,32 @@ function check_if_root {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
check_if_root
|
||||
working_dir=""
|
||||
while getopts ':hf:w:' option; do
|
||||
case "$option" in
|
||||
h) echo "$usage"
|
||||
exit
|
||||
;;
|
||||
f) file_name=$OPTARG
|
||||
;;
|
||||
w) working_dir=$OPTARG
|
||||
;;
|
||||
:) printf "missing argument for -%s\n" "$OPTARG" >&2
|
||||
echo "$usage" >&2
|
||||
exit 1
|
||||
;;
|
||||
\?) printf "illegal option: -%s\n" "$OPTARG" >&2
|
||||
echo "$usage" >&2
|
||||
exit 1
|
||||
;;
|
||||
h)
|
||||
echo "$usage"
|
||||
exit
|
||||
;;
|
||||
f)
|
||||
file_name=$OPTARG
|
||||
;;
|
||||
w)
|
||||
working_dir=$OPTARG
|
||||
;;
|
||||
:)
|
||||
printf "missing argument for -%s\n" "$OPTARG" >&2
|
||||
echo "$usage" >&2
|
||||
exit 1
|
||||
;;
|
||||
\?)
|
||||
printf "illegal option: -%s\n" "$OPTARG" >&2
|
||||
echo "$usage" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -59,22 +61,22 @@ shift $((OPTIND - 1))
|
||||
|
||||
if [ -z "${file_name}" ]; then
|
||||
echo "You must provide the image file name"
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
if [[ ! -f ${file_name} ]]; then
|
||||
echo "File ${file_name} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
file_abs_path=`readlink -m ${file_name}`
|
||||
file_abs_path=$(readlink -m ${file_name})
|
||||
if [[ "${working_dir}" != "" && ! -d "${working_dir}" ]]; then
|
||||
echo "Directory ${working_dir} does not exist"
|
||||
exit 1
|
||||
elif [[ "${working_dir}" == "" ]]; then
|
||||
working_dir=`mktemp -d`
|
||||
working_dir=$(mktemp -d)
|
||||
tmp_created=1
|
||||
else
|
||||
working_dir=`readlink -m ${working_dir}`
|
||||
working_dir=$(readlink -m ${working_dir})
|
||||
fi
|
||||
|
||||
filename="${file_name%.*}"
|
||||
@@ -82,11 +84,10 @@ dest_file=${working_dir}/${filename}.raw
|
||||
image_type=$(qemu-img info ${file_abs_path} | grep 'file format:' | awk '{ print $3 }')
|
||||
echo "Image type detected as ${image_type}"
|
||||
|
||||
|
||||
if [[ "${image_type}" == "raw" ]]; then
|
||||
dest_file=${file_abs_path}
|
||||
dest_file=${file_abs_path}
|
||||
elif [[ "$image_type" == "qcow2" ]]; then
|
||||
if lsmod | grep "nbd" &> /dev/null ; then
|
||||
if lsmod | grep "nbd" &>/dev/null; then
|
||||
echo "Module nbd is loaded!"
|
||||
else
|
||||
echo "Module nbd is not loaded. Trying to load the module"
|
||||
@@ -106,18 +107,18 @@ check_command blkid
|
||||
part_type=$(blkid -o value -s PTTYPE ${dest_file})
|
||||
|
||||
check_command partx
|
||||
nr_partitions=`partx -g ${dest_file} | wc -l`
|
||||
nr_partitions=$(partx -g ${dest_file} | wc -l)
|
||||
|
||||
check_command fdisk
|
||||
out=`fdisk -l ${dest_file} --bytes | grep -i -A ${nr_partitions} 'Device' | tail -n +2`
|
||||
out=$(fdisk -l ${dest_file} --bytes | grep -i -A ${nr_partitions} 'Device' | tail -n +2)
|
||||
|
||||
IFS='
|
||||
'
|
||||
i=0
|
||||
declare -A lines
|
||||
for x in $out ; do
|
||||
lines[$i]=$x
|
||||
i=$((i+1))
|
||||
for x in $out; do
|
||||
lines[$i]=$x
|
||||
i=$((i + 1))
|
||||
done
|
||||
|
||||
declare -A partitions
|
||||
@@ -125,40 +126,38 @@ IFS=' '
|
||||
i=0
|
||||
ROWS=${#lines[@]}
|
||||
|
||||
for line in "${lines[@]}";
|
||||
do
|
||||
j=0
|
||||
read -a str_arr <<< "$line"
|
||||
for val in "${str_arr[@]}";
|
||||
do
|
||||
if [[ "$val" != "*" ]]; then
|
||||
partitions[$i,$j]=$val
|
||||
j=$((j+1))
|
||||
fi
|
||||
done
|
||||
i=$((i+1))
|
||||
for line in "${lines[@]}"; do
|
||||
j=0
|
||||
read -a str_arr <<<"$line"
|
||||
for val in "${str_arr[@]}"; do
|
||||
if [[ "$val" != "*" ]]; then
|
||||
partitions[$i, $j]=$val
|
||||
j=$((j + 1))
|
||||
fi
|
||||
done
|
||||
i=$((i + 1))
|
||||
done
|
||||
|
||||
COLUMNS=$j
|
||||
START_ADDRESS_INDEX=1
|
||||
FILE_SYS_INDEX2=$((COLUMNS-1))
|
||||
FILE_SYS_INDEX1=$((COLUMNS-2))
|
||||
FILE_SYS_INDEX2=$((COLUMNS - 1))
|
||||
FILE_SYS_INDEX1=$((COLUMNS - 2))
|
||||
DEVICE_INDEX=0
|
||||
# Here we have all the partition info now lets mount and analyze the contents
|
||||
for ((i=0;i<ROWS;i++)) do
|
||||
if [[ "$part_type" == "gpt" && "${partitions[$i,${FILE_SYS_INDEX1}]}" == "Linux" && "${partitions[$i,${FILE_SYS_INDEX2}]}" == "filesystem" ]]; then
|
||||
for ((i = 0; i < ROWS; i++)); do
|
||||
if [[ "$part_type" == "gpt" && "${partitions[$i, ${FILE_SYS_INDEX1}]}" == "Linux" && "${partitions[$i, ${FILE_SYS_INDEX2}]}" == "filesystem" ]]; then
|
||||
echo "The image has GPT partitions"
|
||||
MOUNT_ROW=$i
|
||||
break
|
||||
elif [[ "$part_type" == "dos" && "${partitions[$i,${FILE_SYS_INDEX1}]}" == "Linux" && "${partitions[$i,${FILE_SYS_INDEX2}]}" == "" ]]; then
|
||||
break
|
||||
elif [[ "$part_type" == "dos" && "${partitions[$i, ${FILE_SYS_INDEX1}]}" == "Linux" && "${partitions[$i, ${FILE_SYS_INDEX2}]}" == "" ]]; then
|
||||
echo "The image has DOS partitions"
|
||||
MOUNT_ROW=$i
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
start_address=${partitions[${MOUNT_ROW},${START_ADDRESS_INDEX}]}
|
||||
offset=$((start_address*512))
|
||||
start_address=${partitions[${MOUNT_ROW}, ${START_ADDRESS_INDEX}]}
|
||||
offset=$((start_address * 512))
|
||||
|
||||
MOUNT_DIR=/mnt/clh-img-check/
|
||||
rm -rf ${MOUNT_DIR}
|
||||
@@ -166,22 +165,22 @@ mkdir ${MOUNT_DIR}
|
||||
if [[ "${image_type}" == "raw" ]]; then
|
||||
mount -o ro,loop,offset=$offset ${dest_file} ${MOUNT_DIR}
|
||||
elif [[ "${image_type}" == "qcow2" ]]; then
|
||||
mount -o ro ${partitions[${MOUNT_ROW},${DEVICE_INDEX}]} ${MOUNT_DIR}
|
||||
mount -o ro ${partitions[${MOUNT_ROW}, ${DEVICE_INDEX}]} ${MOUNT_DIR}
|
||||
fi
|
||||
|
||||
CONFIG_DIR=${MOUNT_DIR}boot/
|
||||
if [[ "$part_type" == "dos" ]]; then
|
||||
CONFIG_DIR=${MOUNT_DIR}
|
||||
CONFIG_DIR=${MOUNT_DIR}
|
||||
fi
|
||||
|
||||
#check VIRTIO
|
||||
HAS_VIRTIO=1
|
||||
for conf_file in ${CONFIG_DIR}config*; do
|
||||
out=`grep -E "CONFIG_VIRTIO=y|CONFIG_VIRTIO_BLK=y|CONFIG_VIRTIO_BLK=m" ${conf_file} | wc -l`
|
||||
out=$(grep -E "CONFIG_VIRTIO=y|CONFIG_VIRTIO_BLK=y|CONFIG_VIRTIO_BLK=m" ${conf_file} | wc -l)
|
||||
if [[ "$out" != "2" ]]; then
|
||||
echo "VIRTIO not found"
|
||||
HAS_VIRTIO=0
|
||||
fi
|
||||
echo "VIRTIO not found"
|
||||
HAS_VIRTIO=0
|
||||
fi
|
||||
done
|
||||
|
||||
#clean up
|
||||
@@ -191,22 +190,22 @@ if [[ "${tmp_created}" == "1" ]]; then
|
||||
rm -rf ${working_dir}
|
||||
fi
|
||||
|
||||
if [[ "${image_type}" == "qcow2" ]];then
|
||||
qemu-nbd --disconnect ${dest_file} > /dev/null
|
||||
if [[ "${image_type}" == "qcow2" ]]; then
|
||||
qemu-nbd --disconnect ${dest_file} >/dev/null
|
||||
fi
|
||||
|
||||
result=""
|
||||
if [[ "${part_type}" == "dos" ]]; then
|
||||
result="dos mode not supported"
|
||||
result="dos mode not supported"
|
||||
fi
|
||||
if [[ "${HAS_VIRTIO}" == "0" ]]; then
|
||||
if [[ "$result" != "" ]]; then
|
||||
result="${result},"
|
||||
fi
|
||||
result="$result VirtIO module not found in the image"
|
||||
if [[ "$result" != "" ]]; then
|
||||
result="${result},"
|
||||
fi
|
||||
result="$result VirtIO module not found in the image"
|
||||
fi
|
||||
if [[ "$result" == "" ]];then
|
||||
echo "No incompatibilities found"
|
||||
if [[ "$result" == "" ]]; then
|
||||
echo "No incompatibilities found"
|
||||
else
|
||||
echo "$result"
|
||||
echo "$result"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user