aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-sm-filejoiner
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2023-04-03 00:24:49 +0300
committerkaotisk <kaotisk@arching-kaos.org>2023-04-03 00:24:49 +0300
commit9606644a0beb4f2883e1e0f4c6c81b42ab40b3a1 (patch)
tree5f16ff3c7506b653862e0171d71163074f67c96e /bin/ak-sm-filejoiner
parentfe1fb88889b2c3949383c254f3058da24ba5e3f2 (diff)
downloadarching-kaos-tools-9606644a0beb4f2883e1e0f4c6c81b42ab40b3a1.tar.gz
arching-kaos-tools-9606644a0beb4f2883e1e0f4c6c81b42ab40b3a1.tar.bz2
arching-kaos-tools-9606644a0beb4f2883e1e0f4c6c81b42ab40b3a1.zip
Renaming to prefix convention, introduced ipfs wrappers so it can be easier to maintain, changes in filesplitter and filejoiner as they move sm submodule namespace... like there are namespaces in bash or something
Diffstat (limited to 'bin/ak-sm-filejoiner')
-rwxr-xr-xbin/ak-sm-filejoiner90
1 files changed, 90 insertions, 0 deletions
diff --git a/bin/ak-sm-filejoiner b/bin/ak-sm-filejoiner
new file mode 100755
index 0000000..f16abfc
--- /dev/null
+++ b/bin/ak-sm-filejoiner
@@ -0,0 +1,90 @@
+#!/bin/bash
+#
+set -xe
+
+PROGRAM="$(basename $0)"
+
+usage(){
+ echo "$PROGRAM <hash>"
+}
+
+cdaw(){
+ pwd > tmp_holder
+}
+
+cdaw
+
+CURDIR="$(cat tmp_holder)"
+
+TMPWD="/tmp/rjs"
+
+if [ ! -d "$TMPWD" ]
+then
+ mkdir -p "$TMPWD"
+ if [ "$?" != 0 ]
+ then
+ echo "Can't create $TMPWD dir"
+ exit 1
+ fi
+fi
+
+MAPSDIR="$AK_WORKDIR/fmp"
+
+CHKDIR="$AK_WORKDIR/ftr"
+
+cd $CHKDIR
+if [ "$?" != 0 ]
+then
+ echo "Can't get dir"
+ exit 1
+fi
+
+
+
+if [ ! -z $1 ]
+then
+ MAPSFILE="$1"
+
+ echo '#!/bin/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" "}' $MAPSDIR/$MAPSFILE| grep chk >> script
+
+ bash script
+
+ if [ "$?" != 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 -n1 $MAPSDIR/$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 $MAPSDIR/$MAPSFILE|grep chk|awk '{print $2" "}'|tr -d '\n')) > $OUTPUT
+
+ # We check if everything is okay
+ sha512sum -c $MAPSDIR/$MAPSFILE
+ if [ "$?" != "0" ]; then
+ logit "[ERROR]" "Error while checking sums"
+ exit 1
+ fi
+
+ mv $OUTPUT $CURDIR
+
+ rm -rf "$TMPWD"
+
+ rm $CURDIR/tmp_holder
+else
+ usage
+fi