You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
1.5 KiB

#!/bin/bash
_fill_tc_array(){
unset AVAI_TCLIST
unset INST_TCLIST
tcempty=0
cd "$tccfgdir"
if [ "$(ls -A "$tccfgdir")" ]
then
AVAI_TCLIST=(*)
else
printf "\n error in _fill_tc_array()\n please report error\n\n"
exit
fi
cd "$tcdir"
if [ "$(ls -A "$tcdir")" ]
then
tmp_tclist=(*)
for t in "${tmp_tclist[@]}"
do
for a in "${AVAI_TCLIST[@]}"
do
[ "$t" == "$a" ] && INST_TCLIST+=($t)
done
done
else
tcempty=1
fi
if [ "$tcempty" == "1" ]
then
MISS_TCLIST=$(echo ${AVAI_TCLIST[@]} |sort)
else
MISS_TCLIST=(
$(for el in $(diff_array AVAI_TCLIST[@] INST_TCLIST[@])
do
echo "$el"
done |sort)
)
fi
}
_create_module_arrays(){
i=0
for e in $(echo "$addons" | sed 's/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g';)
do
SHORT_ADDONS+=($e)
SHORT_MODULENAMES+=($e)
done
for e in ${protocols//MODULE_/}
do
SHORT_PROTOCOLS+=($e)
SHORT_MODULENAMES+=($e)
done
for e in ${readers//READER_/}
do
SHORT_READERS+=($e)
SHORT_MODULENAMES+=($e)
done
for e in ${card_readers//CARDREADER_/}
do
SHORT_CARD_READERS+=($e)
SHORT_MODULENAMES+=($e)
done
for e in $addons $protocols $readers $card_readers
do
ALL_MODULES_LONG+=($e)
done
for e in "${SHORT_MODULENAMES[@]}"
do
INTERNAL_MODULES["$e"]="${ALL_MODULES_LONG[i]}"
((i++))
done
}
diff_array(){
awk 'BEGIN{RS=ORS=" "}{NR==FNR?a[$0]++:a[$0]--}END{for(k in a)if(a[k])print k}' <(echo -n "${!1}") <(echo -n "${!2}")
}