diff options
author | Superpiffer | 2016-10-12 18:33:19 +0200 |
---|---|---|
committer | Superpiffer | 2016-10-12 18:33:19 +0200 |
commit | a739d7da7c9f3a40252ec9ff80c84778c7caf1f4 (patch) | |
tree | 7966638bc83fb190094cb257f3331cea4db71e28 | |
download | aur-a739d7da7c9f3a40252ec9ff80c84778c7caf1f4.tar.gz |
Initial release v6.0.1
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 40 | ||||
-rw-r--r-- | libresonic.install | 72 | ||||
-rw-r--r-- | libresonic.service | 12 |
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 |