Merge branch 'windows' of git://git.ardour.org/ardour/ardour into windows
[ardour.git] / tools / windows_packaging / cptovm.sh
1 #!/bin/bash
2
3 . ./mingw-env.sh
4
5 TMP_DIR=tmp
6 LOOP_DEV=/dev/loop4
7
8 cd $BASE || exit 1
9
10 if [ ! -d $TMP_DIR ]; then
11         echo "Creating temp directory to mount vm image ..."
12         mkdir $TMP_DIR || exit 1
13 fi
14
15 echo "mounting vm image as loopback device ..."
16
17 sudo mount -o loop=$LOOP_DEV,offset=32256 $VIRT_IMAGE_PATH $TMP_DIR || exit 1
18
19 if [ -d $TMP_DIR/$PACKAGE_DIR ]; then
20         echo "Removing old copy of $PACKAGE_DIR from vm image ..."
21         rm -rf $TMP_DIR/$PACKAGE_DIR || exit 1
22 fi
23
24 echo "Copying $PACKAGE_DIR to vm image ..."
25 cp -r $PACKAGE_DIR $TMP_DIR || exit 1
26
27 if [ "$1" == "--data" ]; then
28         DATA_DIR=data
29
30         if [ -d $TMP_DIR/$DATA_DIR ]; then
31                 echo "Removing old copy of $DATA_DIR from vm image ..."
32                 rm -rf $TMP_DIR/$DATA_DIR || exit 1
33         fi
34
35         echo "Copying $DATA_DIR to vm image ..."
36         cp -r $DATA_DIR $TMP_DIR || exit 1
37 fi
38
39
40 # in case mount is busy
41 sleep 2
42
43 echo "Unmounting vm image ..."
44
45 sudo umount -d tmp
46
47 echo "Removing temp directory used to mount vm image ..."
48 rm -rf $TMP_DIR || exit 1
49
50 if sudo losetup $LOOP_DEV; then
51         echo "sleeping for 10 seconds and trying again ..."
52         sleep 10
53         if sudo losetup -d $LOOP_DEV; then
54                 echo "Unmounted loopback device successfully"
55                 exit 0
56         else:
57                 echo "Unmounting loopback device unsuccessful, you will need to use losetup -d to unmount device"
58                 exit 1
59         fi
60 fi
61
62 exit 0