function search() { FILES2=$(ls -A $1 2>/dev/null) for g in $FILES2 do if [ -d $1$g ]; then echo "$1$g is a directory" search $1$g/ else echo "$1$g is a file" if [ $g != "md5" ] && [ $g != "filelist" ] && [ $g != ".package.files" ]; then if [ $g != ".coauthors" ] && [ $g != "version_info" ]; then SUM=$(md5sum < $1$g) echo "$g:$SUM" >> $1md5 fi echo "$g" >> $1filelist else echo " ignoring $g..." fi fi done } function check() { echo "Check $1" FILES2=$(ls -A $1 2>/dev/null) if [ -f "$1/md5" ]; then echo " md5: http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1md5" curl -H 'Cache-Control: no-cache, no-store' -s "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1md5" --output /tmp/out cmp -s $1/md5 /tmp/out if [ "$?" -ne 0 ] then echo " Differences detected!" cat /tmp/out while IFS= read -r line do IFS=':' read -ra split <<< $line g="${split[0]}" echo "LINE -- $g" if [ "$g" != "md5" ] && [ "$g" != "filelist" ] && [ "$g" != ".package.files" ]; then if [ -f $1$g ]; then if [ "$g" != ".coauthors" ] && [ "$g" != "version_info" ]; then echo "++Redownload $1$g..." if [ -f "$1$g" ]; then curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $1$g else echo "===Could not find directory, assuming regular scripts directory exists." curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $LANGUAGE/scripts/$g fi fi else echo "++==Downloading $1$g..." curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $1$g fi fi done < /tmp/out fi fi if [ -f "$1/filelist" ]; then echo " filelist: http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1filelist" curl -H 'Cache-Control: no-cache, no-store' -s "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1filelist" --output /tmp/out cmp -s $1/filelist /tmp/out if [ "$?" -ne 0 ] then echo " Differences detected!" cat /tmp/out while IFS= read -r line do IFS=':' read -ra split <<< $line g="${split[0]}" echo "LINE -- $g" if [ "$g" != "md5" ] && [ "$g" != "filelist" ] && [ "$g" != ".package.files" ]; then if [ -f $1$g ]; then if [ "$g" != ".coauthors" ] && [ "$g" != "version_info" ]; then echo "++Redownload $1$g..." if [ -f "$1$g" ]; then curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $1$g else echo "===Could not find directory, assuming regular scripts directory exists." curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $LANGUAGE/scripts/$g fi fi else echo "++==Downloading $1$g..." curl -H 'Cache-Control: no-cache, no-store' "http://sig.projectdivar.com/sigonasr2/SigScript/raw/branch/main/$1$g" --output $1$g fi fi done < /tmp/out fi fi for g in $FILES2 do if [ -d $1$g ]; then echo "$1$g is a directory" check $1$g/ fi done }