Browse Source

Read repos from friends server

Bob Mottram 9 years ago
parent
commit
3c6ab861f9
1 changed files with 41 additions and 13 deletions
  1. 41
    13
      src/freedombone

+ 41
- 13
src/freedombone View File

@@ -93,7 +93,7 @@ MY_TROVE_PASSWORD=
93 93
 # friend's repo trove
94 94
 FRIENDS_TROVE_PASSWORD=
95 95
 FRIENDS_TROVE_SERVER=
96
-FRIENDS_TROVE_SSH_PORT=
96
+FRIENDS_TROVE_SSH_PORT=2222
97 97
 
98 98
 # An optional password to log into IRC. This applies to all users
99 99
 IRC_PASSWORD=
@@ -903,6 +903,44 @@ function parse_args {
903 903
     fi
904 904
 }
905 905
 
906
+function read_repo_servers {
907
+    if grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
908
+        FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
909
+    fi
910
+    if grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
911
+        FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
912
+    fi
913
+    if grep -q "MY_TROVE_PASSWORD" $CONFIGURATION_FILE; then
914
+        MY_TROVE_PASSWORD=$(grep "MY_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
915
+    fi
916
+    if grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
917
+        FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
918
+    fi
919
+
920
+    if [ ! $FRIENDS_TROVE_SERVER ]; then
921
+        return
922
+    fi
923
+    if [ ${#FRIENDS_TROVE_SERVER} -lt 2 ]; then
924
+        return
925
+    fi
926
+
927
+    MAIN_COMMAND=/usr/local/bin/${PROJECT_NAME}
928
+    if [ ! -f $MAIN_COMMAND ]; then
929
+        MAIN_COMMAND=/usr/bin/${PROJECT_NAME}
930
+    fi
931
+
932
+    REPOS=($(cat ${MAIN_COMMAND} | grep "_REPO=\"" | uniq -u | sed 's|${PROJECT_NAME}|'"${PROJECT_NAME}"'|g'))
933
+
934
+    for line in "${REPOS[@]}"
935
+    do
936
+        repo_name=$(echo "$line" | awk -F '=' '{print $1}')
937
+        trove_name=$(echo "$repo_name" | sed "s|_REPO||g" | awk '{print tolower($0)}')
938
+        #repo_url=$(echo "$line" | awk -F '=' '{print $2}'  | awk -F '"' '{print $2}')
939
+        friends_repo_url="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/${trove_name}"
940
+        ${repo_name}="${friends_repo_url}"
941
+    done
942
+}
943
+
906 944
 function read_configuration {
907 945
     # if not installing on a Beaglebone then use sdb as the USB drive by default
908 946
     if [ ! $INSTALLING_ON_BBB ]; then
@@ -919,22 +957,12 @@ function read_configuration {
919 957
     fi
920 958
 
921 959
     if [ -f $CONFIGURATION_FILE ]; then
960
+        read_repo_servers
961
+
922 962
         # Ensure that a copy of the config exists for upgrade purposes
923 963
         if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
924 964
             cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
925 965
         fi
926
-        if grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
927
-            FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
928
-        fi
929
-        if grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
930
-            FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
931
-        fi
932
-        if grep -q "MY_TROVE_PASSWORD" $CONFIGURATION_FILE; then
933
-            MY_TROVE_PASSWORD=$(grep "MY_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
934
-        fi
935
-        if grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
936
-            FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
937
-        fi
938 966
         if grep -q "PROJECT_WEBSITE" $CONFIGURATION_FILE; then
939 967
             PROJECT_WEBSITE=$(grep "PROJECT_WEBSITE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
940 968
         fi