aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/bsdinstall/scripts/checksum
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bsdinstall/scripts/checksum')
-rwxr-xr-xusr.sbin/bsdinstall/scripts/checksum18
1 files changed, 12 insertions, 6 deletions
diff --git a/usr.sbin/bsdinstall/scripts/checksum b/usr.sbin/bsdinstall/scripts/checksum
index 376ba4261496..ee93cb342f25 100755
--- a/usr.sbin/bsdinstall/scripts/checksum
+++ b/usr.sbin/bsdinstall/scripts/checksum
@@ -30,14 +30,20 @@ test -f $BSDINSTALL_DISTDIR/MANIFEST || exit 0
BSDCFG_SHARE="/usr/share/bsdconfig"
. $BSDCFG_SHARE/common.subr || exit 1
+dist_to_statusvar()
+{
+ printf 'status_'
+ echo "$1" | sed 's/_/__/g;s/\./_dot_/g;s/-/_dash_/g'
+}
+
percentage=0
for dist in $DISTRIBUTIONS; do
- distname=$(basename $dist .txz)
- eval "status_$distname=-8"
+ statusvar=$(dist_to_statusvar $dist)
+ eval "$statusvar=-8"
items=""
for i in $DISTRIBUTIONS; do
- items="$items $i `eval echo \\\${status_$(basename $i .txz):--11}`"
+ items="$items $i `eval echo \\\${$(dist_to_statusvar $i):--11}`"
done
bsddialog --backtitle "$OSNAME Installer" --title "Checksum Verification" \
--mixedgauge "\nVerifying checksums of selected distributions.\n" \
@@ -57,13 +63,13 @@ for dist in $DISTRIBUTIONS; do
CK_VALID=$?
if [ $CK_VALID -le 1 ]; then
if [ $CK_VALID -eq 0 ]; then
- eval "status_$distname=-3"
+ eval "$statusvar=-3"
else
- eval "status_$distname=-7"
+ eval "$statusvar=-7"
fi
percentage=$(echo $percentage + 100/`echo $DISTRIBUTIONS | wc -w` | bc)
else
- eval "status_$distname=-2"
+ eval "$statusvar=-2"
case $(/bin/freebsd-version -u) in
*-ALPHA*|*-CURRENT|*-STABLE|*-PRERELEASE)
bsddialog --backtitle "$OSNAME Installer" --title "Error" \