Add project-tools #142
@ -1,72 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get all archived sha hashes to use as ID numbers
|
||||
|
||||
ARCHIVE_DIR=../../shared/pets/artifacts/blender/previous/
|
||||
|
||||
cd $ARCHIVE_DIR
|
||||
|
||||
# TODO only rollbacks for one OS version
|
||||
|
||||
OS=linux
|
||||
|
||||
# Create an array with the available builds/files
|
||||
available_builds=($(ls -t *$OS*.sha256))
|
||||
|
||||
installed_build=$(cd ../ && ls *$OS*.sha256)
|
||||
|
||||
echo $installed_build
|
||||
|
||||
echo -e "Available builds:\n"
|
||||
|
||||
valid_ids=()
|
||||
|
||||
ITER=0
|
||||
|
||||
for file in ${available_builds[@]}; do
|
||||
file_date=$(stat -c '%y' $file)
|
||||
# Cutoff the the date string to only show "date hours:min"
|
||||
file_date=${file_date:0:19}
|
||||
if [ $file == $installed_build ]; then
|
||||
printf "\e[1mID:\e[0m \e[100m%3s " $ITER
|
||||
printf "(%s)" "$file_date"
|
||||
printf " <current>\e[0m"
|
||||
else
|
||||
printf "\e[1mID:\e[0m %3s " $ITER
|
||||
printf "(%s)" "$file_date"
|
||||
fi
|
||||
valid_ids+=($ITER)
|
||||
echo
|
||||
ITER=$(expr $ITER + 1)
|
||||
done
|
||||
|
||||
echo -e "\n"
|
||||
|
||||
choosen_blend_id=-1
|
||||
|
||||
prompt="Select which Blender build number to switch to. (press ENTER to confirm): "
|
||||
while read -rp "$prompt" num && [[ "$num" ]]; do
|
||||
|
||||
# Check if "num" is a valid number.
|
||||
[[ "$num" != *[[:digit:]]* ]] &&
|
||||
{ echo "You need to choose a number!"; continue; }
|
||||
|
||||
if [[ ! " ${valid_ids[*]} " =~ " ${num} " ]]; then
|
||||
# whatever you want to do when array doesn't contain value
|
||||
echo "$num is not an available ID!"
|
||||
continue
|
||||
fi
|
||||
|
||||
choosen_blend_id=$num
|
||||
|
||||
break
|
||||
done
|
||||
|
||||
((choosen_blend_id < 0)) && exit 0
|
||||
|
||||
choose_file=${available_builds[$choosen_blend_id]::-7}
|
||||
|
||||
# Remove the build we are replacing
|
||||
rm ../*$OS*
|
||||
# Copy over the choosen build
|
||||
cp $choose_file* ../
|
@ -1,66 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# TODO error out if blender is not installed locally already and there is no blender to download on shared
|
||||
|
||||
cur_dir=$(pwd)
|
||||
|
||||
cd ../../local
|
||||
|
||||
DOWNLOAD_DIR=../shared/pets
|
||||
|
||||
update_addons() {
|
||||
zip_name="main.zip"
|
||||
|
||||
# Check if we have the latest addons from shared
|
||||
if [ -f $zip_name.sha256 ]; then
|
||||
shasum=$(cat $zip_name.sha256)
|
||||
pushd $DOWNLOAD_DIR/addons
|
||||
echo $shasum | sha256sum --check - && echo addons already at the latest version && popd && return 0
|
||||
popd
|
||||
fi
|
||||
|
||||
rm -fr ./scripts/*
|
||||
|
||||
extract_folder="blender-studio-pipeline/scripts-blender/addons"
|
||||
|
||||
# Record the extracted content
|
||||
# Remove the first 5 lines, remove the last two lines, and extract the fourth column
|
||||
unzip -l $DOWNLOAD_DIR/addons/$zip_name "$extract_folder/*" | tail -n +5 | head -n -2 | awk '{ print $4 }' > $zip_name.contents
|
||||
|
||||
unzip $DOWNLOAD_DIR/addons/$zip_name "$extract_folder/*" -d "./scripts"
|
||||
mv ./scripts/$extract_folder ./scripts/
|
||||
rm -fr ./scripts/blender-studio-pipeline
|
||||
cp $DOWNLOAD_DIR/addons/$zip_name.sha256 .
|
||||
}
|
||||
|
||||
update_blender() {
|
||||
os=linux
|
||||
|
||||
# Ensure the os folder exists
|
||||
mkdir -p blender/$os
|
||||
|
||||
if [ -f blender/$os.sha256 ]; then
|
||||
shasum=$(cat blender/$os.sha256)
|
||||
pushd $DOWNLOAD_DIR/artifacts/blender
|
||||
echo $shasum *$os*.tar.xz | sha256sum --check - && echo blender already at the latest version && popd && return 0
|
||||
popd
|
||||
fi
|
||||
|
||||
rm -fr blender/$os/*
|
||||
|
||||
echo Extracting Blender
|
||||
tar xf $DOWNLOAD_DIR/artifacts/blender/*$os*.tar.xz --directory blender/$os/ --strip-components=1 --checkpoint=.1000
|
||||
cp $DOWNLOAD_DIR/artifacts/blender/*$os*.sha256 blender/$os.sha256
|
||||
}
|
||||
|
||||
update_addons
|
||||
update_blender
|
||||
|
||||
os=linux
|
||||
cd blender/$os
|
||||
|
||||
export BLENDER_USER_CONFIG=../../config
|
||||
export BLENDER_USER_SCRIPTS=../../scripts
|
||||
|
||||
# Actually launch Blender
|
||||
./blender
|
Loading…
Reference in New Issue
Block a user