upgrade 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. APP=vpnclient
  3. OWNER=labriqueinternet
  4. SERVICE="ynh-${APP}"
  5. REPO="${APP}_ynh"
  6. ARGS='domain path server_name'
  7. install_time=$(sudo yunohost app setting "${APP}" install_time)
  8. install_isotime=$(date -Iseconds --date="@${install_time}")
  9. commits=$(sudo curl -s "https://api.github.com/repos/${OWNER}/${REPO}/commits?since=${install_isotime}" | wc -l)
  10. if [ "${commits}" -le 3 ]; then
  11. echo "${APP}: Up-to-date"
  12. exit 0
  13. fi
  14. for i in ${ARGS}; do
  15. value=$(sudo yunohost app setting "${APP}" "${i}")
  16. value=$(php -r "echo rawurlencode('$value');")
  17. args_url="${args_url}&${i}=${value}"
  18. done
  19. tmpdir=$(mktemp -dp /tmp/ "${APP}-upgrade-XXXXX")
  20. sudo systemctl stop "${SERVICE}"
  21. sudo cp -a "/etc/yunohost/apps/${APP}/settings.yml" "${tmpdir}/"
  22. sudo cp -a /etc/openvpn/keys/ "${tmpdir}/"
  23. sudo yunohost app remove "${APP}"
  24. sudo yunohost app install "https://github.com/${OWNER}/${REPO}" --args "${args_url}"
  25. sudo systemctl stop "${SERVICE}"
  26. install_time=$(sudo yunohost app setting "${APP}" install_time)
  27. sudo cp -a "${tmpdir}/settings.yml" "/etc/yunohost/apps/${APP}/"
  28. sudo cp -a "${tmpdir}/keys/"* /etc/openvpn/keys/ 2> /dev/null
  29. sudo yunohost app setting "${APP}" install_time -v "${install_time}"
  30. sudo systemctl start "${SERVICE}"
  31. sudo rm -r "${tmpdir}/"
  32. exit 0