mirror of
https://github.com/YunoHost-Apps/vaultwarden_ynh.git
synced 2024-09-03 18:26:31 +02:00
Fixing upgrade
This commit is contained in:
parent
0fe522d34c
commit
5f671bd62c
3 changed files with 32 additions and 38 deletions
|
@ -5,7 +5,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# dependencies used by the app
|
# dependencies used by the app
|
||||||
pkg_dependencies="curl tar pkg-config libssl-dev libc6-dev at"
|
pkg_dependencies="curl tar pkg-config libssl-dev libc6-dev"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PERSONAL HELPERS
|
# PERSONAL HELPERS
|
||||||
|
|
|
@ -33,28 +33,6 @@ ynh_script_progression --message="Checking version..."
|
||||||
|
|
||||||
upgrade_type=$(ynh_check_app_version_changed)
|
upgrade_type=$(ynh_check_app_version_changed)
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# ENSURE DOWNWARD COMPATIBILITY
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Ensuring downward compatibility..."
|
|
||||||
|
|
||||||
# Cleaning legacy permissions
|
|
||||||
if ynh_legacy_permissions_exists; then
|
|
||||||
ynh_legacy_permissions_delete_all
|
|
||||||
|
|
||||||
ynh_app_setting_delete --app=$app --key=is_public
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! ynh_permission_exists --permission="admin"; then
|
|
||||||
# Create the required permissions
|
|
||||||
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin --show_tile="false"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create a permission if needed
|
|
||||||
if ! ynh_permission_exists --permission="api"; then
|
|
||||||
ynh_permission_create --permission="api" --url="/api" --additional_urls="/identity/connect/token" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -86,6 +64,7 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" --li
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_handle_app_migration --migration_id="bitwarden" --migration_list="bitwarden_migration"
|
ynh_handle_app_migration --migration_id="bitwarden" --migration_list="bitwarden_migration"
|
||||||
|
|
||||||
if [ $migration_process -eq 1 ]
|
if [ $migration_process -eq 1 ]
|
||||||
then
|
then
|
||||||
# If a migration has been perform
|
# If a migration has been perform
|
||||||
|
@ -99,6 +78,28 @@ then
|
||||||
ynh_secure_remove --file="$final_path/live/bitwarden_rs"
|
ynh_secure_remove --file="$final_path/live/bitwarden_rs"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# ENSURE DOWNWARD COMPATIBILITY
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Ensuring downward compatibility..."
|
||||||
|
|
||||||
|
# Cleaning legacy permissions
|
||||||
|
if ynh_legacy_permissions_exists; then
|
||||||
|
ynh_legacy_permissions_delete_all
|
||||||
|
|
||||||
|
ynh_app_setting_delete --app=$app --key=is_public
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! ynh_permission_exists --permission="admin"; then
|
||||||
|
# Create the required permissions
|
||||||
|
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin --show_tile="false"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create a permission if needed
|
||||||
|
if ! ynh_permission_exists --permission="api"; then
|
||||||
|
ynh_permission_create --permission="api" --url="/api" --additional_urls="/identity/connect/token" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true"
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE DEDICATED USER
|
# CREATE DEDICATED USER
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -47,6 +47,9 @@
|
||||||
# | arg: -i, --migration_id= - ID from which to migrate
|
# | arg: -i, --migration_id= - ID from which to migrate
|
||||||
# | arg: -l, --migration_list= - File specifying every file to move (one file per line)
|
# | arg: -l, --migration_list= - File specifying every file to move (one file per line)
|
||||||
ynh_handle_app_migration () {
|
ynh_handle_app_migration () {
|
||||||
|
# Need for end of install
|
||||||
|
ynh_package_install at
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# LOAD SETTINGS
|
# LOAD SETTINGS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -99,7 +102,7 @@ ynh_handle_app_migration () {
|
||||||
|
|
||||||
# TODO Handle multi instance apps...
|
# TODO Handle multi instance apps...
|
||||||
# Check that there is not already an app installed for this id.
|
# Check that there is not already an app installed for this id.
|
||||||
(yunohost app list | grep -q "id: $new_app") \
|
(yunohost app list | grep -q -w "id: $new_app") \
|
||||||
&& ynh_die --message="$new_app is already installed"
|
&& ynh_die --message="$new_app is already installed"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -126,6 +129,7 @@ ynh_handle_app_migration () {
|
||||||
|
|
||||||
local settings_dir="/etc/yunohost/apps"
|
local settings_dir="/etc/yunohost/apps"
|
||||||
cp -a "$settings_dir/$old_app" "$settings_dir/$new_app"
|
cp -a "$settings_dir/$old_app" "$settings_dir/$new_app"
|
||||||
|
cp -a ../{scripts,conf} "$settings_dir/$new_app"
|
||||||
|
|
||||||
# Replace the old id by the new one
|
# Replace the old id by the new one
|
||||||
ynh_replace_string --match_string="\(^id: .*\)$old_app" --replace_string="\1$new_app" --target_file="$settings_dir/$new_app/settings.yml"
|
ynh_replace_string --match_string="\(^id: .*\)$old_app" --replace_string="\1$new_app" --target_file="$settings_dir/$new_app/settings.yml"
|
||||||
|
@ -144,6 +148,9 @@ ynh_handle_app_migration () {
|
||||||
ynh_app_setting_set --app=$new_app --key=label --value=$new_label
|
ynh_app_setting_set --app=$new_app --key=label --value=$new_label
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
yunohost tools shell -c "from yunohost.permission import permission_delete; permission_delete('$old_app.main', force=True, sync_perm=False)"
|
||||||
|
yunohost tools shell -c "from yunohost.permission import permission_create; permission_create('$new_app.main', url='/' , sync_perm=True)"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# MOVE FILES TO THE NEW DESTINATION
|
# MOVE FILES TO THE NEW DESTINATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -210,19 +217,6 @@ ynh_handle_app_migration () {
|
||||||
ynh_app_setting_set --app=$new_app --key=db_name --value=$db_name
|
ynh_app_setting_set --app=$new_app --key=db_name --value=$db_name
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# CREATE A NEW USER
|
|
||||||
#=================================================
|
|
||||||
|
|
||||||
new_final_path=$(ynh_app_setting_get --app=$new_app --key=final_path)
|
|
||||||
|
|
||||||
# Check if the user exists on the system
|
|
||||||
if ynh_system_user_exists --username="$old_app"
|
|
||||||
then
|
|
||||||
ynh_print_info --message="Create a new user $new_app to replace $old_app" >&2
|
|
||||||
ynh_system_user_create --username=$app --home_dir="$new_final_path"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHANGE THE FAKE DEPENDENCIES PACKAGE
|
# CHANGE THE FAKE DEPENDENCIES PACKAGE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -252,7 +246,6 @@ ynh_handle_app_migration () {
|
||||||
|
|
||||||
app=$new_app
|
app=$new_app
|
||||||
|
|
||||||
|
|
||||||
# Set migration_process to 1 to inform that an upgrade has been made
|
# Set migration_process to 1 to inform that an upgrade has been made
|
||||||
migration_process=1
|
migration_process=1
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue