| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/bin/env bash
- dyfi_dir=$(dirname "$(realpath "$0")")
- install_dir='/opt/dyfi/'
- copy_service_script=':';
- print_cmd=false;
- for arg in $*; do
- case $arg in
- '--openrc')
- copy_service_script='cp ./dyfi-openrc.sh /etc/init.d/dyfi'
- ;;
- '--print-cmd')
- print_cmd=true
- ;;
- esac
- done
- cmd=''
- read -r -d '' cmd <<-CMD
- set -e;
- alias 'cp'='cp --verbose';
- alias 'mkdir'='mkdir --verbose';
- cd "$dyfi_dir";
- mkdir -p /opt/dyfi;
- cp ./auth "$install_dir";
- cp ./dyfi.py "$install_dir";
- cp ./run.sh "$install_dir";
- cp ./requirements.txt "$install_dir";
- "$copy_service_script";
- cd "$install_dir";
- python -m venv ./venv;
- . ./venv/bin/activate;
- python -m ensurepip;
- pip install --upgrade pip;
- pip install -r ./requirements.txt;
- ln -sf "$install_dir"/run.sh /usr/bin/dyfi
- CMD
- if [ $print_cmd == true ]; then
- echo "$cmd"
- else
- sudo -- env bash -e -c "$cmd"
- if [ $? != 0 ]; then
- ./uninstall.sh
- echo ''
- echo "Installation failed"
- fi
- echo ''
- echo "Dyfi installed to "$install_dir""
- fi
|