upgrade 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/bin/bash
  2. ynh_setting() {
  3. app=${1}
  4. setting=${2}
  5. sudo grep "^${setting}:" "/etc/yunohost/apps/${app}/settings.yml" | sed s/^[^:]\\+:\\s*[\"\']\\?// | sed s/\\s*[\"\']\$//
  6. }
  7. #=================================================
  8. # LOAD SETTINGS
  9. #=================================================
  10. app=$YNH_APP_INSTANCE_NAME
  11. domain=$(ynh_app_setting_get $app domain)
  12. path_url=$(ynh_app_setting_get $app path)
  13. is_public=$(ynh_app_setting_get $app is_public)
  14. final_path=$(ynh_app_setting_get $app final_path)
  15. server_name=$(ynh_app_setting_get $app server_name)
  16. #=================================================
  17. # SPECIAL UPGRADE FOR VERSIONS < 1.2.0
  18. #=================================================
  19. # Apply renaming that occured in v1.2.0 ("vpnadmin" -> "${app}")
  20. if [ -f /etc/nginx/conf.d/${domain}.d/vpnadmin.conf ]; then
  21. sudo sed "s|/var/www/vpnadmin/|/var/www/${app}/|g" -i "/etc/nginx/conf.d/${domain}.d/vpnadmin.conf"
  22. sudo sed "s|vpnadmin.sock|${app}.sock|g" -i "/etc/nginx/conf.d/${domain}.d/vpnadmin.conf"
  23. mv /etc/nginx/conf.d/${domain}.d/vpnadmin.conf /etc/nginx/conf.d/${domain}.d/${app}.conf
  24. fi
  25. if [ -f /etc/php5/fpm/pool.d/vpnadmin.conf ]; then
  26. sudo sed "s|/var/www/vpnadmin/|/var/www/${app}/|g" -i /etc/php5/fpm/pool.d/vpnadmin.conf
  27. sudo sed "s|vpnadmin.sock|${app}.sock|g" -i /etc/php5/fpm/pool.d/vpnadmin.conf
  28. mv /etc/php5/fpm/pool.d/vpnadmin.conf /etc/php5/fpm/pool.d/${app}.conf
  29. fi
  30. test -d /var/www/vpnadmin && mv /var/www/vpnadmin /var/www/${app}
  31. ## Versions known to have a buggy backup script
  32. #buggy_versions="1.0.0 1.0.1 1.1.0"
  33. #curr_version=$(read_manifest version)
  34. #if echo $buggy_versions | grep -w $curr_version > /dev/null; then
  35. # echo "Your current version of ${app} is very old: ${curr_version}. Please ignore the next warning." >&2
  36. #fi
  37. #
  38. ##=================================================
  39. ## BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
  40. ##=================================================
  41. #
  42. #ynh_backup_before_upgrade
  43. #ynh_clean_setup () {
  44. # ynh_restore_upgradebackup
  45. #}
  46. ## Exit if an error occurs during the execution of the script
  47. #ynh_abort_if_errors
  48. #=================================================
  49. # DO UPGRADE
  50. #=================================================
  51. # INSTALL DEPENDENCIES
  52. #=================================================
  53. ynh_install_app_dependencies "$pkg_dependencies"
  54. #=================================================
  55. # DEPLOY FILES FROM PACKAGE
  56. #=================================================
  57. # Keep a copy of existing config files before overwriting them
  58. tmpdir=$(mktemp -d /tmp/vpnclient-upgrade-XXX)
  59. sudo cp -r /etc/openvpn/client* ${tmpdir}
  60. # Deploy files from package
  61. vpnclient_deploy_files_and_services
  62. # Restore previously existing config files
  63. sudo cp -r ${tmpdir}/client* /etc/openvpn/
  64. sudo rm -rf ${tmpdir}
  65. #=================================================
  66. # RELOAD RELEVANT SERVICES
  67. #=================================================
  68. ynh_systemctl reload php5-fpm
  69. ynh_systemctl reload nginx
  70. ynh_systemctl restart ynh-vpnclient
  71. exit 0