From 11bccfa6051c9506d1a8cc672496b7e74063cd03 Mon Sep 17 00:00:00 2001 From: crowetic Date: Mon, 21 Oct 2024 13:57:41 -0700 Subject: [PATCH] Added HSQLDB installer tool --- start-hsqldb.sh | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 start-hsqldb.sh diff --git a/start-hsqldb.sh b/start-hsqldb.sh new file mode 100755 index 0000000..8dde61a --- /dev/null +++ b/start-hsqldb.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +# Check if the bootstrap-archive.7z exists but db folder doesn't... + +if [ -f "./bootstrap-archive.7z" ] && [ ! -d "./db" ]; then + echo "Extracting bootstrap archive as it was found, but db folder was not..." + if ! command -v 7z &> /dev/null; then + echo "7zip is not installed. Please install it using the following command:" + echo "sudo apt update && sudo apt install p7zip-full" + echo "Then, re-run this script." + exit 1 + fi + 7z x bootstrap-archive.7z + mv bootstrap db + echo "Bootstrap extraction complete." +fi + +# Check if the 'db' folder exists +if [ ! -d "./db" ] && [ ! -f "./bootstrap-archive.7z" ]; then + echo "'db' folder and bootstrap-archive.7z do not exist. Downloading the Qortal bootstrap..." + + # Array of bootstrap URLs + bootstrap_urls=( + "https://bootstrap.qortal.org/bootstrap-archive.7z" + "https://bootstrap2.qortal.org/bootstrap-archive.7z" + "https://bootstrap3.qortal.org/bootstrap-archive.7z" + "https://bootstrap4.qortal.org/bootstrap-archive.7z" + ) + + # Try downloading from each URL until successful + for url in "${bootstrap_urls[@]}"; do + echo "Trying to download from: $url" + wget $url -O bootstrap-archive.7z + if [ $? -eq 0 ]; then + echo "Download successful." + break + else + echo "Failed to download from $url. Trying the next URL..." + fi + done + + # Check if the download was successful + if [ ! -f "./bootstrap-archive.7z" ]; then + echo "All download attempts failed. Exiting script." + exit 1 + fi + + # Check if 7zip is installed + if ! command -v 7z &> /dev/null; then + echo "7zip is not installed. Please install it using the following command:" + echo "sudo apt update && sudo apt install p7zip-full" + echo "Then, re-run this script." + exit 1 + fi + + # Extract the archive if everything is ready + echo "Extracting bootstrap archive..." + 7z x bootstrap-archive.7z + mv bootstrap db + echo "Bootstrap extraction complete." + +fi + +echo "Checking Java installation..." + +if command -v java &> /dev/null; then + # Output the Java version + java_version=$(java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}') + echo "Java is installed. Version: $java_version" +else + echo "Java is not installed." + echo "Please install openjdk with the following command, then re-run this script..." + echo "sudo apt update && sudo apt install openjdk-17-jre" + exit 1 +fi + +echo "checking for lib folder and correct data..." +if [ ! -f "./lib/org/hsqldb/hsqldb/2.5.0-fixed/hsqldb-2.5.0-fixed.jar" ]; then + echo "hsqldb tool not found, downloading copy from qortal cloud server..." + wget https://cloud.qortal.org/s/zasfk3b8x8FnNKd/download/lib.zip + echo "unzipping lib.zip..." + unzip lib.zip + echo "extraction complete" + echo "Re-Checking for files..." + + if [ ! -f "./lib/org/hsqldb/hsqldb/2.5.0-fixed/hsqldb-2.5.0-fixed.jar" ]; then + echo "something strange happened, please let the devs know!" + exit 1 + fi + echo "check successful!" +fi + +echo "starting hsqldb tool..." + + +java -cp lib/org/hsqldb/hsqldb/2.5.0-fixed/hsqldb-2.5.0-fixed.jar org.hsqldb.util.DatabaseManagerSwing