summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/MythVantage-config/mv_advanced.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/mv-core/MythVantage-config/mv_advanced.py')
-rwxr-xr-xabs/mv-core/MythVantage-config/mv_advanced.py384
1 files changed, 0 insertions, 384 deletions
diff --git a/abs/mv-core/MythVantage-config/mv_advanced.py b/abs/mv-core/MythVantage-config/mv_advanced.py
deleted file mode 100755
index 4790fcf..0000000
--- a/abs/mv-core/MythVantage-config/mv_advanced.py
+++ /dev/null
@@ -1,384 +0,0 @@
-# -*- coding: utf-8 -*-
-import logging, os, re
-import mv_common
-
-def setup_pacman(create_link):
- if create_link:
- logging.info(" Creating pacman link")
- #LOOK
- #This is not implmented yet, below is the bash code for reference
- #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
- else:
- logging.info(" Pacman link will not be created")
- return
-
-def setup_ncid_client(dbhost,templatefile):
- #This always runs
- logging.debug(" Configuring ncid client with server %s",dbhost)
- cmd = '''sed -e "s/^set Host.*$/set Host %s /" %s >/etc/ncid/ncid.conf''' %(dbhost, templatefile)
- return
-
-def setup_ncid_daemon(port,templatefile,Runncidd):
- logging.info(" Configuring callerid daemon")
- if Runncidd == "1":
- logging.debug(" Port: %s",port)
- mv_common.cp_and_log("/etc/ncid/ncidd.conf",templatefile)
- cmd = '''sed -e "s/.*set ttyport.*$/set ttyport = \/dev\/%s /" %s >/etc/ncid/ncidd.conf''' %(port,templatefile)
- mv_common.runcmd(cmd)
- mv_common.pacinstall("ncidd")
- mv_common.add_service("ncidd")
- else:
- logging.debug(" Callerid will not run")
- mv_common.pacremove("ncidd")
- mv_common.remove_service("ncidd")
- return
-
-def setup_splash(Usebootsplash):
- if Usebootsplash == "1":
- logging.info(" Enabling splash")
- cmd = ''' sed -i "s/^default.*0/default 1/g" /boot/grub/menu.lst'''
- mv_common.runcmd(cmd)
- else:
- logging.info(" Disabling splash")
- cmd = ''' sed -i "s/^default.*1/default 0/g" /boot/grub/menu.lst'''
- mv_common.runcmd(cmd)
- return
-def setup_rrd(UseRRD):
- if UseRRD == "1":
- logging.info(" Enabling rrd_stats")
- mv_common.pacinstall("rrd_stats")
- else:
- logging.info(" Disabling rrd_stats")
- mv_common.pacremove("rrd_stats")
-
-
-def setup_hobbit(UseHobbit,SystemType,dbhost):
- if UseHobbit == "1":
- if SystemType == "Standalone" or SystemType == "Master_backend":
- logging.info(" Installing hobbit server")
- mv_common.pacinstall("hobbitserver")
- mv_common.add_service("hobbit")
- else:
- logging.info(" Installing hobbit client")
- mv_common.pacinstall("hobbit-client")
- setup_hobbit_client(dbhost)
- mv_common.add_service("hobbit-client")
-
- else:
- logging.info(" Removing Hobbit")
- mv_common.pacremove("hobbit")
- mv_common.pacremove("hobbit-client")
- mv_common.remove_service("hobbit-client")
- mv_common.remove_service("hobbitserver")
- cmd = "rm -f /data/srv/httpd/htdocs/hobbit/index.html"
- mv_common.runcmd(cmd)
- return
-
-def setup_hobbit_client(dbhost):
- logging.info(" Configuring hobbit client")
- logging.debug(" hobbit server is %s:", dbhost)
- cmd='''sed -i "s/^BBDISP.*$/BBDISP=%s/g" /data/srv/hobbit/client/etc/hobbitclient.cfg ''' %dbhost
- mv_common.runcmd(cmd)
- return
-
-def setup_evrouter(UseEvrouter,EvrouterConfig,template):
- if UseEvrouter == "1":
- logging.info(" Configuring everouter")
- logging.debug(" EvrouterConfig is %s:",EvrouterConfig)
- if EvrouterConfig == "tinker":
- logging.debug(" tinker mode, not changing the config")
- return
- mv_common.pacinstall("evrouter")
- mv_common.pacinstall("Xvfb")
- mv_common.cp_and_log(template+"/evrouter/"+EvrouterConfig,"/etc/evrouter.cfg")
- mv_common.add_service("evrouter")
- mv_common.add_service("Xvfb")
- else:
- logging.info(" Not using evrouter")
- mv_common.pacremove("evrouter")
- mv_common.remove_service("evrouter")
- mv_common.remove_service("Xvfb")
-
- return
-
-def setup_DNSmasq(RunDHCP,ip,gw,nameserver):
- if RunDHCP == "1":
- logging.info(" Configuring dhcp server(dnsmasq)")
- logging.debug(" ip: %s", ip)
- logging.debug(" gw: %s", gw)
- logging.debug(" ns: %s", nameserver)
- mv_common.pacinstall("dnsmasq")
- mv_common.pacinstall("mvpmc")
- mv_common.add_service("dnsmasq")
- logging.debug(" Setting default route to my gw: %s",gw)
- try:
- f = open("/etc/dnsmasq.conf",'r')
- dnsconf = f.readlines()
- f.close()
- except:
- logging.info(" Couldn't open dnsmasq.conf")
- return
- for line in dnsconf:
- outline = line
- if re.match("^dhcp-option=3",line):
- logging.debug(" Setting default route to my gw: %s",gw)
- outline = "dhcp-option=3,%s\n" %gw
- if re.match("^dhcp-option=6",line):
- logging.debug(" Setting dns to my ip: %s",ip)
- outline = "dhcp-option=6,%s\n" %ip
- f.write(outline)
- f.close()
-
- logging.debug(" change nfsroot to my ip:%s",ip)
- cmd = '''sed -i "s/nfsroot=.*:/nfsroot=%s:/g" /data/srv/tftp/pxelinux.cfg/default''' %ip
- mv_common.runcmd(cmd)
-
- logging.debug(" Adding 127.0.0.1 to resolv.conf")
- logging.debug(" other nameserver is %s",nameserver)
- try:
- f = open("/etc/resolv.conf",'r')
- dns = f.readlines()
- f.close()
- except:
- dns=''
- logging.debug(" Couldn't open resolv.conf for reading")
- try:
- f = open("/etc/resolv.conf",'w')
- line="search lan\n"
- f.write(line)
- line="nameserver 127.0.0.1\n"
- f.write(line)
- line="nameserver %s\n" %nameserver
- f.write(line)
- for line in dns:
- f.write(line)
- f.close()
- except:
- logging.debug(" Couldn't open resolv.conf for writing")
-
- logging.debug(" setup dongle.config")
- cmd = ''' sed -i "s/mvpmc -f .*/mvpmc -f \/etc\/helvR10.fon -s %s \& /" /data/srv/tftp/dongle.bin.config ''' %ip
- #COMMAND="%s/mvpmc -f .*/mvpmc -f \/etc\/helvR10.fon -s ${ip} \& /"
- #ex ${BASE}/data/srv/tftp/dongle.bin.config <<EOF
- mv_common.runcmd(cmd)
- else:
- logging.info(" removing dhcp server(dnsmasq)")
- mv_common.pacremove("dnsmasq")
- mv_common.pacremove("mvpmc")
- mv_common.remove_service("dnsmasq")
- return
-
-def setup_mythweb(UseMythWEB):
- if UseMythWEB == "1":
- logging.info(" Activating mythweb")
- mv_common.pacinstall("lighttpd")
- mv_common.pacinstall("mythweb")
- mv_common.add_service("lighttpd")
- else:
- logging.info(" Removing mythweb")
-# mv_common.pacremove("lighttpd")
- mv_common.pacremove("mythweb")
- # mv_common.remove_service("lighttpd")
- return
-
-def setup_samba(systemconfig,data_config):
- mythhome = data_config.MYTHHOME
- if systemconfig["UseSamba"] == "1":
- logging.info(" Activating windows file sharing")
- usersamba=mythhome+"/templates/smb.conf"
- mv_common.pacinstall("samba")
- if not os.path.exists("/etc/samba"):
- logging.debug(" Creating directory /etc/samba")
- try:
- os.makedirs("/etc/samba")
- except:
- pass
-
- if os.path.exists(usersamba):
- logging.debug(" Using user provided config file %s",usersamba)
- cmd = "install -D -m755 %s /etc/samba/smb.conf" %usersamba
- mv_common.runcmd(cmd)
- else:
- Samba_media = systemconfig["Samba_media"]
- Samba_home = systemconfig["Samba_home"]
- if systemconfig["Samba_mediareadonly"] == "1":
- smreadonly = "yes"
- else:
- smreadonly = "no"
-
- if systemconfig["Samba_homereadonly"] == "1":
- shreadonly = "yes"
- else:
- shreadonly = "no"
- domain = systemconfig["Samba_domain"]
- servername = systemconfig["hostname"]
-
- try:
- f = open(systemconfig["TEMPLATES"]+"/samba/smb.conf.template",'r')
- t_smbconf = f.readlines()
- f.close()
- except:
- logging.info(" Couldn't open samba template file")
- return
-
- try:
- f = open("/etc/samba/smb.conf",'w')
- except:
- logging.info(" Couldn't open samba file")
- return
-
- for line in t_smbconf:
- outline = line
- if re.match("^.*workgroup", line):
- logging.debug(" Setting workgroup to %s",domain)
- outline="workgroup = %s\n" %domain
- logging.debug(" %s",outline)
- if re.match("^.* server string",line):
- logging.debug(" Setting server name to %s",servername)
- outline="server string = %s\n" %servername
- logging.debug(" %s",outline)
- f.write(outline)
- outline="include = %s/templates/user.shares \n" %mythhome
- f.write(outline)
- if Samba_media == "1":
- outline="include = /etc/samba/smb.conf.media\n"
- f.write(outline)
- if Samba_home == "1":
- outline="include = /etc/samba/smb.conf.home\n"
- f.write(outline)
- f.close()
- logging.info(" Writing smb.conf.media")
- try:
- f = open("/etc/samba/smb.conf.media","w")
- except:
- logging.info(" Couldn't open smb.conf.media")
- return
- medialines='''
-[%s]
-path = %s
-public = yes
-only guest = yes
-writeable = %s
-printable = no
-force user = mythtv
-force group = mythtv
-create mask = 0755''' %(data_config.SMEDIA,data_config.DATAMOUNT,smreadonly)
- f.write(medialines)
- f.close
- logging.debug(" %s",medialines)
- logging.info(" Writing smb.conf.home")
- try:
- f = open("/etc/samba/smb.conf.home","w")
- except:
- logging.info(" Couldn't open smb.conf.home")
- return
- homelines='''
-[home]
-path = %s
-public = yes
-only guest = yes
-writeable = %s
-printable = no
-force user = mythtv
-force group = mythtv
-create mask = 0755 ''' %(data_config.MYTHHOME,shreadonly)
- f.write(homelines)
- f.close
- logging.debug(" %s",homelines)
-
-
- mv_common.add_service("nmbd")
- mv_common.add_service("smbd")
- else:
- logging.info(" Removing windows file sharing")
- mv_common.remove_service("smbd")
- mv_common.remove_service("nmbd")
- mv_common.pacremove("samba")
- mv_common.pacinstall("smbclient")
- return
-
-def setup_NFSshares(UseNFS,templatefile):
- if UseNFS == "1":
- logging.info(" Activating NFS server")
- mv_common.pacinstall("nfs-utils")
- mv_common.pacinstall("portmap")
- cmd = '''sed -e "s/REPLACEME/*/g" %s >/etc/exports''' %templatefile
- mv_common.add_service("nfsd")
- mv_common.add_service("nfs-utils")
- mv_common.add_service("portmap")
- else:
- logging.info(" Removing NFS server")
- mv_common.remove_service("nfsd")
- return
-
-def setup_dyndns(DDnsEnable):
- if DDnsEnable == "1":
- logging.info(" Installing Dynamic DNS client")
- mv_common.pacinstall("inadyn")
- mv_common.add_service("inadyn")
- else:
- logging.info(" Removing Dynamic DNS client")
- mv_common.pacremove("inadyn")
- mv_common.remove_service("inadyn")
-
-
-def setup_advanced(systemconfig,data_config):
- logging.info("____Start of advanced configuration____")
- create_link = False
- if systemconfig["SystemType"] == "Master_backend":
- create_link = True
- setup_pacman(create_link)
- setup_ncid_client(systemconfig["dbhost"],
- systemconfig["TEMPLATES"]+"/ncid.conf.template")
-
- setup_ncid_daemon(systemconfig["nciddSerialPort"],
- systemconfig["TEMPLATES"]+"/ncidd.conf.template",
- systemconfig["Runncidd"])
-
- setup_splash(systemconfig["Usebootsplash"])
- if data_config.SYSTEMTYPE == "MythVantage":
- setup_hobbit(systemconfig["UseHobbit"],
- systemconfig["SystemType"],
- systemconfig["dbhost"])
- if data_config.SYSTEMTYPE == "LinHES":
- setup_rrd(systemconfig["UseRRD"])
-
- setup_evrouter(systemconfig["UseEvrouter"],
- systemconfig["EvrouterConfig"],
- systemconfig["TEMPLATES"])
-
- setup_DNSmasq(systemconfig["RunDHCP"],
- systemconfig["mythip"],
- systemconfig["mythgw"],
- systemconfig["mythdns"])
-
- setup_mythweb(systemconfig["UseMythWEB"])
- setup_samba(systemconfig,data_config)
- setup_NFSshares(systemconfig["UseNFS"],
- systemconfig["TEMPLATES"]+"/exports.template")
-
- setup_dyndns(systemconfig["DDnsEnable"])
- logging.info("__End of advanced configuration\n")