Преглед изворни кода

Use variables for the different system variants

Bob Mottram пре 10 година
родитељ
комит
f1dee1466e
1 измењених фајлова са 35 додато и 29 уклоњено
  1. 35
    29
      install-freedombone.sh

+ 35
- 29
install-freedombone.sh Прегледај датотеку

@@ -64,6 +64,12 @@ MY_USERNAME=$2
64 64
 FREEDNS_SUBDOMAIN_CODE=$3
65 65
 SYSTEM_TYPE=$4
66 66
 
67
+VARIANT_WRITER="writer"
68
+VARIANT_CLOUD="cloud"
69
+VARIANT_CHAT="chat"
70
+VARIANT_MAILBOX="mailbox"
71
+VARIANT_SOCIAL="social"
72
+
67 73
 SSH_PORT=2222
68 74
 KERNEL_VERSION="v3.15.10-bone7"
69 75
 USE_HWRNG="yes"
@@ -186,7 +192,7 @@ function change_login_message {
186 192
   echo "|    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-' " >> /etc/motd
187 193
   echo "'    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'" >> /etc/motd
188 194
 
189
-  if [[ $SYSTEM_TYPE == "cloud" ]]; then
195
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
190 196
       echo '                  .--..             . ' >> /etc/motd
191 197
       echo '                 :    |             | ' >> /etc/motd
192 198
       echo '                 |    | .-. .  . .-.| ' >> /etc/motd
@@ -194,7 +200,7 @@ function change_login_message {
194 200
       echo "                   --' - -'  -- - -' -" >> /etc/motd
195 201
   fi
196 202
 
197
-  if [[ $SYSTEM_TYPE == "chat" ]]; then
203
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" ]]; then
198 204
       echo '                  .--..         .   ' >> /etc/motd
199 205
       echo '                 :    |        _|_  ' >> /etc/motd
200 206
       echo '                 |    |--. .-.  |   ' >> /etc/motd
@@ -202,7 +208,7 @@ function change_login_message {
202 208
       echo "                   --''   - -' - -' " >> /etc/motd
203 209
   fi
204 210
 
205
-  if [[ $SYSTEM_TYPE == "social" ]]; then
211
+  if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
206 212
       echo '               .-.                    .  ' >> /etc/motd
207 213
       echo '              (   )           o       |  ' >> /etc/motd
208 214
       echo '                -.  .-.  .-.  .  .-.  |  ' >> /etc/motd
@@ -210,7 +216,7 @@ function change_login_message {
210 216
       echo "                -'   -'   -'-'  - -' - - " >> /etc/motd
211 217
   fi
212 218
 
213
-  if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" ]]; then
219
+  if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
214 220
       echo '             .    .           . .              ' >> /etc/motd
215 221
       echo '             |\  /|        o  | |              ' >> /etc/motd
216 222
       echo '             | \/ | .-.    .  | |.-.  .-.-. ,- ' >> /etc/motd
@@ -236,7 +242,7 @@ function search_for_attached_usb_drive {
236 242
           mkdir /media/usb
237 243
           mount $USB_DRIVE /media/usb
238 244
       fi
239
-      if ! [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
245
+      if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
240 246
           if [ -d /media/usb/Maildir ]; then
241 247
               echo 'Maildir found on USB drive'
242 248
               IMPORT_MAILDIR=/media/usb/Maildir
@@ -805,7 +811,7 @@ function configure_firewall_for_git {
805 811
 }
806 812
 
807 813
 function configure_firewall_for_email {
808
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
814
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
809 815
       return
810 816
   fi
811 817
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
@@ -888,7 +894,7 @@ function script_to_make_self_signed_certificates {
888 894
 }
889 895
 
890 896
 function configure_email {
891
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
897
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
892 898
       return
893 899
   fi
894 900
   if grep -Fxq "configure_email" $COMPLETION_FILE; then
@@ -975,7 +981,7 @@ function configure_email {
975 981
 
976 982
 function spam_filtering {
977 983
   # NOTE: spamassassin installation currently doesn't work, sa-compile fails with a make error 23/09/2014
978
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
984
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
979 985
       return
980 986
   fi
981 987
   if grep -Fxq "spam_filtering" $COMPLETION_FILE; then
@@ -1074,7 +1080,7 @@ function spam_filtering {
1074 1080
 }
1075 1081
 
1076 1082
 function configure_imap {
1077
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1083
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1078 1084
       return
1079 1085
   fi
1080 1086
   if grep -Fxq "configure_imap" $COMPLETION_FILE; then
@@ -1102,7 +1108,7 @@ function configure_imap {
1102 1108
 }
1103 1109
 
1104 1110
 function configure_gpg {
1105
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1111
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1106 1112
       return
1107 1113
   fi
1108 1114
   if grep -Fxq "configure_gpg" $COMPLETION_FILE; then
@@ -1163,7 +1169,7 @@ function configure_gpg {
1163 1169
 }
1164 1170
 
1165 1171
 function email_client {
1166
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1172
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1167 1173
       return
1168 1174
   fi
1169 1175
   if grep -Fxq "email_client" $COMPLETION_FILE; then
@@ -1269,7 +1275,7 @@ function email_client {
1269 1275
 }
1270 1276
 
1271 1277
 function folders_for_mailing_lists {
1272
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1278
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1273 1279
       return
1274 1280
   fi
1275 1281
   if grep -Fxq "folders_for_mailing_lists" $COMPLETION_FILE; then
@@ -1318,7 +1324,7 @@ function folders_for_mailing_lists {
1318 1324
 }
1319 1325
 
1320 1326
 function folders_for_email_addresses {
1321
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1327
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1322 1328
       return
1323 1329
   fi
1324 1330
   if grep -Fxq "folders_for_email_addresses" $COMPLETION_FILE; then
@@ -1385,7 +1391,7 @@ function dynamic_dns_freedns {
1385 1391
 }
1386 1392
 
1387 1393
 function create_private_mailing_list {
1388
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1394
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1389 1395
       return
1390 1396
   fi
1391 1397
   # This installation doesn't work, results in ruby errors
@@ -1446,12 +1452,12 @@ function create_private_mailing_list {
1446 1452
 }
1447 1453
 
1448 1454
 function import_email {
1449
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1455
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1450 1456
       return
1451 1457
   fi
1452 1458
   EMAIL_COMPLETE_MSG='  *** Freedombone mailbox installation is complete ***'
1453 1459
   if grep -Fxq "import_email" $COMPLETION_FILE; then
1454
-      if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" ]]; then
1460
+      if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
1455 1461
           echo $EMAIL_COMPLETE_MSG
1456 1462
           if [ -d /media/usb ]; then
1457 1463
               umount /media/usb
@@ -1473,7 +1479,7 @@ function import_email {
1473 1479
       fi
1474 1480
   fi
1475 1481
   echo 'import_email' >> $COMPLETION_FILE
1476
-  if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" ]]; then
1482
+  if [[ $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
1477 1483
       apt-get -y --force-yes autoremove
1478 1484
       # unmount any attached usb drive
1479 1485
       echo ''
@@ -1489,7 +1495,7 @@ function import_email {
1489 1495
 }
1490 1496
 
1491 1497
 function install_web_server {
1492
-  if [[ $SYSTEM_TYPE == "chat" ]]; then
1498
+  if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" ]]; then
1493 1499
       return
1494 1500
   fi
1495 1501
   if grep -Fxq "install_web_server" $COMPLETION_FILE; then
@@ -1524,13 +1530,13 @@ function configure_php {
1524 1530
 }
1525 1531
 
1526 1532
 function install_owncloud {
1527
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1533
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1528 1534
       return
1529 1535
   fi
1530 1536
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
1531 1537
   OWNCLOUD_COMPLETION_MSG2="Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup"
1532 1538
   if grep -Fxq "install_owncloud" $COMPLETION_FILE; then
1533
-      if [[ $SYSTEM_TYPE == "cloud" ]]; then
1539
+      if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
1534 1540
           # unmount any attached usb drive
1535 1541
           if [ -d /media/usb ]; then
1536 1542
               umount /media/usb
@@ -1544,14 +1550,14 @@ function install_owncloud {
1544 1550
       return
1545 1551
   fi
1546 1552
   # if this is exclusively a cloud setup
1547
-  if [[ $SYSTEM_TYPE == "cloud" ]]; then
1553
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
1548 1554
       OWNCLOUD_DOMAIN_NAME=$DOMAIN_NAME
1549 1555
       OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=$FREEDNS_SUBDOMAIN_CODE
1550 1556
   fi
1551 1557
   if [ ! $OWNCLOUD_DOMAIN_NAME ]; then
1552 1558
       return
1553 1559
   fi
1554
-  if ! [[ $SYSTEM_TYPE == "cloud" ]]; then
1560
+  if ! [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
1555 1561
       if [ ! $SYSTEM_TYPE ]; then
1556 1562
           return
1557 1563
       fi
@@ -1696,7 +1702,7 @@ function install_owncloud {
1696 1702
 
1697 1703
   echo 'install_owncloud' >> $COMPLETION_FILE
1698 1704
 
1699
-  if [[ $SYSTEM_TYPE == "cloud" ]]; then
1705
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" ]]; then
1700 1706
       # unmount any attached usb drive
1701 1707
       if [ -d /media/usb ]; then
1702 1708
           umount /media/usb
@@ -1710,7 +1716,7 @@ function install_owncloud {
1710 1716
 }
1711 1717
 
1712 1718
 function install_xmpp {
1713
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "social" ]]; then
1719
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1714 1720
       return
1715 1721
   fi
1716 1722
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
@@ -1779,7 +1785,7 @@ function install_xmpp {
1779 1785
 }
1780 1786
 
1781 1787
 function install_irc_server {
1782
-  if [[ $SYSTEM_TYPE == "writer" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "social" ]]; then
1788
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1783 1789
       return
1784 1790
   fi
1785 1791
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
@@ -1822,21 +1828,21 @@ function install_irc_server {
1822 1828
 }
1823 1829
 
1824 1830
 function install_wiki {
1825
-  if [[ $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
1831
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
1826 1832
       return
1827 1833
   fi
1828 1834
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
1829 1835
       return
1830 1836
   fi
1831 1837
   # if this is exclusively a writer setup
1832
-  if [[ $SYSTEM_TYPE == "writer" ]]; then
1838
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" ]]; then
1833 1839
       WIKI_DOMAIN_NAME=$DOMAIN_NAME
1834 1840
       WIKI_FREEDNS_SUBDOMAIN_CODE=$FREEDNS_SUBDOMAIN_CODE
1835 1841
   fi
1836 1842
   if [ ! $WIKI_DOMAIN_NAME ]; then
1837 1843
       return
1838 1844
   fi
1839
-  if ! [[ $SYSTEM_TYPE == "writer" ]]; then
1845
+  if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" ]]; then
1840 1846
       if [ ! $SYSTEM_TYPE ]; then
1841 1847
           return
1842 1848
       fi
@@ -2013,7 +2019,7 @@ function install_wiki {
2013 2019
 }
2014 2020
 
2015 2021
 function install_blog {
2016
-  if [[ $SYSTEM_TYPE == "cloud" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "mailbox" || $SYSTEM_TYPE == "chat" || $SYSTEM_TYPE == "social" ]]; then
2022
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "email" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" ]]; then
2017 2023
       return
2018 2024
   fi
2019 2025
   if grep -Fxq "install_blog" $COMPLETION_FILE; then