upgrade 1.3 KB

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