-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathutils.sh
executable file
·138 lines (132 loc) · 7.58 KB
/
utils.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/env bash
WAKEMEOPS_GPG_KEY=$(cat <<-EOF
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
ojZwJyVEwkiJ3SyoD5P/cBxVH5mVNXUS3XB4C2E=
EOF
)
WAKEMEOPS_APT_SOURCE=$(cat <<-EOF
deb http://deb.wakemeops.com/wakemeops/ stable dev devops secops terminal
EOF
)
sudo ()
{
[[ $EUID = 0 ]] || set -- command sudo "$@"
"$@"
}
install_packages ()
{
n=0
max=2
until [ $n -gt $max ]; do
set +e
(
sudo apt-get update -qq &&
sudo apt-get install -y --no-install-recommends "$@"
)
CODE=$?
set -e
if [ $CODE -eq 0 ]; then
break
fi
if [ $n -eq $max ]; then
return $CODE
fi
echo "apt failed, retrying"
n=$(($n + 1))
done
}
install_repository () {
echo "$WAKEMEOPS_GPG_KEY" | base64 --decode | sudo tee >/dev/null /etc/apt/trusted.gpg.d/wakemeops-keyring.gpg
echo "$WAKEMEOPS_APT_SOURCE" | sudo tee >/dev/null /etc/apt/sources.list.d/wakemeops.list
}
export DEBIAN_FRONTEND=noninteractive
export -f sudo
export -f install_packages
export -f install_repository