1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/nextcloud_ynh.git synced 2024-09-03 19:55:57 +02:00

Merge pull request #711 from YunoHost-Apps/speedup-chown

Avoid chown data_dir during the upgrade process
This commit is contained in:
Kayou 2024-08-01 14:09:52 +02:00 committed by GitHub
commit 4372e3db8c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 33 additions and 12 deletions

View file

@ -3,14 +3,19 @@ version = "1.0"
[main] [main]
name = "Nextcloud configuration" name = "Nextcloud configuration"
[main.maintenance_mode] [main.maintenance]
name = "Maintenance mode" name = "Maintenance"
[main.maintenance_mode.maintenance_mode] [main.maintenance.maintenance_mode]
ask = "Enable maintenance mode" ask = "Enable maintenance mode"
type = "boolean" type = "boolean"
default = "0" default = "0"
[main.maintenance.set_permissions_button]
ask.en = "Set permissions for all data (Can take up to several hours if users have a lot of data)"
type = "button"
style = "success"
[main.addressbook] [main.addressbook]
name = "Address book configuration" name = "Address book configuration"

View file

@ -105,6 +105,24 @@ set__fpm_free_footprint() {
fi fi
} }
#=================================================
# SPECIFIC RUNNERS FOR TOML SHORT KEYS
#=================================================
function run__set_permissions_button() {
local data_dir=$(ynh_app_setting_get --app=$app --key=data_dir)
ynh_print_info "Set permissions, it may take some time..."
chown -R $app:www-data "$install_dir"
chown -R $app: "$data_dir"
find $install_dir/ -type f -print0 | xargs -r0 chmod 0644
find $install_dir/ -type d -print0 | xargs -r0 chmod 0755
find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640
find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750
chmod 640 "$install_dir/config/config.php"
chmod 755 /home/yunohost.app
chmod 750 $install_dir
}
#================================================= #=================================================
# GENERIC FINALIZATION # GENERIC FINALIZATION
#================================================= #=================================================

View file

@ -64,7 +64,8 @@ exec_occ() {
} }
# Set write access for the following commands # Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir" chown -R $app:www-data "$install_dir"
chown -R $app: "$data_dir"
# Define password in an intermediate var # Define password in an intermediate var
# The fact that it's called _password allows it to be # The fact that it's called _password allows it to be
@ -240,7 +241,7 @@ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644
find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755
find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640
find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750
chmod 640 "$install_dir/config/config.php" chmod 600 "$install_dir/config/config.php"
chmod 755 /home/yunohost.app chmod 755 /home/yunohost.app
chmod 750 $install_dir chmod 750 $install_dir

View file

@ -85,7 +85,7 @@ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644
find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755
find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640
find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750
chmod 640 "$install_dir/config/config.php" chmod 600 "$install_dir/config/config.php"
chmod 755 /home/yunohost.app chmod 755 /home/yunohost.app
chmod 750 $install_dir chmod 750 $install_dir

View file

@ -138,7 +138,7 @@ then
ynh_script_progression --message="Upgrading $app..." --weight=3 ynh_script_progression --message="Upgrading $app..." --weight=3
# Set write access for the following commands # Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir" chown -R $app:www-data "$install_dir"
# Print the current version number of Nextcloud # Print the current version number of Nextcloud
exec_occ -V exec_occ -V
@ -207,7 +207,7 @@ then
mv "$tmpdir" "$install_dir" mv "$tmpdir" "$install_dir"
# Set write access for the following commands # Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir" chown -R $app:www-data "$install_dir"
# Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3)
exec_occ maintenance:mode --off exec_occ maintenance:mode --off
@ -325,12 +325,9 @@ ynh_script_progression --message="Reapplying file permissions..." --weight=2
# Fix app ownerships & permissions # Fix app ownerships & permissions
chown -R $app:www-data "$install_dir" chown -R $app:www-data "$install_dir"
chown -R $app: "$data_dir"
find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type f -print0 | xargs -r0 chmod 0644
find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755
find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 chmod 600 "$install_dir/config/config.php"
find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750
chmod 640 "$install_dir/config/config.php"
chmod 755 /home/yunohost.app chmod 755 /home/yunohost.app
chmod 750 $install_dir chmod 750 $install_dir