summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/LinHES-config-svn/systemconfig.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/LinHES-config-svn/systemconfig.sh')
-rwxr-xr-xabs/core-testing/LinHES-config-svn/systemconfig.sh1368
1 files changed, 0 insertions, 1368 deletions
diff --git a/abs/core-testing/LinHES-config-svn/systemconfig.sh b/abs/core-testing/LinHES-config-svn/systemconfig.sh
deleted file mode 100755
index 6d63f5c..0000000
--- a/abs/core-testing/LinHES-config-svn/systemconfig.sh
+++ /dev/null
@@ -1,1368 +0,0 @@
-#!/bin/bash
-###################################################################
-#Script to configure your system based off the values in /etc/systemconfig
-#Any changes made to config files will be removed when systemconfig.sh is run
-#
-#JM
-###################################################################
-#set -x
-. /etc/profile
-#MVRELEASE=`cat /etc/mythvantage-release |cut -d" " -f -2`
-MVRELEASE=`cat /etc/LinHES-release `
-echo $@ >/tmp/systemconfig.call
-echo "----------------------start of systemconfig $@ ----------------------"
-BASE=""
-
-#TEMPLATES="/usr/share/templates"
-. /etc/profile
-. $MV_ROOT/bin/networkconfig.sh
-PACMAN="pacman --noconfirm"
-postfix=`cat ${BASE}/usr/local/share/mythtv/.releasetype`
-PKGBLACKLIST=$BASE/etc/blacklist.package
-
-if [ x$1 = x"Mysql_only" ]
- then
- rm -f /tmp/mysql.txt
- sed -e "s/^DBHostName=.*$/DBHostName=$2/" $TEMPLATES/mysql.txt > /tmp/mysql.txt
- exit 0
- fi
-
-
-if [ -f /etc/systemconfig ]
-then
- . /etc/systemconfig
- setup_MYTH_vars
-TEMPNET="Hostip"$default_interface
-echo $TEMPNET
-eval MYTHIP=\$${TEMPNET}
-else
- echo "could not find /etc/systemconfig"
- exit 1
-fi
-
-
-function cp_and_log () {
- if [ -e $1 ]
- then
- echo "copying $1 to $2"
- cp -rfp "$1" "$2"
- else
- echo "$1 is not present, skipping..."
- fi
-
-}
-
-
-#-----------------------------------------------------
-
-
-function setupmysql {
-#setup mysql.txt to find the database servers
-echo "running setup mysql"
- if [ $SystemType = "Master_backend" ]
- then
- if [ $MYTHDHCP = 0 ]
- then
- #this grabs eth0, as that is all thats supported.
-# dbhost=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'|head -n1`
- dbhost=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'`
- sed -e "s/^dbhost=.*$/dbhost=\"$dbhost\"/" /etc/systemconfig >/tmp/systemconfig.old
- cp_and_log /tmp/systemconfig.old ${BASE}/etc/systemconfig
- ##logic to change master_serverip and backend_serverip in db
-
- ${BASE}${MV_ROOT}/bin/restore_default_settings.sh -c BECONFIG -s master -a $dbhost
- else
-
- dbhost=$MYTHIP
- sed -e "s/^dbhost=.*$/dbhost=\"$dbhost\"/" /etc/systemconfig >/tmp/systemconfig.old
- cp_and_log /tmp/systemconfig.old ${BASE}/etc/systemconfig
- #logic to change dbhost in db
- ${BASE}${MV_ROOT}/bin/restore_default_settings.sh -c BECONFIG -s master -a $dbhost
- fi
- fi
-
- if [ $SystemType = "Slave_backend" ]
- then
- if [ $MYTHDHCP = 0 ]
- then
- #this grabs eth0, as that is all thats supported.
- #slavehost=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'|head -n1`
- slavehost=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'`
- ##logic to change backend_serverip in db
- ${BASE}${MV_ROOT}/bin/restore_default_settings.sh -c BECONFIG -s slave -a $slavehost
- else
- slavehost=$MYTHIP
-
- #logic to change backend_serverif in db
- ${BASE}${MV_ROOT}/bin/restore_default_settings.sh -c BECONFIG -s slave -a $slavehost
- fi
- fi
-
- MYSQLTXT=${BASE}/usr/share/mythtv/mysql.txt
- if [ $SystemType = "Standalone" ]
- then
- sed -e "s/^DBHostName=.*$/DBHostName="localhost"/" $TEMPLATES/mysql.txt > $MYSQLTXT
- else
- sed -e "s/^DBHostName=.*$/DBHostName=$dbhost/" $TEMPLATES/mysql.txt > $MYSQLTXT
- fi
- rm ${BASE}/home/mythtv/.mythtv/mysql.txt
- rm ${BASE}${MV_ROOT}/bin/mythtv/.mythtv/mysql.txt
- if [ -f ${BASE}/home/mythtv/templates/mysql.txt ]
- then
- cp_and_log ${BASE}/home/mythtv/templates/mysql.txt $MYSQLTXT
- fi
-
- chmod 755 $MYSQLTXT
- chown mythtv $MYSQLTXT
-
-}
-
-function setupmysqlnetwork(){
-MFILE=etc/my.cnf
-grep "#skip-networking" $BASE/$MFILE
-status=$?
-
-
-
- if [ $SystemType = "Standalone" ]
- then
- sed -ie "s/^#skip-networking/skip-networking/g" $BASE/$MFILE
- if [ $status = 0 ]
- then
- sudo sv restart mysql
- echo "restarting mysql with no network"
- fi
-
- fi
-
- if [ $SystemType = "Master_backend" ]
- then
- sed -ie "s/^skip-networking/#skip-networking/g" $BASE/$MFILE
- if [ $status = 1 ]
- then
- sudo sv restart mysql
- echo "restarting mysql with network"
- fi
-
- fi
-
-
-}
-
-
-function settimezone {
-#set the timezone
-if [ x"$timezone" = x ]
-then
- timezone="unknown"
-fi
-rm ${BASE}/etc/localtime
-echo $timezone
-ln -s "/usr/share/zoneinfo/$timezone" ${BASE}/etc/localtime
- sed -e "s~^TIMEZONE=.*$~TIMEZONE=\"${timezone}\"~" ${BASE}/etc/rc.conf > $TEMPLATES/rc.conf
-
- # echo CLOCK="UTC" > ${BASE}/etc/conf.dclock
- # echo CLOCK_SYSTOCH="yes" >> ${BASE}/etc/conf.d/clock
- # echo TIMEZONE="$timezone" >> ${BASE}/etc/conf.d/clock
-cp_and_log $TEMPLATES/rc.conf ${BASE}/etc/rc.conf
-#Check for Atomic Ant
- if grep disablemodules=agpart,intel_agp /proc/cmdline >/dev/null
- then
- cat /etc/rc.conf | sed -e '/MOD_BLACKLIST/ c\MOD_BLACKLIST=($ALSABLACKLIST agpart intel_agp)' > /etc/rc.conf.aa
- mv /etc/rc.conf /etc/rc.conf.preaa
- mv /etc/rc.conf.aa /etc/rc.conf
-# else
-# exit 1
- fi
-
-}
-
-
-function setupreceiver {
- case $ReceiverType in
- tinker) echo "do nothing"
- ;;
- Serial) echo "setup serial lirc"
- sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage
- echo "lirc_serial #lirc" >> ${BASE}/etc/modules.mythvantage
- load-modules-mythvantage.sh
- ;;
- Usb-imon) echo "setup receiver-usb-imon"
- sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage
- echo "lirc_imon #lirc" >> ${BASE}/etc/modules.mythvantage
- load-modules-mythvantage.sh
- ;;
- Hauppauge) echo "setup hauppauge reciever (lirc_i2c)"
- sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage
- echo "lirc_i2c #lirc" >> ${BASE}/etc/modules.mythvantage
- cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf
- rmmod lirc_i2c 2>/dev/null
- load-modules-mythvantage.sh
- ;;
- *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage
- ;;
- esac
-
-
-}
-
-function setupremote {
- case $Remotetype in
- no_remote) echo "No remote selected"
- daemon_remove="lircd $daemon_remove"
- ;;
- tinker) echo "Remote in tinker mode"
- ;;
- *) echo "Setup remote"
- mv ${BASE}/etc/lircd.conf ${BASE}/etc/lircd.conf.`date +%Y-%m-%d-%H-%M`
- cd $TEMPLATES/remotes/$Remotetype
- for i in lircd*
- do
- cat $i >> ${BASE}/etc/lircd.conf
- done
- cp -f lircrc* $BASE/etc/lircrc 2> /dev/null
- if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ]
- then
- cat $TEMPLATES/LCD/$LCDtype/lircrc >> /etc/lircrc
- cat $TEMPLATES/LCD/$LCDtype/lircd.conf >> /etc/lircd.conf
- fi
- if [ -f $TEMPLATES/transmit/$Blastertype/lircd.conf ]
- then
- cat $TEMPLATES/transmit/$Blastertype/lircd.conf >> ${BASE}/etc/lircd.conf
- fi
- chmod 755 /etc/lircrc
- daemon_add="lircd $daemon_add"
- sv hup lircd
-
- if [ ! -e /home/mythtv/.mythtv/lircrc ]
- then
- if [ ! -d /home/mythtv/.mythtv ]
- then
- mkdir /home/mythtv/.mythtv
- chown mythtv:mythtv /home/mythtv/.mythtv
- fi
-
- ln -s /etc/lircrc /home/mythtv/.mythtv/lircrc 2> /dev/null
- fi
- if [ ! -e /home/mythtv/.lircrc ]
- then
-
- ln -s /etc/lircrc /home/mythtv/.lircrc 2> /dev/null
- fi
-
-
- ;;
-esac
-
-}
-
-function setupblaster {
- #cd $TEMPLATES/transmit/$Blastertype
- #for i in lircd*
- #do
- # cat lircd.conf >> ${BASE}/etc/lircd.conf
- #done
- # REMOTE_NAME${BASE}/usr/bin/change_chan.sh=`grep name lircd.conf* |awk -F" " ' { print $2 } '`
- sed -e "s/^REMOTE_NAME=.*$/REMOTE_NAME=${Blastertype} /" $TEMPLATES/change_chan.sh > ${BASE}/usr/bin/change_chan.sh
- chmod 755 ${BASE}/usr/bin/change_chan.sh
- #channel change script change
- setupremote
-
-}
-
-function setupevrouter {
- if [ x$UseEvrouter = x1 ]
- then
- case x$EvrouterConfig in
- xtinker )
- echo "do nothing for evrouter"
- ;;
- x ) echo "empty evrouter"
- ;;
- * ) echo "setup evrouter for $EvrouterConfig "
- cp_and_log $TEMPLATES/evrouter/$EvrouterConfig /etc/evrouter.cfg
- daemon_add="evrouter Xvfb $daemon_remove"
-
- ;;
- esac
- else
- # disable evrouter
- daemon_remove="evrouter Xvfb $daemon_remove"
- fi
-
-
-
-
-}
-
-function setupLCD {
- case x$LCDtype in
- xtinker) echo "do nothing"
- ;;
- xno_lcd) echo "disabling lcd"
- sv down lcdd
- load-modules-mythvantage.sh UNLOAD LCD
- sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage
- daemon_remove="lcdd $daemon_remove"
- ;;
- x) echo "empty lcd" ;;
-
- *) echo "setup lcd"
- if [ -f $TEMPLATES/LCD/$LCDtype/modules ]
- then
- sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage
- cat $TEMPLATES/LCD/$LCDtype/modules >> ${BASE}/etc/modules.mythvantage
- #should also modprobe
- fi
-
-
- if [ -f $TEMPLATES/LCD/$LCDtype/LCDd.conf ]
- then
- cp_and_log $TEMPLATES/LCD/$LCDtype/LCDd.conf /etc
- # install="lcdproc $install"
- daemon_add="lcdd $daemon_add"
- load-modules-mythvantage.sh
- RESTART_FE="true"
- RESTART_LCD="true"
- fi
- #check if lirc capable,if so then call setupremote
- if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ]
- then
- setupremote
- fi
- ;;
- esac
-
-}
-
-
-
-function scrubnfs {
- cp_and_log /etc/fstab $TEMPLATES/fstab.conf.template
- grep -v nfs $TEMPLATES/fstab.conf.template > ${BASE}/etc/fstab
- }
-
-function setupfstab () {
-# setupfstab $NFSserver $NFSshare $NFSmount
- echo "$1 $2 nfs" >> ${BASE}/etc/fstab
- if [ ! -e "$2" ]
- then
- mkdir -p "$2"
- chown mythtv:mythtv "$2"
- fi
- if [ x$DCONFIG = x ]
- then
- mount $2 &
- fi
-
-}
-
-function setupncidclient
-{
- sed -e "s/^set Host.*$/set Host $dbhost /" $TEMPLATES/ncid.conf.template >${BASE}/etc/ncid/ncid.conf
-}
-
-function setupnciddaemon {
- if [ x$Runncidd = x1 ]
- then
- cp_and_log /etc/ncid/ncidd.conf $TEMPLATES/ncidd.conf.template
- sed -e "s/.*set ttyport.*$/set ttyport = \/dev\/$nciddSerialPort /" $TEMPLATES/ncidd.conf.template >${BASE}/etc/ncid/ncidd.conf
- fi
-
-}
-
-function setupntp () {
- #this is used for backend or standlone types
- if [ $1 = "1" ]
- then
- #MBE/STD use deafult
- echo "Not changing ntp config"
- else
- #echo "server $dbhost" >> ${BASE}/etc/ntp.conf
- echo "setting ntp to $dbhost"
- sed -i "s/pool.ntp.org/$dbhost/g" ${BASE}/etc/ntp.conf
- fi
-
-
-}
-
-function setupplugins (){
-
-pkglistinstall=""
-pkglistremove=""
-#default enabled
-for i in mythcontrols mythgallery mythmovietime mythmusic mythsmolt mythvideo
-do
- eval pkgvalue=\$${i}
- if [ x$pkgvalue = x ]
- then
- pkglistinstall="$pkglistinstall $i$postfix"
- else
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall $i$postfix"
- else
- pkglistremove="$pkglistremove $i$postfix"
- fi
- fi
-done
-
-#default disabled
-for i in mythphone mytharchive mythbrowser mythnews mythgame mythflix mythweather mythappletrailers mythstream mythvodka
-do
- eval pkgvalue=\$${i}
- if [ x$pkgvalue = x ]
- then
- pkglistremove="$pkglistremove $i$postfix"
- else
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall $i$postfix"
- else
- pkglistremove="$pkglistremove $i$postfix"
- fi
- fi
-done
-#everything else
-for i in miro xe romdb xine dvdcss webmin
-do
- eval pkgvalue=\$${i}
- case $i in
- xine)
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall xine-ui"
- else
- pkglistremove="$pkglistremove xine-ui"
- fi
- ;;
- dvdcss)
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall libdvdcss"
- else
- pkglistremove="$pkglistremove libdvdcss"
- fi
- ;;
- webmin)
- ##Daemon_add is here because webmin is on the software page instead of the advanced screen
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall webmin"
- daemon_add="webmin $daemon_add"
- else
- pkglistremove="$pkglistremove webmin"
- daemon_remove="webmin $daemon_remove"
- fi
- ;;
- *)
- if [ x$pkgvalue = x1 ]
- then
- pkglistinstall="$pkglistinstall $i"
- else
- pkglistremove="$pkglistremove $i"
- fi
- ;;
-esac
-
-done
-
-
-install="$pkglistinstall $install"
-remove="$pkglistremove $remove"
-
-}
-function LCDcheck () {
- case x$LCDtype in
- xtinker) echo "do nothing lcd "
- ;;
- xno_lcd) echo "no lcd "
- ;;
- xxosd) install="xosd lcdproc $install"
- ;;
- x) echo "lcd empty "
- ;;
- *)
- install="lcdproc $install"
- ;;
-esac
-}
-
-
-function packages () {
-#see which plugins need to be installed
-echo " Starting to install Packages"
-setupplugins
-LCDcheck
-if [ ! -f $PKGBLACKLIST ]
-then
- touch $PKGBLACKLIST
-fi
- for i in $remove
- do
- if [ ! x$i = xnone ]
- then
- echo "-----------$i --------------"
- grep -q $i $PKGBLACKLIST
- if [ $? = 1 ]
- then
- pacman -Q $i 2>/dev/null
- #VAR=`pacman -Q $i 2>&1 `
- if [ $? = 0 ]
- then
- if [ $i = "mythweb$postfix" ]
- then
- pacman --noconfirm -R mythweb$postfix
- echo removed $i
- else
- pacman --noconfirm -Rs $i
- echo removed $i
- fi
- fi
- else
- echo "$i is black listed"
- fi
- fi
- done
-
-
- for i in $install
- do
- if [ ! x$i = xnone ]
- then
- echo "-----------$i --------------"
- grep -q $i $PKGBLACKLIST
- if [ $? = 1 ]
- then
- pacman -Q $i 2>/dev/null
- #VAR=`pacman -Q $i 2>&1 `
- # echo $VAR |grep -vq error:
-
- if [ ! $? = 0 ]
- then
- pacman --noconfirm -Sf $i
- echo installed $i
- else
- echo "$i already installed"
- fi
- else
- echo "$i is black listed"
- fi
- fi
- done
-}
-
-function daemons {
-echo "Daemons on boot"
-
- for i in $daemon_remove
- do
- sv check $i 1>/dev/null
- status=$?
- if [ $status -eq 0 ]
- then
- sv down $i
- fi
- remove_service.sh $i
- done
-
-
- for i in $daemon_add
- do
- sv check $i 1>/dev/null
- status=$?
- add_service.sh $i
-
- if [ $status -eq 0 ]
- then
- case $i in
- mysql*) sv hup $i
- ;;
- mythback*) sv hup $i
- ;;
- lirc* ) sv hup $i
- ;;
- frontend) sv check frontend 1>/dev/null
- ;;
-
- smbd ) sv hup $i
- ;;
- nmbd ) sv hup $i
- ;;
- evrouter) sv restart $i
- ;;
- *) sv down $i
- sleep 1
- sv up $i
- ;;
- esac
- fi
-
- done
-
-}
-
-
-function services
-{
-ser_install=""
-ser_daemon_add=""
-ser_remove=""
-ser_daemon_remove=""
-if [ x$UseEvrouter = x1 ]
-then
- ser_daemon_add="evrouter Xvfb $ser_daemon_add"
-else
- ser_daemon_remove="evrouter Xvfb $ser_remove"
-fi
-
-if [ x$RunDHCP = x1 ]
-then
- ser_daemon_add="dnsmasq $ser_daemon_add"
- ser_install="dnsmasq mvpmc $ser_install"
-
-else
- ser_daemon_remove="dnsmasq $ser_daemon_remove"
- ser_remove="dnsmasq mvpmc $ser_remove"
-fi
-
-if [ x$RunFrontend = x1 ]
-then
- ser_daemon_add="frontend hal $ser_daemon_add"
- ser_install=" $ser_install"
- showX=true
- else
- ser_daemon_remove="frontend hal $ser_daemon_remove"
- ser_remove="$ser_remove"
- fi
-
-if [ x$UseMythWEB = x1 ]
-then
- ser_install="lighttpd mythweb$postfix $ser_install"
- ser_daemon_add="lighttpd $ser_daemon_add"
- else
- ser_remove="mythweb$postfix $ser_remove"
- ser_daemon_remove="$ser_daemon_remove"
- fi
-
-#samba
-if [ x$UseSamba = x1 ]
-then
- ser_install="samba $ser_install"
- ser_daemon_add="nmbd smbd $ser_daemon_add "
- if [ x$Samba_mediareadonly = x1 ]
- then
- smreadonly="no"
- else
- smreadonly="yes"
- fi
-
- if [ x$Samba_homereadonly = x1 ]
- then
- shreadonly="no"
- else
- shreadonly="yes"
- fi
-
- if [ ! -d ${BASE}/etc/samba ]
- then
- mkdir ${BASE}/etc/samba
- fi
-
- if [ -f ${BASE}/data/home/mythtv/templates/smb.conf ]
- then
- install -D -m755 ${BASE}/data/home/mythtv/templates/smb.conf ${BASE}/etc/samba/smb.conf
- else
- sed -e "s/^.*workgroup =.*$/ workgroup = $Samba_domain/g " \
- -e "s/^.*server string = .*$/ server string = $hostname/g" $TEMPLATES/samba/smb.conf.template > ${BASE}/etc/samba/smb.conf
-
- if [ x$Samba_media = "x1" ]
- then
- echo "include = /etc/samba/smb.conf.media" >> ${BASE}/etc/samba/smb.conf
- sed -e "s/^.*writeable.*$/writeable = $smreadonly/g" $TEMPLATES/samba/smb.conf.media > ${BASE}/etc/samba/smb.conf.media
- fi
-
- if [ x$Samba_home = "x1" ]
- then
- echo "include = /etc/samba/smb.conf.home" >> ${BASE}/etc/samba/smb.conf
- sed -e "s/^.*writeable.*$/writeable = $shreadonly/g" $TEMPLATES/samba/smb.conf.home > ${BASE}/etc/samba/smb.conf.home
-
- fi
-
- fi
-else
- ser_remove="samba $ser_remove"
- ser_install="smbclient $ser_install"
- ser_daemon_remove="smbd nmbd $ser_daemon_remove"
-fi
-
-
-if [ x$UseNFS = x1 ]
-then
- ser_install="nfs-utils portmap $ser_install"
- ser_daemon_add="nfsd nfslock portmap $ser_daemon_add"
- sed -e "s/REPLACEME/*/g" $TEMPLATES/exports.template > ${BASE}/etc/exports
-
-else
- ser_remove="$ser_remove"
- ser_daemon_remove="nfsd $ser_daemon_remove"
-fi
-
-if [ x$Runncidd = x1 ]
-then
- ser_daemon_add="ncidd ncid $ser_daemon_add"
- ser_install="ncid $ser_install"
-else
- ser_daemon_remove="ncidd ncid $ser_daemon_remove"
- ser_remove="ncid $ser_remove"
-fi
-
-
-if [ x$UseEvrouter = x1 ]
-then
- ser_install="evrouter Xvfb $ser_install"
- else
- ser_remove="evrouter $ser_remove"
-fi
-
-
-
-
-#Setting the default, just to avoid the or statement..
-#if [ x$UseHobbit = x ]
-#then
-# UseHobbit=0
-#fi
-
-#if [ x$UseHobbit = x1 ]
-#then
-# case $SystemType in
-# Standalone|Master_backend )
-# ser_daemon_add="hobbit $ser_daemon_add"
-# ser_install="hobbitserver $ser_install"
-# ;;
-#
-# *) ser_daemon_add="hobbit-client $ser_daemon_add"
-# ser_install="hobbit-client $ser_install"
-# ;;
-# esac
-#else
-# ser_daemon_remove="hobbit hobbit-client $ser_daemon_remove"
-# ser_remove="hobbit-client hobbitserver $ser_remove"
-# rm -f /data/srv/httpd/htdocs/hobbit/index.html
-#
-# fi
-
-
-
-}
-
-
-
-function setupsleep {
-if [ x$AutoShutdown = x1 ]
-then
- cronshutdowntime=""
- if [ x$Shutdowntime != x-1 ]
- then
- cronshutdowntime=$Shutdowntime
- fi
- if [ x$Shutdowntime2 != x-1 ]
- then
- if [ x$cronshutdowntime = x ]
- then
- cronshutdowntime=$Shutdowntime2
- else
- cronshutdowntime="${cronshutdowntime},${Shutdowntime2}"
- fi
- fi
-
- sed -e "s/HOUR/$cronshutdowntime/g" $TEMPLATES/cron.template | crontab - -u mythtv
-else
- sed -e "/00 HOUR.*/d" $TEMPLATES/cron.template | crontab - -u mythtv
-fi
-
-}
-
-
-function setuppacman () {
-#setup link to httpd dir
-echo "Configuring pacman"
- if [ ! x$1 = x ]
- then
- ln -s ${BASE}/data/var ${BASE}/data/srv/httpd/htdocs/repo
- echo "creating the link for the pacman repo mirror"
- fi
-
- for i in mv-core mv-core-testing mv-extra mv-extra-testing
- do
- echo "[$i]" > ${BASE}/etc/pacman.d/$i
- #add mirror if needed
- if [ x$PKG_MIRROR = x1 ]
- then
- echo " Server = http://$dbhost/repo/$i " >> ${BASE}/etc/pacman.d/$i
- fi
- #add user templates
- USERTEMPLATES="/data/home/mythtv/templates"
- if [ -f $USERTEMPLATES/sources/$i ]
- then
- echo "Adding user $i"
- cat $USERTEMPLATES/sources/$i >> ${BASE}/etc/pacman.d/$i
- fi
- cat $TEMPLATES/sources/$i >> ${BASE}/etc/pacman.d/$i
- echo "setting local mirror to $dbhost for $i "
- done
-
- #sed -e "s/REPLACEME/$dbhost/g" $TEMPLATES/sources/svc_pkg > /etc/pacman.d/svc_pkg
-
-
-}
-
-
-function setupzipcode () {
- if [ ! x$zipcode = x ]
- then
- ${MV_ROOT}/bin/restore_default_settings.sh -c ZIP -z $zipcode
- #Let's also speed things up for those in North America
- mkdir /usr/bin/perlbin/vendor/tv_grabbers_non_na
- mv /usr/bin/perlbin/vendor/tv_grab_* /usr/bin/perlbin/vendor/tv_grabbers_non_na
- mv /usr/bin/perlbin/vendor/tv_grabbers_non_na/tv_grab_na* /usr/bin/perlbin/vendor/
- fi
-}
-
-function process_nfsmap () {
-#first look for a local copy of nfsmap
-if [ $1 = noip ]
-then
- if [ -f /data/home/mythtv/templates/nfsmap ]
- then
- NFSMAP="/data/home/mythtv/templates/nfsmap"
- else
- mv -f /tmp/nfsmap /tmp/nfsmap.old
- wget -O /tmp/nfsmap http://$dbhost:1337/templates/nfsmap
- if [ $? = 0 ]
- then
- NFSMAP="/tmp/nfsmap"
- fi
- fi
-else
- mv -f /tmp/nfsmap /tmp/nfsmap.old
- wget -O /tmp/nfsmap http://$1:1337/templates/nfsmap
- if [ $? = 0 ]
- then
- NFSMAP="/tmp/nfsmap"
- fi
-fi
-
- if [ -f $NFSMAP ]
- then
- #read in file
- while read line
- do
- NFSserver=`echo "$line"|cut -d" " -f1`
- NFSmount=`echo "$line"|cut -d" " -f2`
- setupfstab $NFSserver $NFSmount
- done <$NFSMAP
- else
- echo "couldn't find nfsmap"
-
- fi
-}
-
-function setupcnfs () {
- scrubnfs
- if [ $HaveCentralNFS = "yes" ]
- then
- case x$NFSserver in
- xfile:nfsmap )
- process_nfsmap noip
- ;;
- *:nfsmap )
- nfsmapip=`echo "$NFSserver" | cut -d: -f1 `
- process_nfsmap $nfsmapip
- ;;
- *) setupfstab $NFSserver $NFSmount
- esac
-
- #if [ ! x"$NFSserver" = "xfile:nfsmap" ]
- #then
- # setupfstab $NFSserver $NFSmount
- #else
- # process_nfsmap
- #fi
- else
- echo "fe_nfs"
- #if no central nfs found, then use the mbe.
- if [ $SystemType = "Frontend_only" ]
- then
- setupfstab ${dbhost}:/myth /myth
- fi
- fi
-
-}
-
-function setupbootsplash () {
-
-if [ x$Usebootsplash = x1 ]
-then
- COMMAND="%s/^default.*0/default 1/g"
-else
- COMMAND="%s/^default.*1/default 0/g"
-fi
-
-ex ${BASE}/boot/grub/menu.lst <<EOF
-:$COMMAND
-:wq
-EOF
-
-}
-
-function setuphobbitclient () {
-COMMAND="%s/^BBDISP=.*$/BBDISP=$dbhost/g"
-
-
-ex ${BASE}/data/srv/hobbit/client/etc/hobbitclient.cfg <<EOF
-:$COMMAND
-:wq
-EOF
-
-}
-
-function setupSyslog () {
-COMMAND="%s/^destination d_remote.*$/destination d_remote \{tcp\(\"${dbhost}\" port\(514\)\) \;\} \;/"
-ex ${BASE}/etc/syslog-ng.conf <<EOF
-:$COMMAND
-:wq
-EOF
-
-
-
-
-}
-
-function setupfuncminion () {
-COMMAND="%s/^certmaster.*$/certmaster = ${dbhost}/"
-ex ${BASE}/etc/func/minion.conf <<EOF
-:$COMMAND
-:wq
-EOF
-}
-
-function setupDNSMASQ(){
-if [ x$RunDHCP = x1 ]
-then
- echo "DNSMASQ setup"
-
-#set default route to my GW
-COMMAND="%s/^dhcp-option=3.*$/dhcp-option=3,${route}/"
-ex ${BASE}/etc/dnsmasq.conf <<EOF
-:$COMMAND
-:wq
-EOF
-
-#setup dns to my ip
-COMMAND="%s/^dhcp-option=6.*$/dhcp-option=6,${ip}/"
-ex ${BASE}/etc/dnsmasq.conf <<EOF
-:$COMMAND
-:wq
-EOF
-
-
-#change nfsroot to my ip
-COMMAND="%s/nfsroot=.*:/nfsroot=${ip}:/"
-ex ${BASE}/data/srv/tftp/pxelinux.cfg/default <<EOF
-:$COMMAND
-:wq
-EOF
-
-#add 127.0.0.1 to /etc/resolv.conf
- echo "search lan" > ${BASE}/etc/resolv.conf
- echo "nameserver 127.0.0.1" >> ${BASE}/etc/resolv.conf
- echo "nameserver $nameserver" >> ${BASE}/etc/resolv.conf
-fi
-
-#setup dongle.config
-COMMAND="%s/mvpmc -f .*/mvpmc -f \/etc\/helvR10.fon -s ${ip} \& /"
-ex ${BASE}/data/srv/tftp/dongle.bin.config <<EOF
-:$COMMAND
-:wq
-EOF
-
-
-
-#setup dongle.config
-
-}
-
-function reloadfe(){
- PID=`ps -ef |grep mythfrontend|grep -v grep |awk '{print $2 }'`
- /usr/bin/backend_control.sh clearcache behost $dbhost
- if [ x$RESTART_LCD = xtrue ]
- then
- killall -9 mythlcdserver
- fi
- if [ x = x$PID ]
- then
- echo "Mythfrontend not running, will not reload"
- else
- kill -s USR1 $PID
- fi
- exit 0
-
-}
-
-
-function setup_db (){
-
- install="mysql avahli"
- daemon_add="mysql"
- packages
- daemons
-status=1
-mysqlstatus=1
-while [ ! $status = 0 ]
-do
- sv stop mysql
- sleep 1
- sv start mysql
- mysqlstatus=$?
- if [ $mysqlstatus = 0 ]
- then
- mysql -e "show databases;"
- showstatus=$?
- if [ $showstatus = 0 ]
- then
- pacman --noconfirm -R mythdb-initial
- pacman --noconfirm -S mythdb-initial
- $MV_ROOT/bin/restore_default_settings.sh -c load
- if [ $SystemType = "Master_backend" ]
- then
- $MV_ROOT/bin/restore_default_settings.sh -c BECONFIG -s master -a $dbhost
- fi
- #update database to allow user jobs on this host.
- $MV_ROOT/bin/restore_default_settings.sh -c USERJOBALLOW
- $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL
- if [ -d /data/srv/mysql/mythconverg ]
- then
- pacman --noconfirm -R webcalendar
- pacman --noconfirm --nodeps -S webcalendar
- status=0
- fi
- fi
- fi
-done
-}
-
-function setup_web_auth {
- if [ x$UseMythWEB_auth = x1 ]
- then
- #enable auth
- sed -ie "s/^.*include.*auth-inc.conf.*$/include \"\/etc\/lighttpd\/auth-inc.conf\"/g" /etc/lighttpd/lighttpd.conf
- else
- #disable auth
- sed -ie "s/^.*include.*auth-inc.conf.*$/#include \"\/etc\/lighttpd\/auth-inc.conf\"/g" /etc/lighttpd/lighttpd.conf
- fi
- sudo sv restart lighttpd
-
-}
-
-#----------------------------------------------------MAIN PROGRAM-------------------------------------------
-#misc,sleep,hostype,advanced,audio
-eval LAST=\$$#
-LIST=`echo $LAST | tr , " " `
-
-hosttypechange="false"
-
-
-for i in $LIST
-do
-echo $i
-case $i in
- misc) showmisc="true"
- ;;
- sleep) showsleep="true"
- ;;
- hostype) showhost="true"
- showX="true"
- ;;
- hostypec) hosttypechange="true"
- ;;
- advanced) showadvanced="true"
- ;;
- audio) showaudio="true"
- ;;
- network) shownetwork="true"
- ;;
- advancedX) showX="true"
- ;;
- webuser) setup_web_auth
- ;;
- restartfe) killall -9 mythfrontend
- killall -9 mythwelcome
- exit 0
- ;;
- reloadfe) reloadfe
- ;;
-
- this_is_install) MV_NEW_INSTALL="true"
- ;;
-
- esac
-done
-
-if [ x$MV_NEW_INSTALL = xtrue ]
-then
- hosttypechange="false"
-fi
-
-
-
-# exit 1
-
-#network
-if [ x"$shownetwork" = xtrue ]
-then
- OLDHOSTNAME=`hostname`
- NEWHOSTNAME=$hostname
- if [ ! $OLDHOSTNAME = $NEWHOSTNAME ]
- then
-
- ${MV_ROOT}/bin/restore_default_settings.sh -cuhostname -o -h$OLDHOSTNAME
- RESTART_FE="true"
- hostname $NEWHOSTNAME
- if [ $SystemType != "Frontend_only" ]
- then
- sv restart mythbackend
- fi
-
- fi
-
- setup_network
- CMDLINE=$(cat /proc/cmdline)
- echo $CMDLINE |grep -q netboot
- NETBOOT=$?
- if [ x$NETBOOT = x1 ]
- then
- echo "loading network"
- ${BASE}/etc/net/scripts/network.init reload
- ${BASE}/etc/net/scripts/network.init restart
- else
- echo "netboot, will not start network"
- fi
-fi
-
-
-if [ x$showhost = "xtrue" ]
-then
-case $SystemType in
- Standalone)
- setupntp 1
- services
- if [ x$hosttypechange = "xtrue" ]
- then
- setup_db
- fi
- if [ -f ${BASE}/etc/avahi/services/mysql.service ]
- then
- rm -f ${BASE}/etc/avahi/services/mysql.service
- sudo sv restart avahi
- fi
-
- install="mysql mythdb-initial avahli portmap nfslock local-website $ser_install"
-
-
- remove="none $ser_remove"
-
- daemon_add="mysql mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="none $ser_daemon_remove"
-
- ;;
- Master_backend)
- setupntp 1
- services
-
- if [ ! -f ${BASE}/etc/avahi/services/mysql.service ]
- then
- mkdir ${BASE}/etc/avahi/services
- cp $TEMPLATES/mysql.service ${BASE}/etc/avahi/services/mysql.service
- sudo sv restart avahi
- fi
-
- install="mysql mythdb-initial avahi portmap nfslock local-website myth2ipod mythtv-status $ser_install "
- remove="$ser_remove"
-
- daemon_add="mysql mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="$ser_daemon_remove"
- ;;
- Slave_backend)
- setupntp 0
- services
- if [ x$hosttypechange = "xtrue" ]
- then
- setup_db
- fi
- if [ -f ${BASE}/etc/avahi/services/mysql.service ]
- then
- rm -f ${BASE}/etc/avahi/services/mysql.service
- sudo sv restart avahi
- fi
-
- #cp $TEMPLATES/mysql.service ${BASE}/etc/avahi/services/mysql.service
- install="mysql avahi local-website portmap nfslock $ser_install "
- remove=" $ser_remove"
-
- daemon_add="mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="$ser_daemon_remove"
- ;;
- Frontend_only)
- #Add values for services
- setupntp 0
- services
- if [ -f ${BASE}/etc/avahi/services/mysql.service ]
- then
- rm -f ${BASE}/etc/avahi/services/mysql.service
- sudo sv restart avahi
- fi
-
- install="libmysqlclient mysql-clients portmap nfslock avahi local-website $ser_install"
- remove="mysql mythweb$postfix $ser_remove"
-
- daemon_add="avahi portmap nfslock netfs lighttpd $ser_daemon_add "
- daemon_remove="mysql mythbackend $ser_daemon_remove"
- ;;
-
-
-esac
-#setupSyslog
-
-fi
-
-#apply these to ALL types
-
-
-
-
-#systemtype
-
-if [ x$showhost = "xtrue" ]
-then
- setupmysqlnetwork
- setupmysql
- setupremote
- #grab the new dbhost key
- #/usr/bin/grabkey.py
-fi
-
-#audio
-
-if [ x$showaudio = "xtrue" ]
-then
- #setupsoundtype
- if [ ! x$Audiotype = xtinker ]
- then
- ${MV_ROOT}/bin/soundconfig.sh -t real -i $Audiotype -d $SoundDevice
- fi
-fi
-
-#should always run
-packages
-
-#misc
-
-if [ x$showmisc = "xtrue" ]
-then
- setupzipcode
- settimezone
- setupcnfs
-fi
-
-#sleep
-if [ x$showsleep = "xtrue" ]
-then
- setupsleep
-fi
-
-if [ x$showX = "xtrue" ]
-then
- ${MV_ROOT}/bin/xconfig.sh
-fi
-
-#advanced
-if [ x$showadvanced = "xtrue" ]
-then
- if [ ! x$showhost = "xtrue" ]
- then
- services
- install="none $ser_install"
- remove="none $ser_remove"
- daemon_add=" none $ser_daemon_add"
- daemon_remove="none $ser_daemon_remove"
- packages
-
-
- if [ x$SystemType = xMaster_backend ]
- then
- setuppacman link
- else
- setuppacman
- fi
- fi
- setupncidclient
- setupnciddaemon
- setupbootsplash
- setuphobbitclient
- setupreceiver
- setupevrouter
- setupblaster
- setupLCD
- setupDNSMASQ
-
-fi
-
-
-
-daemons
-#add check for lcd, and restart if needed.
-
-if [ x$RESTART_FE = xtrue ]
-then
- reloadfe
-fi
-
-
-
-
-
-case $SystemType in
- Standalone) smoltsystem=6
- MVRELEASE="$MVRELEASE (Standalone)"
- ;;
- Master_backend)
- if [ x$RunFrontend = x1 ]
- then
- smoltsystem=2
- MVRELEASE="$MVRELEASE (MBE with Frontend)"
- else
- smoltsystem=1
- MVRELEASE="$MVRELEASE (MBE)"
- fi
- ;;
- Slave_backend)
- if [ x$RunFrontend = x1 ]
- then
- smoltsystem=5
- MVRELEASE="$MVRELEASE (SLAVE with Frontend)"
- else
- smoltsystem=5
- MVRELEASE="$MVRELEASE (SLAVE)"
- fi
- ;;
- Frontend_only)
- smoltsystem=3
- MVRELEASE="$MVRELEASE ( Frontend only)"
- ;;
-esac
-echo $MVRELEASE > /etc/os_myth_release
-echo "systemtype=$smoltsystem" > /home/mythtv/.mythtv/smolt.info 2>/dev/null
-echo "remote=$Remotetype" >> /home/mythtv/.mythtv/smolt.info 2>/dev/null
-