diff options
Diffstat (limited to 'lib/_ak_smfiles')
| -rwxr-xr-x | lib/_ak_smfiles | 38 | 
1 files changed, 3 insertions, 35 deletions
| diff --git a/lib/_ak_smfiles b/lib/_ak_smfiles index 4663b45..6cb7ef8 100755 --- a/lib/_ak_smfiles +++ b/lib/_ak_smfiles @@ -73,17 +73,14 @@ else      _ak_log_info "Workdir found"  fi -cdaw(){ +function cdaw(){      pwd > tmp_holder  } -_ak_sm_file_joiner(){ +function _ak_sm_file_joiner(){      cdaw -      CURDIR="$(cat tmp_holder)" -      TMPWD="/tmp/rjs" -      if [ ! -d "$TMPWD" ]      then          mkdir -p "$TMPWD" @@ -93,46 +90,34 @@ _ak_sm_file_joiner(){              exit 1          fi      fi -      cd $CHKDIR      if [ $? -ne 0 ]      then          _ak_log_error "Can't get dir"          exit 1      fi -      if [ ! -z $1 ]      then          MAPSFILE="$1" -          echo '#!/usr/bin/env bash' > script -          # We create a script to copy all the chunks and rename them to their serialized          # name produced by split when we splitted the file          awk '{print "cp '$CHKDIR'/"$1" '$TMPWD'/"$2" "}' $FILEMAPSDIR/$MAPSFILE| grep chk >> script -          bash script -          if [ $? -ne 0 ]          then              echo "Error executing copy script"              exit 1          fi          rm script -          cd $TMPWD -          echo "$PWD" -          # Final name we are going to rename to          OUTPUT="$(tail -n 1 $FILEMAPSDIR/$MAPSFILE | awk '{print $2}')" -          echo $OUTPUT -          # We grep the MAPSFILE for chk filenames in lines and we print them all in          # one line so the first `cat` will concatenate all chunks to OUTPUT          cat $(echo -n $(cat $FILEMAPSDIR/$MAPSFILE|grep chk|awk '{print $2" "}'|tr -d '\n')) > $OUTPUT -          # We check if everything is okay          sha512sum -c $FILEMAPSDIR/$MAPSFILE          if [ $? -ne 0 ] @@ -140,11 +125,8 @@ _ak_sm_file_joiner(){              _ak_log_error "Error while checking sums"              exit 1          fi -          mv $OUTPUT $CURDIR -          rm -rf "$TMPWD" -          rm $CURDIR/tmp_holder      else          _ak_log_error "No hash given" @@ -152,7 +134,7 @@ _ak_sm_file_joiner(){      fi  } -_ak_sm_file_splitter(){ +function _ak_sm_file_splitter(){      #      # The concept is simple      # @@ -170,10 +152,8 @@ _ak_sm_file_splitter(){      #      # 6. We are done!      # -      # Uncomment next line if you want to debug      # set -xe -      if [ ! -f "$1" ]      then          echo "ERROR File not found" @@ -181,44 +161,32 @@ _ak_sm_file_splitter(){      else          FILE="$1"      fi -      # Uncomment next line in case you want to debug the resulting script as well      # echo 'set -xe' > $TEMPORARYDIR/cmd_queue.sh -      # We get the SHA512 hash for the $FILE given      CHECKSUM=$(sha512sum "$FILE"|awk '{print $1}') -      # We split the file into 1048576 bytes and output the chunks into TECHDIR      split -b 1048576 --additional-suffix ".chk" -d "$FILE" "$TECHDIR/$(basename "$FILE")-" -      # We go over there...      cd $TECHDIR -      # We get every chunks' SHA512 and we craft a script to rename the chunks and      # move them to CHKDIR      sha512sum  * > $TEMPORARYDIR/map; while IFS="" read -r p || [ -n "$p" ]      do          echo $p | awk '{print "mv " $2 " '$CHKDIR'/" $1}' >> $TEMPORARYDIR/cmd_queue.sh      done < $TEMPORARYDIR/map -      # We run the crafted script      sh $TEMPORARYDIR/cmd_queue.sh -      # and we delete it      rm $TEMPORARYDIR/cmd_queue.sh -      # We inform the map about the original $FILE name and SHA512      echo "$CHECKSUM  $(basename "$FILE")" >> $TEMPORARYDIR/map -      # We get the SHA512 hash of the resulted map file      MAPFILEHASH="$(sha512sum $TEMPORARYDIR/map | awk '{ print $1 }')" -      # and we rename it with it and move it to FILEMAPSDIR      `sha512sum $TEMPORARYDIR/map | awk '{print "mv " $2 " '$FILEMAPSDIR'/" $1}'` -      # We remove the TEMPORARYDIR      rm -rf $TEMPORARYDIR -      # and print the MAPFILEHASH      echo "$MAPFILEHASH"  } | 
