- Mitglied seit
- 15. Mai 2008
- Beiträge
- 21.900
- Punkte für Reaktionen
- 14
- Punkte
- 0
Mit der aktuellen Firmware (722) ist ein neues Paketmanagement eingeführt worden. Die ladbaren Paket-Dateien habe die Endung .spk. Zur Zeit gibt es ein Paket im Synology-Download: SqueezeCenter-7.2.0-011. Ich habe mir mal den Inhalt des Archivs angesehen und folgende Directories-Struktur vorgefunden:
INFO
package.tgz
scripts
--postinst
--preinst
--start-stop-status
--postuninst
--preuninst
Inhalt der Datei INFO:
Inhalt der Datei postinst:
Inhalt der Datei preinst, postuninst und preuninst:
Inhalt der Datei start-stop-status:
Vielleicht hat ja jemand das Paket installiert und kann mal schauen, wo (in welchem rc-Verzeichnis) und unter welchem Namen das start-stop-status-Skript gelagert wird. Und vielleicht kann derjenige auch schauen, wo das Paket hinkopiert wurde.
Vielen Dank bereits jetzt
itari
INFO
package.tgz
scripts
--postinst
--preinst
--start-stop-status
--postuninst
--preuninst
Inhalt der Datei INFO:
Rich (BBCode):
package="SqueezeCenter"
version="7.2"
maintainer="Synology Inc."
description="SqueezeCenter is the best software to stream your music."
adminport="9002"
arch="noarch"
Inhalt der Datei postinst:
Rich (BBCode):
#!/bin/sh
eval $(env | grep "^SYNOPKG_PKGDEST=")
ret=`chown -R admin.users $SYNOPKG_PKGDEST`
if [ "x" == "x$ret" ]; then
exit 0
else
exit 0
fi
Inhalt der Datei preinst, postuninst und preuninst:
Rich (BBCode):
#!/bin/sh
exit 0
Inhalt der Datei start-stop-status:
Rich (BBCode):
#!/bin/sh
PKGPATH="/var/packages/SqueezeCenter"
SLIMPKG=`ls -l $PKGPATH/target | awk -F "-> " '{print $2}'`
SLIMPORT=`/bin/get_key_value $PKGPATH/INFO adminport`
CACHEPATH="Cache"
LOGPATH="Logs"
PREFSPATH="prefs"
PIDFILENAME="${CACHEPATH}/slimserver.pid"
MYSQLPIDFILENAME="${CACHEPATH}/squeezecenter-mysql.pid"
LOGFILENAME="${LOGPATH}/server.log"
SLIMPIDFILE="${SLIMPKG}/${PIDFILENAME}"
SLIMMYSQLPIDFILE="${SLIMPKG}/${MYSQLPIDFILENAME}"
SLIMLOGFILE="${SLIMPKG}/${LOGFILENAME}"
SLIMCACHEPATH="${SLIMPKG}/${CACHEPATH}"
SLIMLOGPATH="${SLIMPKG}/${LOGPATH}"
SLIMPREFSPATH="${SLIMPKG}/${PREFSPATH}"
SLIMSERVERBIN="slimserver.pl"
SLIMSCANNERBIN="scanner.pl"
get_pid()
{
if [ ! -f ${SLIMPIDFILE} ]; then
return 1
else
pid=`cat ${SLIMPIDFILE} 2>/dev/null`
if [ -f /proc/$pid/cmdline ]; then
echo $pid
return 0
else
rm -f ${SLIMPIDFILE}
return 2
fi
fi
}
case $1 in
start)
slimperl="${SLIMPKG}/${SLIMSERVERBIN}"
cmd="${slimperl} --daemon --user admin --pidfile ${SLIMPIDFILE}"
cmd="$cmd --cachedir ${SLIMCACHEPATH} --logdir ${SLIMLOGPATH} --prefsdir ${SLIMPREFSPATH}"
if [ "x${SLIMPORT}" != "x" ]; then
cmd="$cmd --httpport ${SLIMPORT}"
fi
`$cmd`
if [ -f "{$SLIMPIDFILE}" ]; then
`chown admin.users ${SLIMPIDFILE}`
fi
exit 0
;;
stop)
#0 if pid exist but proc/pid do not exist, program crashed
SLIM_PID=`get_pid`
RET=$?
case "$RET" in
2)
exit 2
;;
1)
exit 1
;;
esac
#1 kill pid and check that pidfile is removed
# send kill signal and wait maximum 30 seconds for the process to end
`kill ${SLIM_PID}`
waittime=0
while [ -d /proc/$SLIM_PID ]; do
`sleep 1`
waittime=`expr $waittime + 1`
if [ $waittime -ge 30 ]; then
break
fi
done
`$0 killall`
#2 check proc/pid do not exist
if [ ! -d /proc/$SLIM_PID ]; then
[ -f ${SLIMPIDFILE} ] && rm -f ${SLIMPIDFILE}
exit 0
else
exit 1
fi
;;
status)
SLIM_PID=`get_pid`
RET=$?
exit $RET
;;
killall)
SlimPLPID=`pidof ${SLIMSERVERBIN}`
if [ ! -z "${SlimPLPID}" ]; then
`kill -9 ${SlimPLPID}`
fi
SlimSQLPID=`ps | grep mysqld | grep SqueezeCenter |grep -v grep | awk '{print $1}'`
if [ ! -z "${SlimSQLPID}" ]; then
`kill -9 ${SlimSQLPID}`
fi
SlimScannerPID=`pidof ${SLIMSCANNERBIN}`
if [ ! -z "${SlimScannerPID}" ]; then
`kill -9 ${SlimScannerPID}`
fi
;;
log)
echo "${SLIMLOGFILE}"
exit 0
;;
esac
Vielleicht hat ja jemand das Paket installiert und kann mal schauen, wo (in welchem rc-Verzeichnis) und unter welchem Namen das start-stop-status-Skript gelagert wird. Und vielleicht kann derjenige auch schauen, wo das Paket hinkopiert wurde.
Vielen Dank bereits jetzt
itari