summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/MythVantage-config/systemconfig.sh
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2009-08-17 17:16:31 (GMT)
committerJames Meyer <james.meyer@operamail.com>2009-08-17 17:16:31 (GMT)
commit997dbedae9ea47fbb46ec15f8827cf1a8065c11e (patch)
treee20e579880f339682d8ede709369769269a365e0 /abs/mv-core/MythVantage-config/systemconfig.sh
parentda98b0f401f135cb5a04270dbfc46c5dafc43d9d (diff)
downloadlinhes_pkgbuild-997dbedae9ea47fbb46ec15f8827cf1a8065c11e.zip
linhes_pkgbuild-997dbedae9ea47fbb46ec15f8827cf1a8065c11e.tar.gz
linhes_pkgbuild-997dbedae9ea47fbb46ec15f8827cf1a8065c11e.tar.bz2
mv-core: bring it up to date so that it works again
Diffstat (limited to 'abs/mv-core/MythVantage-config/systemconfig.sh')
-rwxr-xr-xabs/mv-core/MythVantage-config/systemconfig.sh1269
1 files changed, 5 insertions, 1264 deletions
diff --git a/abs/mv-core/MythVantage-config/systemconfig.sh b/abs/mv-core/MythVantage-config/systemconfig.sh
index a85d88e..218f705 100755
--- a/abs/mv-core/MythVantage-config/systemconfig.sh
+++ b/abs/mv-core/MythVantage-config/systemconfig.sh
@@ -4,1275 +4,16 @@
#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`
-
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/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 setupmysql {
-#setup mysql.txt to find the database servers
-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 /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 /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}/data/home/mythtv/.mythtv/mysql.txt
-rm ${BASE}${MV_ROOT}/bin/mythtv/.mythtv/mysql.txt
-if [ -f ${BASE}/data/home/mythtv/templates/mysql.txt ]
-then
- cp ${BASE}/data/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 $TEMPLATES/rc.conf /etc/rc.conf
-
-}
-
-
-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
- /usr/bin/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
- /usr/bin/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 $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 lircrc ${BASE}/etc/lircrc
- 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
- ;;
-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 $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
- /usr/bin/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 -f $TEMPLATES/LCD/$LCDtype/LCDd.conf /etc
- # install="lcdproc $install"
- daemon_add="lcdd $daemon_add"
- /usr/bin/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 /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 {
-cp -f /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
-
-}
-
-function setupntp () {
-cat > ${BASE}/etc/ntp.conf << EOF
-# default restrictions
-restrict default noquery notrust nomodify
-# NTP drift file - used to keep track of your system clocks
-# time deviation
-driftfile /etc/ntp.drift
-
-# NTP log file
-logfile /var/log/ntp.log
-# override the default restrictions here, servers that can query
-restrict 192.168.0.0 mask 255.255.0.0 nomodify
-restrict 10.0.0.0 mask 255.0.00 nomodify
-
-#servers to sync with
-EOF
-#this is used for backend or standlone types
-if [ $1 = "1" ]
-then
- echo "server ntp1.cs.wisc.edu" >> ${BASE}/etc/ntp.conf
- echo "server ntp3.sf-bay.org" >> ${BASE}/etc/ntp.conf
- echo "restrict ntp1.cs.wisc.edu noquery nomodify" >> ${BASE}/etc/ntp.conf
- echo "restrict ntp3.sf-bay.org noquery nomodify" >> ${BASE}/etc/ntp.conf
-
-else
- echo "server $dbhost" >> ${BASE}/etc/ntp.conf
- echo "restrict $dbhost noquery nomodify" >> ${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
-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
-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
- 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
-done
-# fi
-
-for i in $install
-do
- 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
-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 ghosd $ser_daemon_add"
- ser_install="ghosd $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 nfslock $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=1
- 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
-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}:/data/media /data/media
- 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/certmaster/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,${MYTHIP}/"
- ex ${BASE}/etc/dnsmasq.conf <<EOF
- :$COMMAND
- :wq
-EOF
-
-
- #change nfsroot to my ip
- COMMAND="%s/nfsroot=.*:/nfsroot=${MYTHIP}:/"
- 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 ${MYTHIP} \& /"
-ex ${BASE}/data/srv/tftp/dongle.bin.config <<EOF
-:$COMMAND
-:wq
-EOF
-}
-
-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
-kill -s USR1 $PID
-
-}
-
-
-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"
- #showhost="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"
- ;;
- NETINSTALL) RESTART_NETWORK="false"
- NET_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
- if [ ! x$NET_INSTALL = xtrue ]
- 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
- fi
-
- setup_network
- vnc_check
- if [ x$USEVNC = x1 ]
- then
- echo "reloading network"
- ${BASE}/etc/net/scripts/network.init reload
- ${BASE}/etc/net/scripts/network.init restart
- else
- echo "netboot/vnc, will not restart 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="lighttpd mysql mythdb-initial avahli myth2ipod mythtv-status portmap local-website webcalendar php $ser_install"
- remove="none $ser_remove"
-
- daemon_add="lighttpd mysql mythbackend avahi portmap $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="lighttpd local-website mysql mythdb-initial webcalendar php avahi portmap myth2ipod mythtv-status func $ser_install "
- remove="$ser_remove"
-
- daemon_add="lighttpd mysql mythbackend avahi portmap certmaster $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 func $ser_install "
- remove=" $ser_remove"
-
- daemon_add="mythbackend avahi portmap mythtv-status funcd $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 avahi func $ser_install"
- remove="mysql local-website lighttpd php mythweb$postfix $ser_remove"
-
- daemon_add="avahi portmap funcd $ser_daemon_add "
- daemon_remove="mysql lighttpd mythbackend $ser_daemon_remove"
- ;;
-
-
- esac
- setupSyslog
- setupfuncminion
-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
-
-
+postfix=`cat ${BASE}/usr/local/share/mythtv/.releasetype`
+systemconfig.py -m $@
+rc=$?
+echo "systemconfig.py exit code $rc"
+exit $rc
-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" > /data/home/mythtv/.mythtv/smolt.info 2>/dev/null
-echo "remote=$Remotetype" >> /data/home/mythtv/.mythtv/smolt.info 2>/dev/null