upgrade 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. APP=torclient
  3. OWNER=labriqueinternet
  4. SERVICE="ynh-${APP}"
  5. REPO="${APP}_ynh"
  6. ARGS='domain path'
  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 yunohost app remove "${APP}"
  23. sudo yunohost app install "https://github.com/${OWNER}/${REPO}" --args "${args_url}"
  24. sudo systemctl stop "${SERVICE}"
  25. install_time=$(sudo yunohost app setting "${APP}" install_time)
  26. sudo cp -a "${tmpdir}/settings.yml" "/etc/yunohost/apps/${APP}/"
  27. sudo yunohost app setting "${APP}" install_time -v "${install_time}"
  28. sudo systemctl start "${SERVICE}"
  29. sudo rm -r "${tmpdir}/"
  30. exit 0