79 lines
1.9 KiB
Bash
Executable File
79 lines
1.9 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
set -e
|
|
|
|
gpg="gpg"
|
|
target="all"
|
|
|
|
if [[ "$#" -gt 1 ]]; then
|
|
target="$2"
|
|
fi
|
|
|
|
tarred="${target%.*}-$(date +%Y-%m-%d-%H-%M).tar"
|
|
|
|
function recursive_clean() {
|
|
d="$1"
|
|
echo "Removing pycache $(find "$d" -maxdepth 6 -name "__pycache__")"
|
|
rm -fr $(find "$d" -maxdepth 6 -name "__pycache__")
|
|
execs=$(find "$d" -maxdepth 6 -exec file {} \; | grep -i mach.o | awk '{print $1}')
|
|
for i in ${execs[@]}; do
|
|
i="${i%:*}"
|
|
echo "Removing executables $i"
|
|
rm "$i"
|
|
done
|
|
execs=$(find "$d" -maxdepth 6 -exec file {} \; | grep -i elf | awk '{print $1}')
|
|
for i in ${execs[@]}; do
|
|
i="${i%:*}"
|
|
echo "Removing executables $i"
|
|
rm "$i"
|
|
done
|
|
}
|
|
recursive_clean "$target"
|
|
|
|
function qcrypt() {
|
|
# if ends with encrypted, decrypt and expand $target.tar
|
|
if [[ "$#" -gt 0 ]]; then
|
|
if [ "${1: -3}" == "gpg" ]; then
|
|
echo "IN QCRYPT"
|
|
if [ "$(ls ./$target 2> /dev/null)" != "" ]; then
|
|
echo "Moving $target to $target-old"
|
|
rm -rf ./$target-old
|
|
mv ./$target ./$target-old
|
|
fi
|
|
echo "Decrypting $*..."
|
|
$gpg -d $* > $pulltarget.tar
|
|
echo "Expanding ./$pulltarget.tar"
|
|
tar -xf ./$pulltarget.tar
|
|
fi
|
|
# else encrypt #and commit
|
|
else
|
|
echo "Encrypting $target"
|
|
|
|
echo tar -czf ./$tarred ./$target
|
|
tar -czf ./$tarred ./$target
|
|
|
|
$gpg --encrypt -r breel@qualtrics.com -u lapoba16@wfu.edu $tarred
|
|
fi
|
|
}
|
|
|
|
if [[ "$#" -lt 1 ]]; then
|
|
echo "USAGE: bash ./update pull/push"
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$1" == "pull" ]; then
|
|
echo "PULL"
|
|
pulltarget="$(drive ls | grep "$target-" | sort | tail -n 1)"
|
|
pulltarget="${pulltarget%.tar.gpg}"
|
|
pulltarget="$(basename $pulltarget)"
|
|
$GOPATH/bin/drive pull -depth 1 ./$pulltarget.tar.gpg
|
|
qcrypt ./$pulltarget.tar.gpg
|
|
fi
|
|
if [ "$1" == "push" ]; then
|
|
echo "PUSH"
|
|
qcrypt
|
|
$GOPATH/bin/drive push -depth 1 ./$tarred.gpg
|
|
fi
|
|
|
|
|