diff --git a/init b/init new file mode 100755 index 0000000..25422c7 --- /dev/null +++ b/init @@ -0,0 +1,34 @@ +#!/bin/bash +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" +NEEDS="needs to be installed through your distro's package manager" + +if ! whereis python3 | grep "/"; then + echo "python3" $NEEDS + exit 1 +fi + +if ! whereis pip3 | grep "/"; then + echo "pip3" $NEEDS + exit 1 +fi + +if ! whereis pdflatex | grep "/"; then + echo "texlive" $NEEDS + exit 1 +fi + +commands=( + "python3 -m venv $SCRIPT_DIR/.venv" + "source .venv/bin/activate" + "pip3 install -r requirements.txt" +) + +for com in "${commands[@]}"; do + if ! $com; then + echo "UnderCover Init Failed!" + exit 1 + fi +done + +echo "UnderCover Init Succeeded!" +touch $SCRIPT_DIR/.undercover_init_successful diff --git a/start b/start index 38e6867..f41aac8 100755 --- a/start +++ b/start @@ -1,9 +1,15 @@ #!/bin/bash SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" -if ! pip -V | grep "$SCRIPT_DIR/venv"; then +if ! test -f "$SCRIPT_DIR/.undercover_init_successful"; then + if ! $SCRIPT_DIR/init; then + exit 1 + fi +fi + +if ! pip -V | grep "$SCRIPT_DIR/.venv"; then echo "Entering virtual environment..." - source $SCRIPT_DIR/venv/bin/activate + source $SCRIPT_DIR/.venv/bin/activate fi if [[ "$1" == "prod" ]]; then