summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuperpiffer2016-10-12 18:33:19 +0200
committerSuperpiffer2016-10-12 18:33:19 +0200
commita739d7da7c9f3a40252ec9ff80c84778c7caf1f4 (patch)
tree7966638bc83fb190094cb257f3331cea4db71e28
downloadaur-a739d7da7c9f3a40252ec9ff80c84778c7caf1f4.tar.gz
Initial release v6.0.1
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD40
-rw-r--r--libresonic.install72
-rw-r--r--libresonic.service12
4 files changed, 150 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..fde4a0ce4d6d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = libresonic
+ pkgdesc = Media streaming software
+ pkgver = 6.0.1
+ pkgrel = 1
+ url = https://github.com/Libresonic/libresonic
+ install = libresonic.install
+ arch = any
+ license = GPL
+ depends = bash
+ depends = java-environment
+ conflicts = subsonic
+ conflicts = subsonic-kang
+ conflicts = subsonic-kang-git
+ conflicts = subsonic-beta
+ noextract = libresonic-v${pkgver}.war
+ backup = opt/libresonic/subsonic.properties
+ backup = etc/conf.d/libresonic.conf
+ source = http://prdownloads.sourceforge.net/subsonic/subsonic-6.0-standalone.tar.gz
+ source = https://github.com/Libresonic/libresonic/releases/download/v6.0.1/libresonic-v6.0.1.war
+ source = libresonic.service
+ sha256sums = df14d05e3b52f07486782e3e16922688968c95b0c8cc4987941bc3b9cea7872b
+ sha256sums = 52413b38ffb4e035f2d450faadc1cc52d5bd7bc65e9cd9223696a728d3ac9fba
+ sha256sums = 8d2ceae3cd0e14aeef9efd3281813dd4c0db411b950cbea6c4caf48a793dedce
+
+pkgname = libresonic
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cffc41bfb0af
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Federico Giuliani <federico.giuliani86@gmail.com>
+
+pkgname=libresonic
+pkgver=6.0.1
+_subver=6.0
+pkgrel=1
+
+pkgdesc="Media streaming software"
+url="https://github.com/Libresonic/libresonic"
+arch=('any')
+license=('GPL')
+depends=('bash' 'java-environment')
+conflicts=('subsonic' 'subsonic-kang' 'subsonic-kang-git' 'subsonic-beta')
+backup=('opt/libresonic/subsonic.properties' 'etc/conf.d/libresonic.conf')
+noextract=('libresonic-v${pkgver}.war')
+install='libresonic.install'
+source=("http://prdownloads.sourceforge.net/subsonic/subsonic-${_subver}-standalone.tar.gz"
+ "https://github.com/Libresonic/libresonic/releases/download/v${pkgver}/libresonic-v${pkgver}.war"
+ 'libresonic.service')
+
+package() {
+ war_name="libresonic-v${pkgver}.war"
+ install -dm 755 "${pkgdir}"/{opt/libresonic,etc/conf.d,usr/lib/systemd/system,/var/lib/libresonic/playlists}
+ cp -dr --no-preserve='ownership' * "${pkgdir}"/opt/libresonic/
+ cp --no-preserve='ownership' "${war_name}" "${pkgdir}"/opt/libresonic/subsonic.war
+ find "${pkgdir}"/opt/libresonic/ -type d -exec chmod 755 {} \;
+ find "${pkgdir}"/opt/libresonic/ -type f -exec chmod 664 {} \;
+ sed -i 's/SUBSONIC_HOME=\/var\/subsonic/SUBSONIC_HOME=\/opt\/libresonic/' "${pkgdir}"/opt/libresonic/subsonic.sh
+ sed -i 's/\/var/\/var\/lib\/libresonic/' "${pkgdir}"/opt/libresonic/subsonic.sh
+ touch "${pkgdir}"/opt/libresonic/subsonic.properties
+ ln -fs /opt/libresonic/subsonic.sh "${pkgdir}"/etc/conf.d/libresonic.conf
+ install -m 644 libresonic.service "${pkgdir}"/usr/lib/systemd/system/
+ rm -f "${pkgdir}"/opt/libresonic/{subsonic.bat,subsonic-"${_subver}"-standalone.tar.gz,"${war_name}",libresonic.service}
+}
+
+sha256sums=('df14d05e3b52f07486782e3e16922688968c95b0c8cc4987941bc3b9cea7872b'
+ '52413b38ffb4e035f2d450faadc1cc52d5bd7bc65e9cd9223696a728d3ac9fba'
+ '8d2ceae3cd0e14aeef9efd3281813dd4c0db411b950cbea6c4caf48a793dedce')
+
+# vim: ts=2 sw=2 et:
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
+}
diff --git a/libresonic.service b/libresonic.service
new file mode 100644
index 000000000000..c2d274ed3544
--- /dev/null
+++ b/libresonic.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Libresonic
+After=network.target
+
+[Service]
+User=subsonic
+ExecStart=/opt/libresonic/subsonic.sh
+ExecStop=/bin/kill -15 $MAINPID
+Type=forking
+
+[Install]
+WantedBy=multi-user.target