diff options
author | kaotisk <kaotisk@arching-kaos.org> | 2024-12-28 15:59:04 +0200 |
---|---|---|
committer | kaotisk <kaotisk@arching-kaos.org> | 2024-12-28 15:59:04 +0200 |
commit | 89d00fcbc75e128cba516009db100daec4b794a9 (patch) | |
tree | 9e98d87d9fef51a06d830ef2dd659cdc6fed2fb4 /lib/_ak_smfiles | |
parent | 756db3cbdb91d2cb4773dd16aec3b54d1a52c462 (diff) | |
download | arching-kaos-tools-89d00fcbc75e128cba516009db100daec4b794a9.tar.gz arching-kaos-tools-89d00fcbc75e128cba516009db100daec4b794a9.tar.bz2 arching-kaos-tools-89d00fcbc75e128cba516009db100daec4b794a9.zip |
refactoringHEADorigin/masterorigin/HEADmaster
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" } |