From a89cade4eb531fa0da04007c16fd651d002907f3 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 17 Nov 2020 14:18:41 -0500 Subject: partvi: fail better --- src/partvi | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/partvi b/src/partvi index b50b918..57a3dba 100755 --- a/src/partvi +++ b/src/partvi @@ -53,11 +53,23 @@ get_root_hash() sed -ne 's/^Root hash:[ \t]*//p' "$1" } +require_exists() +{ + local f + for f + do + [ -f "$f" ] || die "Not a file: $f" + done +} + +set -e + builddir=_build mkdir -p "$builddir" for f in part*.conf do + notice "Processing $f" img=${f%.conf} read_config_file "$img" || warn "Received error return from command: read_config_file $img" @@ -92,9 +104,7 @@ do case "$type" in dm-verity-hashes|dm-verity-data) require_var data_path - [ -f "$data_path" ] - [ -f "$data_path".verity ] - [ -f "$data_path".verity.log ] + require_exists "$data_path" "$data_path".verity "$data_path".verity.log root_hash=$(get_root_hash "$data_path".verity.log) [ ${#root_hash} = 64 ] ;; @@ -108,7 +118,7 @@ do case "$type" in efi-system-partition) mkfs.vfat "$tmp" || die "mkfs.vfat failed" ;; bios-grub) mkfs.vfat "$tmp" || die "mkfs.vfat failed" ;; - samizdat-keys) mkfs.btrfs "$tmp" || die "mkfs.btrfs failed" ;; + samizdat-keys) mkfs.btrfs -q "$tmp" || die "mkfs.btrfs failed" ;; dm-verity-data) partuuid=${root_hash:0:32} cp -f -T --reflink "$data_path" "$builddir"/"$partuuid" -- cgit v1.2.3