diff options
Diffstat (limited to 'libresonic.install')
-rw-r--r-- | libresonic.install | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/libresonic.install b/libresonic.install new file mode 100644 index 000000000000..756d6914b30c --- /dev/null +++ b/libresonic.install @@ -0,0 +1,72 @@ +_homedir=/opt/libresonic +_playlistdir=/var/lib/libresonic/playlists + +post_install() { + chmod +x /opt/libresonic/subsonic.sh + getent group subsonic &>/dev/null || groupadd --system subsonic > /dev/null + getent passwd subsonic &>/dev/null || useradd --system \ + --home-dir /opt/libresonic \ + --shell /usr/bin/nologin \ + --gid subsonic \ + --groups audio \ + --comment "Subsonic user" \ + subsonic > /dev/null + passwd --lock subsonic > /dev/null + + fix_permissions + echo "*************************************************" + echo "* Edit /etc/conf.d/libresonic.conf to configure libresonic *" + echo "*************************************************" + + systemctl daemon-reload +} + +pre_remove() { + if [[ `systemctl is-active libresonic` == 'active' ]]; then + systemctl stop libresonic + fi +} + +post_remove() { + getent passwd subsonic &>/dev/null && userdel subsonic >/dev/null + getent group subsonic &>/dev/null && groupdel subsonic >/dev/null +} + +fix_permissions() { + chown -R subsonic:subsonic ${_homedir} + chown subsonic:subsonic ${_playlistdir} +} + +pre_upgrade() { + rm -f /tmp/subsonic-was-active + if [[ `systemctl is-active libresonic` == 'active' ]]; then + touch /tmp/subsonic-was-active + echo "Stopping subsonic" + systemctl stop libresonic + fi +} + +post_upgrade() { + post_install + + echo "!! Subsonic's home dir is now located in /opt/libresonic/db." + echo " You will have to move the database located in " + echo " /var/subsonic/db to this new location." + echo "" + echo "!! This package now runs subsonic as the user 'subsonic'." + echo " You might need to edit permissions for your media folders." + rm -f /tmp/subsonic-was-active + echo "" + echo "!! Not restarting subsonic automatically." + echo " You might need to change configs" + echo "" + echo "!! Service is now called libresonic.service." + echo "" + echo "!! If you are upgrading, you may remove your /var/subsonic folder (once you verify you have everything first)" + + if [ -e /tmp/subsonic-was-active ]; then + echo "Starting subsonic" + systemctl start libresonic + rm /tmp/subsonic-was-active + fi +} |