Преглед на файлове

Roll all the scripts into the customisation script

It's ugly, but only a temporary file
Bob Mottram преди 8 години
родител
ревизия
e158148c1f
променени са 1 файла, в които са добавени 78 реда и са изтрити 34 реда
  1. 78
    34
      src/freedombone-image-make

+ 78
- 34
src/freedombone-image-make Целия файл

@@ -72,8 +72,8 @@ vendor_dir="${basedir}/vendor"
72 72
 vmdebootstrap_dir="${vendor_dir}/vmdebootstrap"
73 73
 
74 74
 if [ -z "$MIRROR" ] || [ -z "$SUITE" ] ; then
75
-    echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
76
-    exit 1
75
+	echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
76
+	exit 1
77 77
 fi
78 78
 
79 79
 # Packages to install in all Freedombone environments
@@ -92,7 +92,7 @@ dev_pkgs="build-essential devscripts make man-db emacs org-mode git mercurial"
92 92
 echo Building $MACHINE $PROJECT_NAME for $ARCHITECTURE.
93 93
 
94 94
 case "$MACHINE" in
95
-    beaglebone)
95
+	beaglebone)
96 96
 		extra_pkgs="$beaglebone_pkgs"
97 97
 		extra_opts="\
98 98
  --variant minbase \
@@ -105,7 +105,7 @@ case "$MACHINE" in
105 105
  --roottype btrfs \
106 106
 "
107 107
 		;;
108
-    cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
108
+	cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
109 109
 		extra_pkgs="$a20_pkgs"
110 110
 		extra_opts="\
111 111
  --variant minbase \
@@ -118,12 +118,12 @@ case "$MACHINE" in
118 118
  --roottype btrfs \
119 119
 "
120 120
 		;;
121
-    virtualbox)
121
+	virtualbox)
122 122
 		extra_opts="\
123 123
  --grub \
124 124
  --roottype btrfs \
125 125
 "   ;;
126
-    qemu)
126
+	qemu)
127 127
 		extra_opts="\
128 128
  --grub \
129 129
  --roottype btrfs \
@@ -168,37 +168,81 @@ else
168 168
 	VMDEBOOTSTRAP=vmdebootstrap
169 169
 fi
170 170
 
171
+PROJECT_INSTALL_DIR=/usr/local/bin
172
+if [ -f /usr/bin/${PROJECT_NAME} ]; then
173
+	PROJECT_INSTALL_DIR=/usr/bin
174
+fi
175
+
171 176
 echo $'Making customised customisation script'
172 177
 TEMP_CUSTOMISE=/etc/${PROJECT_NAME}/image-customise
