eg-blog

Feed Rss

Subsonic 4.7-030 package

03.03.2013, Allgemein, Download / Release Notes, Subsonic on Synology DS, by .

Edit: As you can see in the comments many of you are still having problems on this use the 029 version from my dropbox folder!
https://www.dropbox.com/sh/vd06e2fn2157gh0/kE6FO5J1cD

 

Hey I am back online and made a new package.

I’m sorry that it won’t please all of you (e.g. the flac transcoding still doesn’t work).

But there are a few fixes in it. All download problems should have been fixed. The Process ID check needed for start and stop procedure has been updated again. All additional packages are now up to date…

The Hibernation should work now (at least with the MashupMod version). I have done a lot of testing with this one, it doesn’t work right from the start but after a few hours when everything is scanned and sorted out the HDDs should stop, and the DiskStation goes into hibernation mode. After that the hibernation behaves like configured in DSM. The DS seems to wake up from time to time for no reason, but I encountered that before even with Subsonic stopped or uninstalled.

Because I just own an ARM DiskStation I can’t do any bug fixing on other DiskStations so please let me know if everything woks as described above or not.

Now have fun with it ;)

PS: I have to work away for the next Weeks so I’m not able to fix anything until I’m home again, but I will try to help you as much as I can ;)

Scripts:

installer.sh

#!/bin/sh

#--------Subsonic installer script
#--------package maintained at eg-blog.de

DOWNLOAD_URL_STANDARD="http://sourceforge.net/projects/subsonic/files/subsonic/4.7/subsonic-4.7-standalone.tar.gz/download"
DOWNLOAD_URL_MASHUPMOD="https://www.dropbox.com/s/71lxyirndqv0dgr/MashupMod-4.7_B3158SE.zip"
DOWNLOAD_URL_SUBTUNES="http://subtunes.googlecode.com/files/subtunes-0.9.4b.zip"
DOWNLOAD_URL_MINISUB="https://github.com/tsquillario/MiniSub/tarball/master"
SYNO_CPU_ARCH="`uname -m`"
NATIVE_BINS_URL="http://eg-blog.de/download/serviio-native-${SYNO_CPU_ARCH}.tgz"
NATIVE_BINS_FILE="`echo ${NATIVE_BINS_URL} | sed -r "s%^.*/(.*)%\1%"`"

SHA256_MINISUB="ce4acaa38dc9f3f893f04e49db9f98cd1e4d01a9451539a283156cd0c1158079"
SHA256_SUBTUNES="9b9be0d3be3dcb0154032d282e144f1a1ba59530aa437e0e5dd4eb01bc6b2c5d"
SHA256_MASHUPMOD="47a274b30d1387a069c13b72789bbfdca57e182d6efc7e5c64f14d216518746b"
SHA256_STANDARD="cb798a007a862b2e66ab1d7d345753b157ae287e5dccb094976d02305926bad0"
SHA256_armv5tel="9eeb23f4c5746ba495a014b6e30326c7762de0fd06f728e1092b40d59b7d019b"
SHA256_ppc="26ee8e796d752ee6c26fdd64726fb7aa4240d381efe2a26a464ca21a4949e11b"
SHA256_x86_64="62301d3461166b52724b55d32fb493f9b564aded9eba4fdff9b98bb3c83fdca1"

source /etc/profile
TEMP_FOLDER="`find / -maxdepth 2 -name '@tmp' | head -n 1`"
PUBLIC_FOLDER="`cat /usr/syno/etc/smb.conf | sed -r '/\/public$/!d;s/^.*path=(\/volume[0-9]{1,4}\/public).*$/\1/'`"

PID=""
subsonic_get_pid ()
{
	PID=`ps | grep java | grep subsonic | awk '{print $1}'`
	echo "$(date +%d.%m.%y_%H:%M:%S): looking for PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
}

preinst ()
{
	source /etc/profile

	########################################
	#check if Java is installed

	if [ -z ${JAVA_HOME} ]; then
		echo "Java is not installed or not properly configured. JAVA_HOME is not defined. " > $SYNOPKG_TEMP_LOGFILE
			echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Download and install the Java Synology package from http://wp.me/pVshC-z5" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	fi

	if [ ! -f ${JAVA_HOME}/bin/java ]; then
		echo "Java is not installed or not properly configured. The Java binary could not be located. " > $SYNOPKG_TEMP_LOGFILE
			echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Download and install the Java Synology package from http://wp.me/pVshC-z5" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): found Java in ${JAVA_HOME}" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	#########################################
	#check if Subsonic folder is in public folder wehn restore is selected
	if [ ! -z ${install_restore} ]; then

		if [ ! -d $PUBLIC_FOLDER/Subsonic ]; then
			echo "Can't find a folder named 'Subsonic' in your public folder. " > $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Can't find a folder named 'Subsonic' in your public folder. " >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "Please check your public folder and make sure there is a folder called Subsonic (with Capital S) in it. Or select 'No' if you don't want to restore anything and just install Subsonic normally" >> $SYNOPKG_TEMP_LOGFILE
			echo "$(date +%d.%m.%y_%H:%M:%S): Please check your public folder and make sure there is a folder called Subsonic (with Capital S) in it. Or select 'No' if you don't want to restore anything and just install Subsonic normally" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			exit 1
		fi
	fi

	#########################################
	#is the User Home service enabled?
	UH_SERVICE=maybe
	synouser --add userhometest Testing123 "User Home test user" 0 "" ""
	UHT_HOMEDIR=`cat /etc/passwd | sed -r '/User Home test user/!d;s/^.*:User Home test user:(.*):.*$/\1/'`
	if echo $UHT_HOMEDIR | grep '/var/services/homes/' > /dev/null; then
		if [ ! -d $UHT_HOMEDIR ]; then
			UH_SERVICE=false
		fi
	fi
	synouser --del userhometest
	if [ ${UH_SERVICE} == "false" ]; then
		echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM." >> $SYNOPKG_TEMP_LOGFILE
		echo "The User Home service is not enabled. Please enable this feature in the User control panel in DSM." >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): User home is enabled" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	exit 0
}

