-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstdsetupactions.sh
69 lines (60 loc) · 1.79 KB
/
stdsetupactions.sh
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
msg_MkDir() { echo "Creating directory '$1'"; }
do_MkDir() { [ -d $1 ] || mkdir $1; }
undo_MkDir() { [ ! -d $1 ] || [ ! -z "`ls -1A $1`" ] || rm -r $1; }
msg_Symlink() { echo "Creating $2 -> $1"; }
do_Symlink() { ln -s "$1" "$2"; }
undo_Symlink() { [ `GetLinuxDistributorId` == "mingw" -o "`readlink $2`" == "$1" ] && rm -rf "$2"; }
msg_Patch() { echo "Applying patch $3"; }
do_Patch() {
local PATCH_FILE=`pwd`/$3
cd $1
patch --dry-run $2 < $PATCH_FILE && patch $2 < $PATCH_FILE;
RET=$?
cd -
return $RET
}
undo_Patch() {
local PATCH_FILE=`pwd`/$3
cd $1
patch --dry-run --no-backup --reject-file=- -f -R $2 < $PATCH_FILE && patch --no-backup --reject-file=- -f -R $2 < $PATCH_FILE;
RET=$?
cd -
return $RET
}
msg_Cp() { echo "Copying $1 to $2"; }
do_Cp() { cp $1 $2; }
undo_Cp() { rm $2; }
msg_CpDir() { echo "Copying $1 to $2"; }
do_CpDir() { cp -r $1 $2; }
undo_CpDir() { rm -rf $2; }
msg_Mv() { echo "Moving $1 to $2"; }
do_Mv() { mv $1 $2; }
undo_Mv() { mv $2 $1; }
msg_Rm() { echo "Removing $1"; }
do_Rm() { rm $1; }
undo_Rm() { echo "There is no way to undo rm. =)"; return 1; }
msg_DownloadFile() { echo "Downloading '$1' to '$2'"; }
do_DownloadFile() { wget -O "$2" "$1"; }
undo_DownloadFile() { rm "$2"; }
msg_CheckPackages() { echo "Checking linux packages"; }
do_CheckPackages() {
local PACKAGES_TO_INSTALL
local P
for P in "$@"; do
printf "%-32s" $P
if CheckLinuxPackage $P; then
printf 'OK\n'
else
printf 'Fail\n'
PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL $P"
fi
done
if [ "$PACKAGES_TO_INSTALL" ]; then
echo "You should install the following packages:$PACKAGES_TO_INSTALL"
return 1
fi
}
undo_CheckPackages() { echo "Nothing to do"; }
msg_SvnCheckout() { echo "Checking out '$1' to $2"; }
do_SvnCheckout() { svn checkout $1 $2; }
undo_SvnCheckout() { echo "Nothing to do"; }