You could always keep your rpm installed version and install from the
svn code to another location and run that instead.  

This script will download and install the 7.2.1 svn code to
/usr/share/squeezecenter_trunk.  You can edit the script to install to
another location.  

The script creates a 'squeezecenter_trunk' service that you can run
instead of the already installed 'squeezecenter' service.

If you do plan to change the install location, edit the script
carefully so you fix up all the relevant paths.

svnfirst.sh:

Code:
--------------------
    
  #!/bin/sh
  #svnfirst.sh
  
  
  function pause(){
  read -p "$*"
  }
  
  
  if [ -e '/usr/share/squeezecenter_trunk/server' ]
  then
  echo 'squeezecenter_trunk already installed!'
  echo 'Updating trunk code'
  if [ ! -e '/var/log/squeezecenter_trunk' ]
  then
  mkdir /var/log/squeezecenter_trunk
  fi
  svn up /usr/share/squeezecenter_trunk >>/var/log/squeezecenter_trunk/svn.log
  exit 1
  fi
  
  echo 'This script installs the SqueezeCenter trunk svn code as a service.'
  pause 'Press Enter to continue, or Ctrl-c to abort..'
  
  if [ ! -e '/usr/share/squeezecenter' ]
  then
  echo 'Error: squeezecenter V7 must be installed via yum or rpm first!'
  pause 'Press Enter to exit.'
  exit 1
  fi
  
  szSCStatus=`/sbin/service squeezecenter status`
  if (( $(echo $szSCStatus | egrep -c "running...") >= 1 ))
  then
  /sbin/service squeezecenter stop
  fi
  
  echo 'Creating directory for SqueezeCenter_trunk..'
  mkdir /usr/share/squeezecenter_trunk
  
  echo 'Preparing the log dir..'
  mkdir /var/log/squeezecenter_trunk
  
  echo 'Downloading SqueezeCenter trunk svn code...this may take awhile..'
  /bin/date >/var/log/squeezecenter_trunk/svn.log
  svn co http://svn.slimdevices.com/repos/slim/7.2/trunk/ 
/usr/share/squeezecenter_trunk >>/var/log/squeezecenter_trunk/svn.log
  
  echo 'Preparing /etc/sysconfig/squeezecenter_trunk..'
  echo '# Edit this to suit your setup
  SQUEEZECENTER_USER="squeezecenter"
  SQUEEZECENTER_HOME="/usr/share/squeezecenter_trunk/server"
  SQUEEZECENTER_CFG_DIR="/var/lib/squeezecenter_trunk/prefs"
  SQUEEZECENTER_LOG_DIR="/var/log/squeezecenter_trunk"
  SQUEEZECENTER_CACHE_DIR="/var/lib/squeezecenter_trunk/cache"
  SQUEEZECENTER_CHARSET="utf8"
  SQUEEZECENTER_ARGS="--daemon --prefsdir=$SQUEEZECENTER_CFG_DIR 
--logdir=$SQUEEZECENTER_LOG_DIR --cachedir=$SQUEEZECENTER_CACHE_DIR 
--charset=$SQUEEZECENTER_CHARSET"' >/etc/sysconfig/squeezecenter_trunk
  
  
  echo 'Preparing new squeezecenter_trunk service..'
  cp -f /etc/rc.d/init.d/squeezecenter /etc/rc.d/init.d/squeezecenter_trunk
  
  sed -i -e 's/# squeezecenter\s*Startup script for the SqueezeCenter Music 
Server$/# squeezecenter_trunk\t\tStartup script for the SqueezeCenter Music 
Server/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/SqueezeCenter powers the Squeezebox/SqueezeCenter_trunk powers 
the Squeezebox/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/# processname:\s*squeezecenter$/# 
processname:\t\tsqueezecenter_trunk/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/# config:\s*\/etc\/squeezecenter\/squeezecenter.conf$/# 
config:\t\t\/etc\/squeezecenter_trunk\/squeezecenter.conf/' 
/etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/# config:\s*\/etc\/sysconfig\/squeezecenter$/# 
config:\t\t\/etc\/sysconfig\/squeezecenter_trunk/' 
/etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/# Provides:\s*squeezecenter$/# 
Provides:\t\tsqueezecenter_trunk/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/# Short-Description:\s*Startup script for the SqueezeCenter 
Music Server$/# Short-Description:\tStartup script for the SqueezeCenter_trunk 
Music Server/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 
's/\s*SQUEEZECENTER_CONFIG=\/etc\/sysconfig\/squeezecenter$/\tSQUEEZECENTER_CONFIG=\/etc\/sysconfig\/squeezecenter_trunk/'
 /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 
