diff --git a/manifest.json b/manifest.json index a7b94f6..03d442e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Stream and manage your music collection", "fr": "Streamez et gérez votre collection de musique" }, - "version": "10.6.2~ynh1", + "version": "10.6.2~ynh2", "url": "http://airsonic.github.io", "license": "GPL-3.0-or-later", "maintainer": { diff --git a/scripts/_common.sh b/scripts/_common.sh index a24a23d..c019450 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -27,15 +27,15 @@ ynh_multimedia_build_main_dir () { local checksum="806a827ba1902d6911095602a9221181" # Download yunohost.multimedia scripts - wget -nv https://github.com/YunoHost-Apps/yunohost.multimedia/archive/${ynh_media_release}.tar.gz + wget -nv https://github.com/YunoHost-Apps/yunohost.multimedia/archive/${ynh_media_release}.tar.gz # Check the control sum echo "${checksum} ${ynh_media_release}.tar.gz" | md5sum -c --status \ || ynh_die "Corrupt source" - # Check if the package acl is installed. Or install it. - ynh_package_is_installed 'acl' \ - || ynh_package_install acl + # Check if the package acl is installed. Or install it. + ynh_package_is_installed 'acl' \ + || ynh_package_install acl # Extract mkdir yunohost.multimedia-master @@ -60,3 +60,14 @@ ynh_multimedia_addfolder () { ./yunohost.multimedia-master/script/ynh_media_addfolder.sh --source="$source_dir" --dest="$dest_dir" } + +# Grant write access to multimedia directories to a specified user +# +# usage: ynh_multimedia_addaccess user_name +# +# | arg: user_name - User to be granted write access +ynh_multimedia_addaccess () { + local user_name=$1 + groupadd -f multimedia + usermod -a -G multimedia $user_name +} diff --git a/scripts/install b/scripts/install index a528c5c..af47ef7 100644 --- a/scripts/install +++ b/scripts/install @@ -117,6 +117,11 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=3 ynh_multimedia_build_main_dir ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Podcasts" --dest_dir="share/Podcasts" ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Playlists" --dest_dir="share/Playlists" +# Allow airsonic to write into these directories +ynh_multimedia_addaccess $app + +# Allow Airsonic to write into these directories +ynh_multimedia_addaccess $app #================================================= # ENABLE "TRANSCODE" diff --git a/scripts/restore b/scripts/restore index ebe5684..cad5ecb 100644 --- a/scripts/restore +++ b/scripts/restore @@ -153,6 +153,8 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=3 ynh_multimedia_build_main_dir ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Podcasts" --dest_dir="share/Podcasts" ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Playlists" --dest_dir="share/Playlists" +# Allow airsonic to write into these directories +ynh_multimedia_addaccess $app #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index bb53d22..3ee71ec 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -138,6 +138,8 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=3 ynh_multimedia_build_main_dir ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Podcasts" --dest_dir="share/Podcasts" ynh_multimedia_addfolder --source_dir="/home/yunohost.airsonic/Playlists" --dest_dir="share/Playlists" +# Allow airsonic to write into these directories +ynh_multimedia_addaccess $app if ! grep -q "PodcastFolder" $final_path/airsonic.properties; then echo "PodcastFolder=/home/yunohost.multimedia/share/Podcasts" >> $final_path/airsonic.properties @@ -147,6 +149,9 @@ if ! grep -q "PlaylistFolder" $final_path/airsonic.properties; then echo "PlaylistFolder=/home/yunohost.multimedia/share/Playlists" >> $final_path/airsonic.properties fi +# Allow Airsonic to write into these directories +ynh_multimedia_addaccess $app + #================================================= # ENABLE "TRANSCODE" #=================================================