#!/bin/bash

DUN_ROOT=/opt/duniter
DUN_SOURCES=$DUN_ROOT/
mkdir -p $DUN_SOURCES

# Duniter sources extraction
if [[ -f $DUN_ROOT/duniter.zip ]]; then
  unzip -q -d $DUN_SOURCES/ $DUN_ROOT/duniter.zip
  rm -rf $DUN_ROOT/duniter.zip
fi

# Duniter-Desktop
if [[ -f $DUN_SOURCES/duniter-desktop ]]; then
  ln -s $DUN_SOURCES/duniter-desktop /usr/bin/duniter-desktop
  sed -i "s/DEB_PACKAGING=.*/DEB_PACKAGING=true/g" $DUN_SOURCES/duniter.sh
  # Links for Node + NPM
  cd $DUN_SOURCES
  cd bin
  ln -s ../lib/node_modules/npm/bin/npm-cli.js ./npm -f
  cd ..
  ln -s ./bin/node node -f
  ln -s ./bin/npm npm -f
fi

# Duniter CLI executes with embedded node
if [[ -d $DUN_SOURCES/node ]]; then
  chmod 755 $DUN_SOURCES/bin/duniter
  sed -i "s/usr\/bin\/env node/opt\/duniter\/node\/bin\/node/g" $DUN_SOURCES/bin/duniter
  sed -i "s/DEB_PACKAGING=.*/DEB_PACKAGING=true/g" $DUN_SOURCES/duniter.sh
  ln -s $DUN_SOURCES/duniter.sh /usr/bin/duniter -f
  cd $DUN_SOURCES
  cd node/bin/
  ln -s ../lib/node_modules/npm/bin/npm-cli.js ./npm -f
  # Add duniter user for service
  mkdir -p /var/lib/duniter
  adduser --system --quiet --home /var/lib/duniter --no-create-home --disabled-password --group duniter
  chown duniter:duniter /var/lib/duniter
fi
# Else will execute with environment node

chmod +r -R $DUN_ROOT