173
-if [ -f /usr/local/bin/${PROJECT_NAME}-image-customise ]; then
174
-	sudo cp /usr/local/bin/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE
175
-else
176
-	sudo cp /usr/bin/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE
178
+TEMP_CUSTOMISE2=/tmp/${PROJECT_NAME}-image-customise2
179
+TEMP_CUSTOMISE3=/tmp/${PROJECT_NAME}-image-customise3
180
+TEMP_CUSTOMISE4=/tmp/${PROJECT_NAME}-image-customise4
181
+
182
+# cat all the things together
183
+cp $PROJECT_INSTALL_DIR/${PROJECT_NAME}-vars $TEMP_CUSTOMISE2
184
+echo $'Adding utilities to customised customisation script'
185
+UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*
186
+for f in $UTILS_FILES
187
+do
188
+  cat $f >> $TEMP_CUSTOMISE2
189
+done
190
+echo $'Adding base system to customised customisation script'
191
+BASE_SYSTEM_FILES=/usr/share/${PROJECT_NAME}/base/${PROJECT_NAME}-base-*
192
+for f in $BASE_SYSTEM_FILES
193
+do
194
+  cat $f >> $TEMP_CUSTOMISE2
195
+done
196
+echo $'Adding apps to customised customisation script'
197
+APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
198
+for f in $APP_FILES
199
+do
200
+  cat $f >> $TEMP_CUSTOMISE2
201
+done
202
+echo $'Removing headers from customised customisation script'
203
+sed -i 's|#!/bin/bash||g' $TEMP_CUSTOMISE2
204
+
205
+echo $'Changing values within customised customisation script'
206
+cp $PROJECT_INSTALL_DIR/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE3
207
+sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MY_USERNAME}|g" $TEMP_CUSTOMISE3
208
+sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MY_PASSWORD}|g" $TEMP_CUSTOMISE3
209
+sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
210
+sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
211
+sed -i "s|NAMESERVER1=.*|NAMESERVER1=${NAMESERVER1}|g" $TEMP_CUSTOMISE3
212
+sed -i "s|NAMESERVER2=.*|NAMESERVER2=${NAMESERVER1}|g" $TEMP_CUSTOMISE3
213
+sed -i "s|PROJECT_NAME=.*|PROJECT_NAME=${PROJECT_NAME}|g" $TEMP_CUSTOMISE3
214
+sed -i "s|CONFIG_FILENAME=.*|CONFIG_FILENAME=${CONFIG_FILENAME}|g" $TEMP_CUSTOMISE3
215
+sed -i "s|SSH_PUBKEY=.*|SSH_PUBKEY=${SSH_PUBKEY}|g" $TEMP_CUSTOMISE3
216
+sed -i "s|GENERIC_IMAGE=.*|GENERIC_IMAGE=${GENERIC_IMAGE}|g" $TEMP_CUSTOMISE3
217
+sed -i "s|MINIMAL_INSTALL=.*|MINIMAL_INSTALL=\"${MINIMAL_INSTALL}\"|g" $TEMP_CUSTOMISE3
218
+sed -i "s|SSH_PORT=.*|SSH_PORT=\"${SSH_PORT}\"|g" $TEMP_CUSTOMISE3
219
+sed -i "s|ONION_ONLY=.*|ONION_ONLY=\"${ONION_ONLY}\"|g" $TEMP_CUSTOMISE3
220
+sed -i "s|PROJECT_REPO=.*|PROJECT_REPO=\"${PROJECT_REPO}\"|g" $TEMP_CUSTOMISE3
221
+sed -i "s|DEBIAN_INSTALL_ONLY=.*|DEBIAN_INSTALL_ONLY=\"${DEBIAN_INSTALL_ONLY}\"|g" $TEMP_CUSTOMISE3
222
+sed -i "s|WIFI_INTERFACE=.*|WIFI_INTERFACE=\"${WIFI_INTERFACE}\"|g" $TEMP_CUSTOMISE3
223
+sed -i "s|WIFI_SSID=.*|WIFI_SSID=\"${WIFI_SSID}\"|g" $TEMP_CUSTOMISE3
224
+sed -i "s|WIFI_TYPE=.*|WIFI_TYPE=\"${WIFI_TYPE}\"|g" $TEMP_CUSTOMISE3
225
+sed -i "s|WIFI_PASSPHRASE=.*|WIFI_PASSPHRASE=\"${WIFI_PASSPHRASE}\"|g" $TEMP_CUSTOMISE3
226
+sed -i "s|WIFI_HOTSPOT=.*|WIFI_HOTSPOT=\"${WIFI_HOTSPOT}\"|g" $TEMP_CUSTOMISE3
227
+sed -i "s|WIFI_NETWORKS_FILE=.*|WIFI_NETWORKS_FILE=\"${WIFI_NETWORKS_FILE}\"|g" $TEMP_CUSTOMISE3
228
+sed -i "s|VARIANT=.*|VARIANT=\"${VARIANT}\"|g" $TEMP_CUSTOMISE3
229
+sed -i "s|MINIMUM_PASSWORD_LENGTH=.*|MINIMUM_PASSWORD_LENGTH=\"${MINIMUM_PASSWORD_LENGTH}\"|g" $TEMP_CUSTOMISE3
230
+sed -i "s|INSECURE=.*|INSECURE=\"${INSECURE}\"|g" $TEMP_CUSTOMISE3
231
+sed -i 's|#!/bin/bash||g' $TEMP_CUSTOMISE3
232
+
233
+echo "#!/bin/bash" > $TEMP_CUSTOMISE4
234
+cat $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3 >> $TEMP_CUSTOMISE4
235
+if [ -f $TEMP_CUSTOMISE ]; then
236
+	sudo rm $TEMP_CUSTOMISE
237
+fi
238
+sudo mv $TEMP_CUSTOMISE4 $TEMP_CUSTOMISE
239
+rm $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3 $TEMP_CUSTOMISE4
240
+if [ ! -f $TEMP_CUSTOMISE ]; then
241
+	echo $'Customised customisation script could not be created'
242
+	exit 735892
177 243
 fi
