diff options
4 files changed, 144 insertions, 0 deletions
diff --git a/abs/extra-testing/community/squeezeboxserver/PKGBUILD b/abs/extra-testing/community/squeezeboxserver/PKGBUILD new file mode 100644 index 0000000..45db11f --- /dev/null +++ b/abs/extra-testing/community/squeezeboxserver/PKGBUILD @@ -0,0 +1,34 @@ +# Contributor: Anton Prins <uar at prinsonline dot demon dot nl> + +pkgname=squeezeboxserver +pkgver=7.4.1 +pkgrel=1 +pkgdesc="Powerful streaming audio server from Slim Devices" +depends=( +# unknown to me, default arch install + openssh handles it + ) + +source=(http://downloads.slimdevices.com/SqueezeboxServer_v${pkgver}/squeezeboxserver-${pkgver}.tgz + $pkgname.rc + $pkgname.conf.d + ) + +url="http://www.slimdevices.com/pi_features.html" +license=('GPL') +arch=('i686' 'x86_64') +install=squeezeboxserver.install + +#not sure how to handle the build number -28947? +build() { +cd $startdir/src/squeezeboxserver-${pkgver}-28947 || return 1 + +mkdir -p $startdir/pkg/home/squeezeboxserver || return 1 +cp -a * $startdir/pkg/home/squeezeboxserver || return 1 +install -D -m755 ../squeezeboxserver.rc $startdir/pkg/etc/rc.d/squeezeboxserver || return 1 +install -D -m644 ../squeezeboxserver.conf.d $startdir/pkg/etc/conf.d/squeezeboxserver || return 1 +mkdir $startdir/pkg/home/squeezeboxserver/prefs +} + +md5sums=('fa65636e7df75ae7af884a2efa184639' + '5e57982c257797badbf72c2ae04994f7' + 'aa65896541958e119e63ee7c96be39af') diff --git a/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.conf.d b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.conf.d new file mode 100644 index 0000000..d14a2e9 --- /dev/null +++ b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.conf.d @@ -0,0 +1,7 @@ +# Configuration file for SqueezeCenter on Arch Linux. +# Save this as /etc/conf.d/squeezeboxserver + +# Enter space-delimited options on the following line. +# e.g. SQUEEZEBOXSERVER_OPTS="--diag --d_scan --d_command" +# See "/home/squeezeboxserver/slimserver.pl --help" for a full list of possible options. +SQUEEZEBOXSERVER_OPTS="" diff --git a/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.install b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.install new file mode 100644 index 0000000..058de02 --- /dev/null +++ b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.install @@ -0,0 +1,56 @@ +post_install() { +echo -n "adding squeezeboxserver user... " +useradd -c "SqueezeBoxServer" -g users -s /bin/false squeezeboxserver && echo "done." +passwd -l squeezeboxserver &>/dev/null + +chown -R squeezeboxserver:users /home/squeezeboxserver + +install -o squeezeboxserver -d /var/cache/squeezeboxserver +touch /var/log/squeezeboxserver.log +chown squeezeboxserver:users /var/log/squeezeboxserver.log + +cat << 'EOM' + +==> SqueezeBoxServer uses MySQL instead of sqlite. If you have MySQL up and running +==> you can configure SqueezeBoxServer to use that server as described here: +==> http://wiki.slimdevices.com/index.php/ExistingMySQLInstance + +==> PLEASE NOTE: SqueezeBoxServer should always be run as the user 'squeezeboxserver'. +==> This is easily done by adding squeezeboxserver to the DAEMONS array in rc.conf, +==> after network and mysql. + +==> Additional run-time options can be added to /etc/conf.d/squeezeboxserver. +==> Please refer to "/home/squeezeboxserver/slimserver.pl --help" for full details. + +EOM +} + +post_upgrade() { +chown -R squeezeboxserver:users /home/squeezeboxserver + +cat << 'EOM' + +==> SqueezeBoxServer uses MySQL instead of sqlite. If you have MySQL up and running +==> you can configure SqueezeBoxServer to use that server as described here: +==> http://wiki.slimdevices.com/index.php/ExistingMySQLInstance + +EOM +} + +pre_remove() { +# pre_remove gets called whenever post_remove is defined. +true +} + +post_remove() { +# post_remove doesn't start at a newline like the other post_* functions, +# so we'll have to make one for ourselves. +echo -n -e "\nremoving squeezeboxserver user... " +userdel squeezeboxserver && echo "done." + +rm -r /var/cache/squeezeboxserver /var/log/squeezeboxserver.log +} + +op=$1 +shift +$op $* diff --git a/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.rc b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.rc new file mode 100644 index 0000000..d33db16 --- /dev/null +++ b/abs/extra-testing/community/squeezeboxserver/squeezeboxserver.rc @@ -0,0 +1,47 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/squeezeboxserver ] && . /etc/conf.d/squeezeboxserver + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +squeezehome=/home/squeezeboxserver +pidfile=/var/run/squeezeboxserver.pid +logfile=/var/log/squeezeboxserver.log +prefsdir=/home/squeezeboxserver/prefs +cachedir=/var/cache/squeezeboxserver + + +case "$1" in + start) + stat_busy "Starting SqueezeBoxServer" + cd $squeezehome + ./slimserver.pl --daemon --user squeezeboxserver --prefsdir $prefsdir \ + --cachedir $cachedir --pidfile $pidfile --logfile $logfile $SQUEEZEBOXSERVER_OPTS + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon squeezeboxserver + stat_done + fi + ;; + stop) + stat_busy "Stopping SqueezeBoxServer" + kill `cat $pidfile` &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon squeezeboxserver + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac |