Ver código fonte

Fix testing of items in an array

Bob Mottram 8 anos atrás
pai
commit
d50ee1761e
2 arquivos alterados com 19 adições e 9 exclusões
  1. 16
    8
      src/freedombone-utils-selector
  2. 3
    1
      src/freedombone-utils-setup

+ 16
- 8
src/freedombone-utils-selector Ver arquivo

@@ -76,7 +76,7 @@ function app_save_variables {
76 76
 # gets the variants list from an app script
77 77
 function app_variants {
78 78
     filename=$1
79
-    variants_line=$(cat ${filename} | grep "VARIANTS=")
79
+    variants_line=$(cat ${filename} | grep 'VARIANTS=')
80 80
     if [[ "$variants_line" == *"'"* ]]; then
81 81
         variants_list=$(echo "$variants_line" | awk -F '=' '{print $2}' | awk -F "'" '{print $2}')
82 82
     else
@@ -97,13 +97,15 @@ function item_in_array {
97 97
 function available_system_variants {
98 98
     FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
99 99
 
100
+    available_variants_list=()
100 101
     for filename in $FILES
101 102
     do
102
-        variants_list=$(app_variants $filename)
103
-        variants_array=($variants_list)
104
-        for variant_str in "${vars[@]}"
103
+        system_variants_list=$(app_variants $filename)
104
+        variants_array=($system_variants_list)
105
+        for variant_str in "${variants_array[@]}"
105 106
         do
106
-            if [[ $(item_in_array "$variant_str" ${available_variants_list[@]}) == "0" ]]; then
107
+            item_in_array "${variant_str}" "${available_variants_list[@]}"
108
+            if [[ $? != 0 ]]; then
107 109
                 available_variants_list+=("$variant_str")
108 110
             fi
109 111
         done
@@ -238,7 +240,9 @@ function detect_apps {
238 240
     for filename in $FILES
239 241
     do
240 242
         app_name=$(echo "${filename}" | awk -F '-app-' '{print $2}')
241
-        if [[ $(item_in_array ${app_name} ${APPS_AVAILABLE[@]}) != 0 ]]; then
243
+
244
+        item_in_array "${app_name}" "${APPS_AVAILABLE[@]}"
245
+        if [[ $? != 0 ]]; then
242 246
             APPS_AVAILABLE+=("${app_name}")
243 247
             APPS_CHOSEN+=("0")
244 248
         fi
@@ -266,7 +270,9 @@ function detect_installable_apps {
266 270
     for filename in $FILES
267 271
     do
268 272
         app_name=$(echo "${filename}" | awk -F '-app-' '{print $2}')
269
-        if [[ $(item_in_array ${app_name} ${APPS_AVAILABLE[@]}) != 0 ]]; then
273
+
274
+        item_in_array "${app_name}" "${APPS_AVAILABLE[@]}"
275
+        if [[ $? != 0 ]]; then
270 276
             variants_list=$(app_variants $filename)
271 277
             # check for empty string
272 278
             if [ ${#variants_list} -gt 0 ]; then
@@ -295,7 +301,9 @@ function choose_apps_for_variant {
295 301
     for filename in $FILES
296 302
     do
297 303
         app_name=$(echo "${filename}" | awk -F '-app-' '{print $2}')
298
-        if [[ $(item_in_array ${app_name} ${APPS_AVAILABLE[@]}) != 0 ]]; then
304
+
305
+        item_in_array "${app_name}" "${APPS_AVAILABLE[@]}"
306
+        if [[ $? != 0 ]]; then
299 307
             APPS_AVAILABLE+=("${app_name}")
300 308
 
301 309
             if grep -q "VARIANTS=" ${filename}; then

+ 3
- 1
src/freedombone-utils-setup Ver arquivo

@@ -489,7 +489,9 @@ function upgrade_apps {
489 489
     for filename in $FILES
490 490
     do
491 491
         app_name=$(echo "${filename}" | awk -F '-app-' '{print $2}')
492
-        if [[ $(item_in_array ${app_name} ${APPS_COMPLETED[@]}) != 0 ]]; then
492
+
493
+        item_in_array "${app_name}" "${APPS_COMPLETED[@]}"
494
+        if [[ $? != 0 ]]; then
493 495
             function_check app_is_installed
494 496
             if [[ "$(app_is_installed $a)" == "1" ]]; then
495 497
                 APPS_COMPLETED+=("${app_name}")