178
-sudo sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MY_USERNAME}|g" $TEMP_CUSTOMISE
179
-sudo sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MY_PASSWORD}|g" $TEMP_CUSTOMISE
180
-sudo sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $TEMP_CUSTOMISE
181
-sudo sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE
182
-sudo sed -i "s|NAMESERVER1=.*|NAMESERVER1=${NAMESERVER1}|g" $TEMP_CUSTOMISE
183
-sudo sed -i "s|NAMESERVER2=.*|NAMESERVER2=${NAMESERVER1}|g" $TEMP_CUSTOMISE
184
-sudo sed -i "s|PROJECT_NAME=.*|PROJECT_NAME=${PROJECT_NAME}|g" $TEMP_CUSTOMISE
185
-sudo sed -i "s|CONFIG_FILENAME=.*|CONFIG_FILENAME=${CONFIG_FILENAME}|g" $TEMP_CUSTOMISE
186
-sudo sed -i "s|SSH_PUBKEY=.*|SSH_PUBKEY=${SSH_PUBKEY}|g" $TEMP_CUSTOMISE
187
-sudo sed -i "s|GENERIC_IMAGE=.*|GENERIC_IMAGE=${GENERIC_IMAGE}|g" $TEMP_CUSTOMISE
188
-sudo sed -i "s|MINIMAL_INSTALL=.*|MINIMAL_INSTALL=\"${MINIMAL_INSTALL}\"|g" $TEMP_CUSTOMISE
189
-sudo sed -i "s|SSH_PORT=.*|SSH_PORT=\"${SSH_PORT}\"|g" $TEMP_CUSTOMISE
190
-sudo sed -i "s|ONION_ONLY=.*|ONION_ONLY=\"${ONION_ONLY}\"|g" $TEMP_CUSTOMISE
191
-sudo sed -i "s|PROJECT_REPO=.*|PROJECT_REPO=\"${PROJECT_REPO}\"|g" $TEMP_CUSTOMISE
192
-sudo sed -i "s|DEBIAN_INSTALL_ONLY=.*|DEBIAN_INSTALL_ONLY=\"${DEBIAN_INSTALL_ONLY}\"|g" $TEMP_CUSTOMISE
193
-sudo sed -i "s|WIFI_INTERFACE=.*|WIFI_INTERFACE=\"${WIFI_INTERFACE}\"|g" $TEMP_CUSTOMISE
194
-sudo sed -i "s|WIFI_SSID=.*|WIFI_SSID=\"${WIFI_SSID}\"|g" $TEMP_CUSTOMISE
195
-sudo sed -i "s|WIFI_TYPE=.*|WIFI_TYPE=\"${WIFI_TYPE}\"|g" $TEMP_CUSTOMISE
196
-sudo sed -i "s|WIFI_PASSPHRASE=.*|WIFI_PASSPHRASE=\"${WIFI_PASSPHRASE}\"|g" $TEMP_CUSTOMISE
197
-sudo sed -i "s|WIFI_HOTSPOT=.*|WIFI_HOTSPOT=\"${WIFI_HOTSPOT}\"|g" $TEMP_CUSTOMISE
198
-sudo sed -i "s|WIFI_NETWORKS_FILE=.*|WIFI_NETWORKS_FILE=\"${WIFI_NETWORKS_FILE}\"|g" $TEMP_CUSTOMISE
199
-sudo sed -i "s|VARIANT=.*|VARIANT=\"${VARIANT}\"|g" $TEMP_CUSTOMISE
200
-sudo sed -i "s|MINIMUM_PASSWORD_LENGTH=.*|MINIMUM_PASSWORD_LENGTH=\"${MINIMUM_PASSWORD_LENGTH}\"|g" $TEMP_CUSTOMISE
201
-sudo sed -i "s|INSECURE=.*|INSECURE=\"${INSECURE}\"|g" $TEMP_CUSTOMISE
244
+echo $'Customised customisation script created'
245
+
202 246
 
203 247
 echo $"starting $VMDEBOOTSTRAP"
204 248
 # Run vmdebootstrap script to create image