summarylogtreecommitdiffstats
path: root/libresonic.install
blob: 756d6914b30c745890f7e709ad2b6dd239782421 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
}