summaryrefslogtreecommitdiffstats
path: root/remote/modules/partitioner/dialog.sh
blob: 45b122c538580114fa3dcb46652692c149c52c68 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

PARTITIONSPATH="/proc/partitions"
CONFIGPATH="./config"
DEFPARTSIZE=5 #in GB
DEFSCRATCHID=44
DEFHOMEID=45
DEFDNBD3ID=46
DEFBOOTID=47

. $CONFIGPATH
# picking disk that will be used
test $CHOSENDISK
if [ $? -eq 1 ]; then
  DISKS=$(cat $PARTITIONSPATH | tr -s ' ' | cut -d ' ' -f5 | grep -e "[a-z]$")
  STR="This computer has the following partitions:\n"
  for disk in $DISKS; do
    DISKSIZE=$(cat $PARTITIONSPATH | grep -e $disk$ | tr -s ' ' | cut -d ' ' -f4)
    PARTS=$(cat $PARTITIONSPATH | grep -e $disk[0-9] | tr -s ' ' | cut -d ' ' -f5)
    GBSIZE=$(echo "scale=2; $DISKSIZE/1024/1024" | bc -l)
    STR=$STR"$disk 	$DISKSIZE Bytes ($GBSIZE GB)\n"
    USED=0
    for PART in $PARTS; do
      PARTSIZE=$(cat $PARTITIONSPATH | grep -e $PART$ | tr -s ' ' | cut -d ' ' -f4)
      USED=$(($USED+$PARTSIZE))
      GBSIZE=$(echo "scale=2; $PARTSIZE/1024/1024" | bc -l)
      STR=$STR" 	$PART 	$PARTSIZE ($GBSIZE GB)\n"
    done
    STR=$STR" 	----------\n"
    FREESPACE=$(($DISKSIZE-$USED))
    GBSIZE=$(echo "scale=2; $USED/1024/1024" | bc -l)
    STR=$STR" 	Used 	$USED ($GBSIZE GB)\n"
    GBSIZE=$(echo "scale=2; $FREESPACE/1024/1024" | bc -l)
    STR=$STR" 	Free 	$FREESPACE ($GBSIZE GB)\n\n"
  done
fi
# echo $STR
CHOSENDISK=$(dialog --no-collapse --cr-wrap --inputbox "$STR" 0 0 $(echo $DISKS | cut -f1) 3>&1 1>&2 2>&3)