's/\s*SQUEEZECENTER_BIN=\"\$SQUEEZECENTER_HOME\/squeezecenter-server\"$/\tSQUEEZECENTER_BIN=\"\$SQUEEZECENTER_HOME\/slimserver.pl\"/'
 /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 
's/\s*LOCKFILE=\"\/var\/lock\/subsys\/squeezecenter\"/\tLOCKFILE=\"\/var\/lock\/subsys\/squeezecenter_trunk\"/'
 /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/\s*echo -n \"Starting SqueezeCenter:\s*\"$/\t\techo -n 
\"Starting SqueezeCenter_trunk: "/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/\s*echo -n \"Stopping SqueezeCenter:\s*\"$/\t\techo -n 
\"Stopping SqueezeCenter_trunk: "/' /etc/rc.d/init.d/squeezecenter_trunk
  sed -i -e 's/\s*killall squeezecenter-server$/\t\t\t   killall 
slimserver.pl/' /etc/rc.d/init.d/squeezecenter_trunk
  
  
  cd /etc/rc.d/rc3.d
  ln -s ../init.d/squeezecenter_trunk ./S80squeezecenter_trunk
  cd /etc/rc.d/rc5.d
  ln -s ../init.d/squeezecenter_trunk ./S80squeezecenter_trunk
  
  
  echo 'Preparing the data dir..'
  cp -R /var/lib/squeezecenter /var/lib/squeezecenter_trunk
  sed -i -e 's/irmap: \/usr\/share\/squeezecenter\/IR\/Default.map$/irmap: 
\/usr\/share\/squeezecenter_trunk\/server\/IR\/Default.map/' 
/var/lib/squeezecenter_trunk/prefs/server.prefs
  rm -rf /usr/share/squeezecenter_trunk/server/Plugins
  ln -s /var/lib/squeezecenter_trunk/Plugins 
/usr/share/squeezecenter_trunk/server/Plugins
  chown -h squeezecenter:squeezecenter 
/usr/share/squeezecenter_trunk/server/Plugins
  
  echo 'Preparing the config dir..'
  cp -R /etc/squeezecenter /etc/squeezecenter_trunk
  rm -f /etc/squeezecenter_trunk/server.conf
  ln -s /var/lib/squeezecenter_trunk/prefs/server.prefs 
/etc/squeezecenter_trunk/server.conf
  
  echo 'Fixing file permissions..'
  chown -R squeezecenter:squeezecenter /etc/squeezecenter_trunk
  chown -R squeezecenter:squeezecenter /usr/share/squeezecenter
  chown -R squeezecenter:squeezecenter /usr/share/squeezecenter_trunk
  chown -R squeezecenter:squeezecenter /var/lib/squeezecenter_trunk
  chown -R squeezecenter:squeezecenter /var/log/squeezecenter_trunk
  
  echo 'Setting up the squeezecenter_trunk service to autorun..'
  chkconfig --level 35 squeezecenter off
  chkconfig --level 35 squeezecenter_trunk on
  
  echo 'Done! The squeezecenter_trunk svn code is ready to run as a service 
(daemon).'
  echo 'Run the command "service squeezecenter_trunk start" to start the 
service.'
  
--------------------

To update the svn code to the latest version, run:

svnupdatesc.sh:

Code:
--------------------
    
  #!/bin/sh
  #svnupdatesc.sh
  /sbin/service squeezecenter_trunk stop
  echo 'Checking for Squeezecenter_trunk updates...'
  /bin/date >>/var/log/squeezecenter_trunk/svn.log
  /usr/bin/svn up /usr/share/squeezecenter_trunk 
>>/var/log/squeezecenter_trunk/svn.log
  /sbin/service squeezecenter_trunk start
  
--------------------

..again, fixing up the paths if you changed the install location.


-- 
gharris999
------------------------------------------------------------------------
gharris999's Profile: http://forums.slimdevices.com/member.php?userid=115
View this thread: http://forums.slimdevices.com/showthread.php?t=54199

_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/unix

Reply via email to