postinst ()
{
	#create subsonic daemon user
	synouser --add subsonic `${SYNOPKG_PKGDEST}/passgen 1 20` "Subsonic daemon user" 0 "" ""
	echo "$(date +%d.%m.%y_%H:%M:%S): create subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	#determine the subsonic user homedir and save that variable in the user's profile
	#this is needed because librtmp needs to write a file called ~/.swfinfo
	#and new users seem to inherit a HOME value of /root which they have no permissions for
	SUBSONIC_HOMEDIR=`cat /etc/passwd | sed -r '/Subsonic daemon user/!d;s/^.*:Subsonic daemon user:(.*):.*$/\1/'`
	su - subsonic -s /bin/sh -c "echo export HOME=${SUBSONIC_HOMEDIR} >> .profile"

	#########################################
	##download stuff
	#select the right mods / version to download/install
	if [ ! -z ${mashupmod_install} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): download and install MashupMod" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		#download Mashupmod
		wget ${DOWNLOAD_URL_MASHUPMOD} --no-check-certificate --output-document=${SYNOPKG_PKGDEST}/MashupMod.zip
		if [ -f ${SYNOPKG_PKGDEST}/MashupMod.zip ]; then
			echo "$(date +%d.%m.%y_%H:%M:%S): downloaded MashupMod from $DOWNLOAD_URL_MASHUPMOD" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			#CheckSum
			if [ `/opt/bin/sha256sum ${SYNOPKG_PKGDEST}/MashupMod.zip  | awk '{ print $1 }` = $SHA256_MASHUPMOD ]; then
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum OK" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			else
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum failed for MashupMod.zip" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
				echo "SHA256 checksum failed for MashupMod.zip. The file was probaply modified or updated" >> $SYNOPKG_TEMP_LOGFILE
				exit 1
			fi
		else
			if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/Mashupmod.zip ]; then
				cp ${PUBLIC_FOLDER}/Mashupmod.zip ${SYNOPKG_PKGDEST}
				echo "$(date +%d.%m.%y_%H:%M:%S): copied Mashupmod install files from public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			else
				echo "There was a problem downloading  Mashupmod from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
				echo "which was ${DOWNLOAD_URL_MASHUPMOD}" >> $SYNOPKG_TEMP_LOGFILE
				echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. and name it Mashupmod.zip" >> $SYNOPKG_TEMP_LOGFILE
				exit 1
			fi
		fi
		unzip ${SYNOPKG_PKGDEST}/MashupMod.zip -d ${SYNOPKG_PKGDEST}
		echo "$(date +%d.%m.%y_%H:%M:%S): extracted MashupMod" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		rm ${SYNOPKG_PKGDEST}/MashupMod.zip
		echo "$(date +%d.%m.%y_%H:%M:%S): deleted downloaded files" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	else
		#download Subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): download and install Subsonic standard" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		wget ${DOWNLOAD_URL_STANDARD} --output-document=${SYNOPKG_PKGDEST}/Subsonic.tgz
		if [ -f ${SYNOPKG_PKGDEST}/Subsonic.tgz ]; then
			echo "$(date +%d.%m.%y_%H:%M:%S): downloaded Subsonic install file from $DOWNLOAD_URL_STANDARD" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			#Checksum
			if [ `/opt/bin/sha256sum ${SYNOPKG_PKGDEST}/Subsonic.tgz  | awk '{ print $1 }` = $SHA256_STANDARD ]; then
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum OK" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			else
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum failed for Subsonic.tgz" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
				echo "SHA256 checksum failed for Subsonic.tgz. The file was probaply modified or updated" >> $SYNOPKG_TEMP_LOGFILE
				exit 1
			fi
		else
			if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/Subsonic.tar.gz ]; then
				cp ${PUBLIC_FOLDER}/Subsonic.tgz ${SYNOPKG_PKGDEST}
				echo "$(date +%d.%m.%y_%H:%M:%S): copied Subsonic install files from public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			else
				echo "There was a problem downloading  Subsonic from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
				echo "which was ${DOWNLOAD_URL_STANDARD}" >> $SYNOPKG_TEMP_LOGFILE
				echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. and name it Subsonic.tgz" >> $SYNOPKG_TEMP_LOGFILE
				exit 1
			fi

		fi
		tar xzf ${SYNOPKG_PKGDEST}/Subsonic.tgz -C ${SYNOPKG_PKGDEST}
		echo "$(date +%d.%m.%y_%H:%M:%S): extracted Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		rm ${SYNOPKG_PKGDEST}/Subsonic.tgz
		echo "$(date +%d.%m.%y_%H:%M:%S): deleted downloaded files" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	fi
	#delete the original subsonic.sh and use the edited file for Synology
	if [ -f ${SYNOPKG_PKGDEST}/subsonic.sh ]; then
		rm ${SYNOPKG_PKGDEST}/subsonic.sh
		echo "$(date +%d.%m.%y_%H:%M:%S): deleted original subsonic.sh file" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	if [ -f ${SYNOPKG_PKGDEST}/subsonic_synology.sh ]; then
		mv ${SYNOPKG_PKGDEST}/subsonic_synology.sh ${SYNOPKG_PKGDEST}/subsonic.sh
		echo "$(date +%d.%m.%y_%H:%M:%S): now using edited subsonic.sh file for Synology" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	#download and install ffmpeg binarys
	wget ${NATIVE_BINS_URL} --output-document=${SYNOPKG_PKGDEST}/ffmpeg.tgz
	if [ -f ${SYNOPKG_PKGDEST}/ffmpeg.tgz ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): downloaded ffmpeg files from $NATIVE_BINS_URL" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		#Checksum
		if [ `/opt/bin/sha256sum ${SYNOPKG_PKGDEST}/ffmpeg.tgz  | awk '{ print $1 }` = $(eval "echo \$SHA256_$SYNO_CPU_ARCH") ]; then
			echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum OK" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		else
			echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum failed for ffmpeg.tgz" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "SHA256 checksum failed for ffmpeg.tgz. The file was probaply modified or updated" >> $SYNOPKG_TEMP_LOGFILE
			exit 1
		fi
	else
		if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/ffmpeg.tgz ]; then
			cp ${PUBLIC_FOLDER}/ffmpeg.tgz ${SYNOPKG_PKGDEST}
			echo "$(date +%d.%m.%y_%H:%M:%S): copied ffmpeg files from public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		else
			echo "There was a problem downloading  ffmpeg from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
			echo "which was ${NATIVE_BINS_URL}" >> $SYNOPKG_TEMP_LOGFILE
			echo "Alternatively, you may download this file manually and place it in the 'public' shared folder and neme it ffmpeg.tgz" >> $SYNOPKG_TEMP_LOGFILE
			exit 1
		fi
	fi
	if [ ! -d  ${SYNOPKG_PKGDEST}/transcode ]; then
		mkdir ${SYNOPKG_PKGDEST}/transcode
		echo "$(date +%d.%m.%y_%H:%M:%S): created transcode directory" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi
	if [ ! -d  ${SYNOPKG_PKGDEST}/lib ]; then
		mkdir ${SYNOPKG_PKGDEST}/lib
		echo "$(date +%d.%m.%y_%H:%M:%S): created lib directory" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	tar xzvf ${SYNOPKG_PKGDEST}/ffmpeg.tgz -C ${SYNOPKG_PKGDEST}/transcode
	cp -r ${SYNOPKG_PKGDEST}/transcode/lib* ${SYNOPKG_PKGDEST}/lib/
	rm -r ${SYNOPKG_PKGDEST}/transcode/lib*
	rm ${SYNOPKG_PKGDEST}/ffmpeg.tgz
	echo "$(date +%d.%m.%y_%H:%M:%S): copied ffmpeg file and libraries" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	#########################################
	##start Subsonic
	#fix file permissions
	chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh
	chmod 775 ${SYNOPKG_PKGDEST}/subsonic-booter-jar-with-dependencies.jar
	chmod 775 ${SYNOPKG_PKGDEST}/subsonic.war
	chown -R subsonic:users ${SYNOPKG_PKGDEST}
	echo "$(date +%d.%m.%y_%H:%M:%S): start Subsonic for first initialisation" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	#set up symlink for the DSM GUI
	ln -s ${SYNOPKG_PKGDEST}/ /usr/syno/synoman/webman/3rdparty/Subsonic

	#create custom temp folder so temp files can be bigger
	if [ ! -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
		mkdir ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
		chown -R subsonic ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
	fi
	#create symlink to the created directory
	if [ ! -L /tmp/subsonic ]; then
		ln -s ${SYNOPKG_PKGDEST}/../../@tmp/subsonic /tmp/
	fi

	#start subsonic as subsonic user
	su - subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh

	sleep 5

	subsonic_get_pid
	if [ ! -z $PID ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic successfully. PID is: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	else
		echo "Error: Can not start Subsonic during install" >> $SYNOPKG_TEMP_LOGFILE
		echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can not start Subsonic during install" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	fi

	#give it some time to start up
	sleep 90

	#stop subsonic

	kill $PID
	sleep 5
	echo "$(date +%d.%m.%y_%H:%M:%S): Stopped Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	####################################
	##download and install additional features
	echo "$(date +%d.%m.%y_%H:%M:%S): Download and install additional Features" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	#Subtunes
	if [ ! -z ${subtunes_install} ]; then
		wget ${DOWNLOAD_URL_SUBTUNES}  --output-document=${SYNOPKG_PKGDEST}/Subtunes.zip
		if [ -f ${SYNOPKG_PKGDEST}/Subtunes.zip ]; then
			echo "$(date +%d.%m.%y_%H:%M:%S): Downloaded Subtunes" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			#Checksum
			if [ `/opt/bin/sha256sum ${SYNOPKG_PKGDEST}/Subtunes.zip  | awk '{ print $1 }` = $SHA256_SUBTUNES ]; then
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum OK" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			else
				echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum failed for Subtunes.zip" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
				echo "SHA256 checksum failed for Subtunes.zip. The file was probaply modified or updated" >> $SYNOPKG_TEMP_LOGFILE
				exit 1
			fi
			mkdir ${SYNOPKG_PKGDEST}/Subtunes
			unzip ${SYNOPKG_PKGDEST}/Subtunes.zip -d ${SYNOPKG_PKGDEST}/Subtunes/
			echo "$(date +%d.%m.%y_%H:%M:%S): extracted Subtunes" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		else
			echo "$(date +%d.%m.%y_%H:%M:%S): Error: Subtunes could not be downloaded" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "$(date +%d.%m.%y_%H:%M:%S): Please check the internet connection of your Diskstation" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "Error: Subtunes could not be downloaded" > $SYNOPKG_TEMP_LOGFILE
			echo "Please check the internet connection of your Diskstation" >> $SYNOPKG_TEMP_LOGFILE
			exit 1
		fi

		cp -r ${SYNOPKG_PKGDEST}/Subtunes /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/
		rm -r ${SYNOPKG_PKGDEST}/Subtunes
		rm ${SYNOPKG_PKGDEST}/Subtunes.zip

		echo "$(date +%d.%m.%y_%H:%M:%S): copied Subtunes and deleted downloaded files" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

		#Subtuneslink
		if [ -d ${SYNOPKG_PKGDEST}/Subtuneslink ]; then
			cp ${SYNOPKG_PKGDEST}/Subtuneslink/* /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/Subtunes/
		fi

	fi
	rm -r ${SYNOPKG_PKGDEST}/Subtuneslink

	#MiniSub Update
	if [ ! -z ${minisub_install} ]; then
		wget ${DOWNLOAD_URL_MINISUB} --no-check-certificate --output-document=${SYNOPKG_PKGDEST}/MiniSub.tgz
		if [ -f ${SYNOPKG_PKGDEST}/MiniSub.tgz ]; then
			echo "$(date +%d.%m.%y_%H:%M:%S): Downloaded MiniSub" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
						#Checksum
			#if [ `/opt/bin/sha256sum ${SYNOPKG_PKGDEST}/MiniSub.tgz  | awk '{ print $1 }` = $SHA256_MINISUB ]; then
			#	echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum OK" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			#else
			#	echo "$(date +%d.%m.%y_%H:%M:%S): SHA256 checksum failed for MiniSub.tgz" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			#	echo "SHA256 checksum failed for MiniSub.tgz. The file was probaply modified or updated" >> $SYNOPKG_TEMP_LOGFILE
			#fi
			mkdir ${SYNOPKG_PKGDEST}/MiniSub
			tar xzf ${SYNOPKG_PKGDEST}/MiniSub.tgz -C ${SYNOPKG_PKGDEST}/MiniSub
			echo "$(date +%d.%m.%y_%H:%M:%S): extracted MiniSub" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		else
			echo "$(date +%d.%m.%y_%H:%M:%S): Error: MiniSub could not be downloaded" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "$(date +%d.%m.%y_%H:%M:%S): Please check the internet connection of your Diskstation" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "Error: MiniSub could not be downloaded" > $SYNOPKG_TEMP_LOGFILE
			echo "Please check the internet connection of your Diskstation" >> $SYNOPKG_TEMP_LOGFILE
			exit 1
		fi
		if [ -d /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/ ]; then
			rm -r /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/*
			cp -r ${SYNOPKG_PKGDEST}/MiniSub/*/* /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/
		else
			echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can't find the MiniSub directory -> MiniSub will not be updated " >> ${SYNOPKG_PKGDEST}/subsonic_package.log
			echo "Error: Can't find the MiniSub directory -> MiniSub will not be updated " >> ${SYNOPKG_PKGDEST}/subsonic_package.log >> $SYNOPKG_TEMP_LOGFILE
			exit 1
		fi
		rm -r ${SYNOPKG_PKGDEST}/MiniSub
		rm ${SYNOPKG_PKGDEST}/MiniSub.tgz
		echo "$(date +%d.%m.%y_%H:%M:%S): copied MiniSub and deleted downloaded files" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	fi

	#MiniSub Link
	echo "$(date +%d.%m.%y_%H:%M:%S): create MiniSub DSM link" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	if [ -d ${SYNOPKG_PKGDEST}/MiniSublink/ ]; then
		cp ${SYNOPKG_PKGDEST}/MiniSublink/* /usr/syno/synoman/webman/3rdparty/Subsonic/jetty/*/webapp/mini/
	fi
	rm -r ${SYNOPKG_PKGDEST}/MiniSublink
	####################################

	#delete symlink
	rm /usr/syno/synoman/webman/3rdparty/Subsonic
	#delete temp files
	if [ -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
	fi

	#check Podcast folder for right permissions
	if [ -d /volume1/music/Podcast ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): reset permissions of Podcast folder (subsonic user has new uid)" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		chown -R admin:users /volume1/music/Podcast
		chmod -R 775 /volume1/music/Podcast
	fi

	#########################################
	#install user backup from public folder

	if [ ! -z ${install_restore} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): restore previously made backup fron public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		#copy files
		cp -r ${PUBLIC_FOLDER}/Subsonic/* ${SYNOPKG_PKGDEST}/

		#new files might not be owned by subsonic user
		chown -R subsonic ${SYNOPKG_PKGDEST}/

		#make the Subsonic start script executable
		chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh
	fi
	echo "$(date +%d.%m.%y_%H:%M:%S): ----installation complete----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	exit 0
}

preuninst ()
{
	##############################################
	stop Subsonic if it is running

	subsonic_get_pid
	if [ -z $PID ]; then
		sleep 1
	else
		echo "$(date +%d.%m.%y_%H:%M:%S): stopping Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		kill $PID
		sleep 5
		if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
			rm /usr/syno/synoman/webman/3rdparty/Subsonic
		fi

		if [ -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
			rm -r ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
		fi
	fi

	##############################################
	# create a backup in public folder in public folder
	if [ ! -z ${uninstall_backup} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): Create a backup of Subsonic in public folder" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

		if [ ! -d ${PUBLIC_FOLDER}/Subsonic ]; then
			mkdir ${PUBLIC_FOLDER}/Subsonic
		fi

		cp ${SYNOPKG_PKGDEST}/subsonic.properties *.index ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/db ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/lucene ${PUBLIC_FOLDER}/Subsonic
		cp -r ${SYNOPKG_PKGDEST}/thumbs ${PUBLIC_FOLDER}/Subsonic
	fi

	exit 0
}

postuninst ()
{
	synouser --del subsonic

	#remove DSM icon symlink
	if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic
	fi

	#remove temp symlink
	rm /tmp/subsonic

	exit 0
}

preupgrade ()
{
	###########################
	#stop Subsonic if it is runing

	subsonic_get_pid
	if [ ! -z $PID ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): stopping subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		kill $PID
		sleep 5
	fi

	if [ -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
	fi

	###########################
	#backup subsonic.properties and db Folder

	if [ -z ${install_restore} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): create backup of Subsonic db in temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		if [ ! -d ${SYNOPKG_PKGDEST}/../subsonic_update_backup ]; then
			mkdir ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp ${SYNOPKG_PKGDEST}/subsonic.properties ${SYNOPKG_PKGDEST}*.index ${SYNOPKG_PKGDEST}/../subsonic_update_backup/
			cp -r ${SYNOPKG_PKGDEST}/db ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp -r ${SYNOPKG_PKGDEST}/lucene ${SYNOPKG_PKGDEST}/../subsonic_update_backup
			cp -r ${SYNOPKG_PKGDEST}/thumbs ${SYNOPKG_PKGDEST}/../subsonic_update_backup
		fi
	fi

	exit 0
}

postupgrade ()
{

	###############################
	#restore subsonic db index and settings
	if [ ! -z ${install_update} ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): restore from temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		cp -r ${SYNOPKG_PKGDEST}/../subsonic_update_backup/* ${SYNOPKG_PKGDEST}/
	fi

	#remove backup folder
	#remove the next lines to keep a backup in the @appstore folder
	if [ -d ${SYNOPKG_PKGDEST}/../subsonic_update_backup ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): remove temporary backup dir" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		rm -r ${SYNOPKG_PKGDEST}/../subsonic_update_backup
	fi

	#subsonic may not own all new files
	chown -R subsonic ${SYNOPKG_PKGDEST}/

	#make the Subsonic start script executable
	chmod +x ${SYNOPKG_PKGDEST}/subsonic.sh

	echo "$(date +%d.%m.%y_%H:%M:%S): ----update complete----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

	exit 0
}

start-stop-status

#!/bin/sh

#--------Subsonic start-stop-status script
#--------package maintained at eg-blog.de

##############################################
#function to get the process id of Subsonic
PID=""
subsonic_get_pid ()
{
	PID=`ps | grep java | grep subsonic | awk '{print $1}'`
	#echo "$(date +%d.%m.%y_%H:%M:%S): looking for PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
}
get_time()
{
	TIME=$(date +%d.%m.%y_%H:%M:%S)
}

case "$1" in
   start)
	  ###---copied from patters start-stop-status.sh of his crashplan proe package---
	  DAEMON_ID="${SYNOPKG_PKGNAME} daemon user"
	  DAEMON_HOME="`cat /etc/passwd | grep "${DAEMON_ID}" | cut -f6 -d':'`"

	  #set the current timezone for Java so that log timestamps are accurate
	  #we need to use the modern timezone names so that Java can figure out DST
	  SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
	  SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
	  grep "^export TZ" ${DAEMON_HOME}/.profile > /dev/null \
	  && sed -i "s%^export TZ=.*$%export TZ='${SYNO_TZ}'%" ${DAEMON_HOME}/.profile \
	  ###---end of copy---------------------------------------------------------------

	  #set up symlinks for the DSM GUI icon
	  #Subsonic main
	  if [ -d /usr/syno/synoman/webman/3rdparty ]; then
		ln -s ${SYNOPKG_PKGDEST}/ /usr/syno/synoman/webman/3rdparty/Subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Subsonic DSM link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log

		#MiniSub
		if [ -d ${SYNOPKG_PKGDEST}/jetty/*/webapp/mini ]; then
			ln -s ${SYNOPKG_PKGDEST}/jetty/*/webapp/mini /usr/syno/synoman/webman/3rdparty/Subsonic_MiniSub
			echo "$(date +%d.%m.%y_%H:%M:%S): MiniSub DSM link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		fi
		#Subtunes
		if [ -d ${SYNOPKG_PKGDEST}/jetty/*/webapp/Subtunes ]; then
			ln -s ${SYNOPKG_PKGDEST}/jetty/*/webapp/Subtunes /usr/syno/synoman/webman/3rdparty/Subsonic_Subtunes
			echo "$(date +%d.%m.%y_%H:%M:%S): Subtunes DSM link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		fi
	  else
		echo "$(date +%d.%m.%y_%H:%M:%S) : Error: Directory for Subsonic DSM link was not found" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
      #create custom temp folder so temp files can be bigger
	  if [ ! -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
		mkdir ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
		chown -R subsonic ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp directory created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  #create symlink to the created directory
	  if [ ! -L /tmp/subsonic ]; then
		ln -s ${SYNOPKG_PKGDEST}/../../@tmp/subsonic /tmp/
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp directory link created" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  # starting subsonic as subsonic daemon user
	  echo "$(date +%d.%m.%y_%H:%M:%S): starting Subsonic as subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
      su - subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh
      sleep 10
	  echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic as subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  subsonic_get_pid
	  if [ ! -z $PID ]; then
		echo "$(date +%d.%m.%y_%H:%M:%S): started Subsonic successfully. PID is: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		echo "$(date +%d.%m.%y_%H:%M:%S): ----subsonic is running----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  else
		echo "$(date +%d.%m.%y_%H:%M:%S): Error: Can not start Subsonic" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
		exit 1
	  fi

	  exit 0
   ;;
   stop)
      #stop subsonic
	  subsonic_get_pid
      kill $PID
	  echo "$(date +%d.%m.%y_%H:%M:%S) : killed Subsonic PID: $PID" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
      sleep 2
	  #delete Symlinks and DSM icon
	  if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Subsonic DSM link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic_MiniSub ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic_MiniSub
		echo "$(date +%d.%m.%y_%H:%M:%S): MiniSub DSM link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -L /usr/syno/synoman/webman/3rdparty/Subsonic_Subtunes ]; then
		rm /usr/syno/synoman/webman/3rdparty/Subsonic_Subtunes
		echo "$(date +%d.%m.%y_%H:%M:%S): Subtunes DSM link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -d ${SYNOPKG_PKGDEST}/../../@tmp/subsonic ]; then
		rm -r ${SYNOPKG_PKGDEST}/../../@tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp files deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  if [ -L /tmp/subsonic ]; then
		rm /tmp/subsonic
		echo "$(date +%d.%m.%y_%H:%M:%S): Temp link deleted" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  fi
	  echo "$(date +%d.%m.%y_%H:%M:%S): ----subsonic is stopped----" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
	  exit 0
   ;;
   status)
      subsonic_get_pid
      if [ -z  $PID ]; then
	  #Subsonic is not running
		exit 1
	  else
	  #subsonic is running
		exit 0
      fi
   ;;
   log)
	  echo "${SYNOPKG_PKGDEST}/subsonic_package.log"
	  exit 0
   ;;
esac

56 Kommentare zu Subsonic 4.7-030 package

  1. First of all; thanks for another update. Much appreciated. But, where can I find this version? Thank you.

    Antworten
  2. Never mind, I already found it. But, when installing this package I get – again, the following error:

    “Failed to install the package. SHA256 checksum failed for Subsonic.tgz. The file was probably modified or updated.”

    The same happened to me when I tried to install the beta version of this package earlier. Any comments?
    Thanks.

    Antworten
    • I double checked the download path and checksum. Installation also works fine here.
      Try to download the subsonic standalone file manually from the subsonic server, rename it and place it into your public folder. After that cut the internet connection to your DS and start the installation process again.
      It seems that your DS doesn’t download the file completely. If it wouldn’t download anything at all it would prompt another error.

      Antworten
  3. Thank you, Eric. I will indeed try this. Where can I find the standalone version? On the official Subsonic website? Thanks.

    Antworten
  4. OK. I did what you suggested, but then there’s another error message when trying to install the file: invalid file format. Probably this is due to the fact that it has been renamed from tar.gz to spk?

    Antworten
  5. 2013-03-04 at 11:40 Noe Gonzalez

    Thank you very much for your excellent work, Eric, but with this new version and the DSM4.2 final version I have the Ben’s same problem…

    “Failed to install the package. SHA256 checksum failed for Subsonic.tgz. The file was probably modified or updated.”

    With the Mashupmod I get the same problem:

    “Failed to install the package. SHA256 checksum failed for Mashupmod.tgz. The file was probably modified or updated.”

    Thank you…

    Antworten
  6. Yup. Version 4.7-029 works fine. I’m getting problems with the latest version as well as the beta versions.

    Antworten
  7. 2013-03-06 at 16:16 aktarus legran

    Hello,
    I tried to upgrade sunsonic in my 212j with DSM 4.2 but without success. I got the same checksum error as above. I uninstalled my version and tried to make a fresh install witout success too. I tried to manually download and install.. no success. Either version 30 or 29 unable to install. And, this morning, no more subsonic application in the list for installation… Many package source are unavailable now.
    So for now, no subsonic at all in my ds212j :( :(

    Anything I can do ??

    MERCI :)

    Antworten
  8. 2013-03-06 at 21:47 Marcel-Gabriel

    I have the same problem with SHA mismatch, I had it also on DSM4.1 after I upgraded Subsonic to 4.7.030 so the problem is within new version.

    Please let me know how can I install an older version.

    Antworten
  9. 2013-03-07 at 11:23 Tobias

    The problem is, in my case, that their are missing tools on the diskstation like sha256sum and wget-ssl, which I had to install manually. The installer script works fine then. But the start-stop script always returns an error, regardless if subsonic was started successfully or not. MashupMod, SubTunes and Minisub don’t work as well.

    The missing ipkg packages were “wget-ssl” and “coreutils” (contains sha256sum).

    Antworten
  10. Thank you, Tobias. I’ve just installed coreutils with ipkg and this indeed got rid of the SHA error message, BUT now I have another problem: During the installation process, there’s an error message saying something like: can’t start Subsonic during installation of Subsonic and therefore it can’t finish the installation of the package…

    Antworten
  11. 2013-03-07 at 17:45 Tobias

    Deselect the option to start the package after the installation has finished.

    Antworten
  12. I already did this… Maybe I have to select it instead? Thanks.

    Antworten
  13. 2013-03-07 at 18:00 Tobias

    Is the subsonic process running? The finishing routines also failed when I tried it. But the process was started. If not execute “su – subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh” on the shell and look what it do.

    Antworten
  14. The exact error message is this: “Failed to install the package. Error: Can not Subsonic during install.”
    I have tried both with selecting the option to start after installation and without, to no avail. Looks like version 4.7030 is a no go for me…

    Antworten
  15. Nope. Still doesn’t do anything. It just says: “Failed to start Subsonic.” When executing “su – subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh” is says that the process started – however, NOT in the package centre.

    Antworten
  16. 2013-03-07 at 18:51 Tobias

    If the process was started, is the subsonic server reachable at http://diskstation:4040? The package center won’t update the status of a manually started package.

    Antworten
  17. 2013-03-07 at 18:51 Seth Feinberg

    Sorry for the n00b question, but what are the commands you need to input into Putty (e.g.) to update those ipkg packages?

    Antworten
  18. 2013-03-07 at 22:16 Tobias

    Try it with: ipkg install coreutils wget-ssl

    Antworten
  19. Thank you, Tobias. It does seem to work now. It’s indeed reachable via the link provided. Thanks!

    Antworten
  20. 2013-03-08 at 11:06 Cool120

    It’s seems ok for me Tobias after install lpkg, install wget-ssl and coreutils.

    And manually start application (why we can’t start in package center ??)

    Antworten
  21. 2013-03-08 at 11:17 Cool120

    Tobias : when i left Putty, (after manually start Subsonic) Subsonic stop also ?? how to do ?

    Antworten
  22. 2013-03-08 at 11:36 Tobias

    Cool120: This is a problem with child processes. PuTTY starts subsonic through it’s own shell and therefor kills subsonic when it’s closed. You can start subsonic at the package center. Don’t worry about the error message, subsonic is started regardless. I’ll try to rewrite the start-stop-script so it passes the status correctly to the package center.

    Antworten
  23. Tobias : I cannot install wget-ssl.
    Ipkg return “ERROR: The following packages conflict with wget-ssl: wget”
    Have you uninstall wget previously for install wget-ssl ?

    Antworten
  24. 2013-03-10 at 13:44 Tobias

    Right. First install “libidn” as a required package for wget-ssl. Then download the package wget-ssl via wget from the ipkg repository. The link is shown when you try to install wget-ssl from the repository. Remove wget and then install the local wget-ssl spk file with ipkg.

    ONCE WGET IS REMOVED, YOU DON’T HAVE THE CHANCE TO DOWNLOAD OTHER PACKAGES. THE SYSTEM IS UNABLE TO DOWNLOAD ANYTHING. So download a copy of wget just to make sure you can revert any changes.

    Antworten
  25. It seems like many people are having issues with this release? As long as the previous one is working for me I might just wait it out till it seems like it is more stable and with less install issues…?

    Antworten
  26. 2013-03-12 at 12:41 michael

    same for me… I had/have allways issues while updating subsonic. I don’t know how many times I had to reconfigure all settings after updating to the new version… but nevertheless great work, I love subsonic :-) . I’ll also wait until no more problems are reported anymore… I’m back at 4.7-029.

    Antworten
  27. holy crap…
    I am doing 14hour days for a week now, so I really don’t have the time to read the whole conversation, but I will do as soon as I can.

    For all of you having problems: use the old version from the dropbox folder:
    https://www.dropbox.com/sh/vd06e2fn2157gh0/kE6FO5J1cD

    Antworten
  28. 2013-03-12 at 20:19 aktarus legran

    Hello gang,

    Here is my situation :
    I completely removed and uninstalled my ols subsonic version… and now,
    UNABLE to install 4.7-.30 version via the package center
    Unable to install either 4.7.29 our Others version manually..
    So, for now, no Subsonic server at all in my DS212j :(

    Any idea of what is wrong ?? Do I have to wait for another release ??

    MERCI :)

    Antworten
  29. 2013-03-12 at 22:04 Tobias

    Found a warkaround for the missing start-stop functionality. Open the file “start-stop-status” located at “/var/packages/Subsonic/scripts/” and change the line (line 11) “PID=`ps | grep java | grep subsonic | awk ‘{print $1}’`” to “PID=`ps | grep java | grep subsonic | head -n 1 | awk ‘{print $1}’`” (without quotes). The script should start the subsonic server (if successful) and update the status at the package center.

    Antworten
  30. 2013-03-13 at 01:00 aktarus legran

    Hello,

    I just opened the file and my line 11 seems to that :

    PID=`cut -d : -f 1 ${SYNOPKG_PKGDEST}/PID.log`

    What I have to do ?? Nowhere in the file I founded a string like you said

    MERCI :)

    Antworten
  31. Thank you, Tobias! That does seem to do the trick, indeed. Good job!

    Antworten
  32. I have DS212j with DSM 4.2, and i cant´t make a offline install becuse i have to be logged in to DSM something….

    I´m back at 4.7-029 now but can´t start it.
    So where do i find “/var/packages/Subsonic/scripts/” so i can start it from there?
    I’ve been looking everywhere but can´t find it

    Antworten
  33. 2013-03-15 at 00:33 a_patch

    Great job Tobias. Just few updates:
    1. ipkg install open-ssl is needed
    2. It is working for me without changes to start-stop script

    Otherwise greate job again, and many thanks.

    Antworten
  34. 2013-03-15 at 00:37 aktarus legran

    and my big question is :
    How to install ipkg open-ssl ??

    MERCI :)

    Antworten
  35. 2013-03-17 at 10:48 w0mbat

    Any chance that eventually the “update” button in DSM is going to repair this without me having to risk breaking the box? I am not a linux guy at all and I really hesitate to make additions of software via cli since I don’t want to affect the archives/data on my Syno.

    It would be great if the update would eventually just fix this. I could live without my music until then.

    Antworten
  36. The message ‘Error: Can not start Subsonic’ occurs because the installer.sh can not retrieve the PID.
    This is because the installer.sh can not add the user ‘subsonic’.

    Quick workaround: Add a user subsonic in the web frontend. Then try to install subsonic again.

    Don’t forget to change this line in the subsonic_get_pid()
    “PID=`ps | grep java | grep subsonic | head -n 1 | awk ‘{print $1}’`”

    Antworten
  37. 2013-03-23 at 18:15 gothax

    Hi everybody,
    Is somebody use 4.7-30 version and can explain here how to install it? I try with the spk from dropbox or/and with the standalone version it’s not working ! :(

    Antworten
  38. Working on a new version right now… I am going back to the script I used in previous versions without the embedded downloads.

    Thanks Tobias for the PID line, I will test it…

    Antworten
  39. 2013-03-24 at 17:11 Tobias

    Package version 4.7-29 has a working start-stop-script. You don’t have to change a single line.

    As @a_patch already mentioned it, Open-SSL can be installed via Shell (SSH) by typing “ipkg install open-ssl”.

    @w0mbat: Just wait until Eric provides a fixed version of the package 4.7-30.

    @gothax: Stick with version 4.7-29. I won’t recommend installing *-30 manually right now. Unless you have the knowledge to fix a few files and install required packages by yourself.

    @Eric: You’re welcome. I’m glad I could help.

    Antworten
  40. If, at the end of this time period, the score is tied, there are two options the officials can take.
    By obtaining increasingly more favour using their company people in your social settings, the more handle you will need to acquire what you would like,
    and thru The particular Coalition Game you have just about the most effective tips for hypnotherapy that gives you the talent to
    ensure that you influence other folks. Moreover, there you could also play Scrabble in the internet, TV game shows
    or game consoles.

    Antworten
  41. Both drugs have also been denied FDA approval the first time around and are awaiting
    news on their second attempt. Cucumber contains sterols which can help to lower cholesterol and prevent
    carbohydrates from converting to body fat. Hence, broccoli is a must-add ingredient in your vegetarian weight loss diet.

    Antworten
  42. It’s remarkable to visit this web page and reading the views of all mates on the topic of this paragraph, while I am also keen of getting familiarity.

    Antworten
  43. You really make it appear really easy along with
    your presentation however I to find this matter to be really one thing that I
    feel I’d never understand. It kind of feels too complex and
    very broad for me. I am taking a look ahead in your next publish, I’ll attempt to get the hang of it!

    Antworten
  44. The factors behind obesity are actually drummed into us repeatedly through public health messages and newspaper,
    magazine, and television reports and so they include low confidence,
    sedentary lifestyle, and eating too much of the wrong kinds of foods.
    When you take in slowly, you give your body’s internal clock
    the time it needs to know when you’ve had enough. s best if you come up with a
    set of both long-term and short-term goals, but maintain
    the latter realistic. Lose fat using a combination of the right diet and moderate exercise.
    What may be easier than ordering increase favorite in the nearest sandwich or
    sub shop.

    Antworten
  45. Superb, what a weblog it is! This webpage gives helpful information to us, keep it up.

    Antworten
  46. Remarkable! Its really remarkable article, I
    have got much clear idea about from this post.

    Antworten
  47. It is important to shed the conventional mode of
    promotion and opt for funny yet relevant themes, pics and unique posts.
    Clear direction can guide both your overall life planning and
    your day-to-day decisions. Facebook is the most popular social networking
    site that allows you to interact with your
    friends, share your views about a social cause, and get the latest news about the topic of your interest.

    Antworten
  48. I was recommended this website through my cousin.
    I’m not sure whether this submit is written by him as nobody else know such distinct about my difficulty.

    You are incredible! Thanks!

    Antworten
  49. Usually I don’t read post on blogs, however I wish to say that this write-up
    very compelled me to check out and do so! Your writing taste has been amazed me.

    Thanks, quite nice article.

    Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>