mirror of
https://github.com/YunoHost-Apps/samba_ynh.git
synced 2024-09-03 20:16:27 +02:00
fix: replace broken old settings
This commit is contained in:
parent
f76d08c70e
commit
5e074f2378
1 changed files with 16 additions and 16 deletions
|
@ -18,8 +18,8 @@ source /usr/share/yunohost/helpers
|
|||
|
||||
ynh_abort_if_errors
|
||||
|
||||
datadir=$(ynh_app_setting_get --app=$app --key=datadir)
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
data_dir=$(ynh_app_setting_get --app=$app --key=data_dir)
|
||||
install_dir=$(ynh_app_setting_get --app=$app --key=install_dir)
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC GETTERS FOR TOML SHORT KEY
|
||||
|
@ -51,7 +51,7 @@ get__unbrowseable() {
|
|||
#=================================================
|
||||
set__directories() {
|
||||
|
||||
mkdir -p $final_path/smb.conf.d
|
||||
mkdir -p $install_dir/smb.conf.d
|
||||
|
||||
#---------------------------------------------
|
||||
# IMPORTANT: setter are trigger only if a change is detected
|
||||
|
@ -64,20 +64,20 @@ set__directories() {
|
|||
fi
|
||||
|
||||
# Create the directory
|
||||
mkdir -p $datadir/$directory
|
||||
mkdir -p $data_dir/$directory
|
||||
|
||||
chmod 750 "$datadir/$directory"
|
||||
chmod -R o-rwx "$datadir/$directory"
|
||||
chown -R root:root "$datadir/$directory"
|
||||
setfacl -R -m g:samba.$directory:rwx,d:g:samba.$directory:rwx $datadir/$directory
|
||||
chmod 750 "$data_dir/$directory"
|
||||
chmod -R o-rwx "$data_dir/$directory"
|
||||
chown -R root:root "$data_dir/$directory"
|
||||
setfacl -R -m g:samba.$directory:rwx,d:g:samba.$directory:rwx $data_dir/$directory
|
||||
|
||||
|
||||
# Add the configuration in /etc/samba/smb.conf if needed
|
||||
cat > $final_path/smb.conf.d/$directory.conf <<END
|
||||
cat > $install_dir/smb.conf.d/$directory.conf <<END
|
||||
[$directory]
|
||||
comment = $directory
|
||||
read only = no
|
||||
path = $datadir/$directory
|
||||
path = $data_dir/$directory
|
||||
guest ok = no
|
||||
browsable = yes
|
||||
valid users = @samba.$directory
|
||||
|
@ -92,23 +92,23 @@ END
|
|||
done
|
||||
|
||||
# Remove configuration for unlisted directories
|
||||
pushd $final_path/smb.conf.d
|
||||
pushd $install_dir/smb.conf.d
|
||||
for $directory in $(ls !(0-global).conf)
|
||||
do
|
||||
if ! [[ "${directory%.conf}" =~ $(echo "^($(echo $directories | sed s/ /|/g))$") ]]; then
|
||||
ynh_secure_remove "$final_path/smb.conf.d/"
|
||||
ynh_secure_remove "$install_dir/smb.conf.d/"
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
cat > $final_path/smb.conf <<EOF
|
||||
cat > $install_dir/smb.conf <<EOF
|
||||
# =================================================
|
||||
# DO NOT EDIT THIS FILE
|
||||
# EDIT SUBPARTS IN /etc/samba/smb.conf.d
|
||||
# =================================================
|
||||
|
||||
EOF
|
||||
cat $final_path/smb.conf.d/*.conf >> $final_path/smb.conf
|
||||
cat $install_dir/smb.conf.d/*.conf >> $install_dir/smb.conf
|
||||
|
||||
#---------------------------------------------
|
||||
# IMPORTANT: to be able to upgrade properly, you have to saved the value in settings too
|
||||
|
@ -123,7 +123,7 @@ set__readonly_dir() {
|
|||
if [[ $directory =~ $(echo "^($(echo $readonly_dir | sed s/ /|/g))$") ]]; then
|
||||
value="yes"
|
||||
fi
|
||||
ynh_write_var_in_file --file=$final_path/smb.conf.d/$directory.conf --key="read only" --value="$value"
|
||||
ynh_write_var_in_file --file=$install_dir/smb.conf.d/$directory.conf --key="read only" --value="$value"
|
||||
done
|
||||
ynh_app_setting_set $app readonly_dir $readonly_dir
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ set__unbrowseable() {
|
|||
if [[ $directory =~ $(echo "^($(echo $unbrowseable | sed s/ /|/g))$") ]]; then
|
||||
value="no"
|
||||
fi
|
||||
ynh_write_var_in_file --file=$final_path/smb.conf.d/$directory.conf --key="browsable" --value="$value"
|
||||
ynh_write_var_in_file --file=$install_dir/smb.conf.d/$directory.conf --key="browsable" --value="$value"
|
||||
done
|
||||
ynh_app_setting_set $app unbrowseable $unbrowseable
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue