summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2009-04-01 03:07:43 (GMT)
committerJames Meyer <james.meyer@operamail.com>2009-04-01 03:07:43 (GMT)
commit2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0 (patch)
tree23353a165922bfbbd8fd334ef10ead163a22c376
parent8e7344c420b147242aa3a0d3a902c9d13046b0d9 (diff)
downloadlinhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.zip
linhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.tar.gz
linhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.tar.bz2
LinHES-config: reworked lirc configuration to make it easier to use.
currently hauppauge is broken.
-rw-r--r--abs/core-testing/LinHES-config/PKGBUILD5
-rwxr-xr-xabs/core-testing/LinHES-config/install_functions.sh22
-rw-r--r--abs/core-testing/LinHES-config/ir_config.sh193
-rwxr-xr-xabs/core-testing/LinHES-config/systemconfig.sh264
4 files changed, 306 insertions, 178 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index db6314f..f4012c5 100644
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,12 +1,12 @@
pkgname=LinHES-config
pkgver=1.0
-pkgrel=346
+pkgrel=356
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev )
pkgdesc="Install and configure your system"
depends=(bc libstatgrab mysql-python expect curl dnsutils parted sg3_utils nmbscan system-templates )
arch=('i686')
-source=(mythinstall.bin myth_user_call file_time_offset.py install-ui.xml install_proxy.sh install_functions.sh systemconfig.sh install_db_chroot.sh restore_default_settings.sh xconfig.sh timezip.py soundconfig.sh LinHES-release issue MythVantage.sh create_master.sh build_diskless.sh networkconfig.sh timezone.bin autocard.py restore_km_db_chroot.sh README)
+source=(mythinstall.bin myth_user_call file_time_offset.py install-ui.xml install_proxy.sh install_functions.sh systemconfig.sh install_db_chroot.sh restore_default_settings.sh xconfig.sh timezip.py soundconfig.sh LinHES-release issue MythVantage.sh create_master.sh build_diskless.sh networkconfig.sh timezone.bin autocard.py restore_km_db_chroot.sh README ir_config.sh)
install=LinHES.install
build() {
@@ -27,6 +27,7 @@ build() {
install -m 0755 install_functions.sh $MVDIR/bin/install_functions.sh
install -m 0755 systemconfig.sh $MVDIR/bin/systemconfig.sh
install -m 0755 xconfig.sh $MVDIR/bin/xconfig.sh
+ install -m 0755 ir_config.sh $MVDIR/bin/ir_config.sh
# install -m 0755 live-install.sh $MVDIR/bin/live-install.sh
install -m 0755 install_db_chroot.sh $MVDIR/bin/install_db_chroot.sh
install -m 0755 restore_km_db_chroot.sh $MVDIR/bin/restore_km_db_chroot.sh
diff --git a/abs/core-testing/LinHES-config/install_functions.sh b/abs/core-testing/LinHES-config/install_functions.sh
index ddade6d..a57e1bd 100755
--- a/abs/core-testing/LinHES-config/install_functions.sh
+++ b/abs/core-testing/LinHES-config/install_functions.sh
@@ -85,12 +85,30 @@ do
FoundReceiverType=`echo "$line"|cut -d"|" -f2`
Remotetype=`echo "$line"|cut -d"|" -f4`
statusline=`echo "$line"|cut -d"|" -f2,4`
- echo "Found $statusline , $Remotetype"
+ #echo "Found $statusline , $Remotetype"
+ echo "Found Hauppauge"
+ echo "-------------------"
+ echo " 1) Hauppauge black"
+ echo " 2) Hauppauge silver"
+ echo " 3) hauppauge-grey-g3"
+ echo ""
+ read -p "Which Hauppauge remote (5 sec): " -t 5 ans
+ echo
+ if [ "$?" != "0" ]; then
+ echo
+ echo "Using default $Remotetype"
+ else
+ case $ans in
+ 1) Remotetype="hauppauge-black";;
+ 2) Remotetype="hauppauge-silver";;
+ 3) Remotetype="hauppauge-grey-g3" ;;
+ *) echo "Using default $Remotetype";;
+ esac
+ fi
update_db_settings HostReceiverType $FoundReceiverType
setupremote
break
fi
-
done
}
diff --git a/abs/core-testing/LinHES-config/ir_config.sh b/abs/core-testing/LinHES-config/ir_config.sh
new file mode 100644
index 0000000..670f9fa
--- /dev/null
+++ b/abs/core-testing/LinHES-config/ir_config.sh
@@ -0,0 +1,193 @@
+function include_lirc () {
+ config_file=$1
+ include_file=$2
+ grep -q ${include_file} ${config_file}
+ if [ $? = 0 ]
+ then
+ echo ${include_file} already present
+ else
+ echo "include \"${include_file}\"" >> $config_file
+ fi
+
+}
+
+
+
+function setup_ir_remote {
+ case $Remotetype in
+ no_remote) echo "No remote selected"
+ daemon_remove="lircd $daemon_remove"
+ ;;
+
+ tinker) echo "Remote in tinker mode"
+ ;;
+
+ *) echo "Start of ir_remote setup"
+ #make backup copy
+ mv ${BASE}/etc/lircd.conf ${BASE}/etc/lircd.conf.`date +%Y-%m-%d-%H-%M`
+ mv ${BASE}/etc/lircrc ${BASE}/etc/lircrc.`date +%Y-%m-%d-%H-%M`
+ cd $TEMPLATES/remotes/$Remotetype
+ for i in lircd*
+ do
+ include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/remotes/$Remotetype/$i
+ done
+
+ for i in lircrc*
+ do
+ include_lirc ${BASE}/etc/lircrc $TEMPLATES/remotes/$Remotetype/$i
+ done
+
+ chmod 755 /etc/lircrc
+ daemon_add="lircd $daemon_add"
+ #standard location for mythtv lircrc
+ 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
+ #standard location for lircrc
+ if [ ! -e /home/mythtv/.lircrc ]
+ then
+ ln -s /etc/lircrc /home/mythtv/.lircrc 2> /dev/null
+ fi
+ echo "Sending hup to lircd"
+ sv hup lircd
+ ;;
+ esac
+
+}
+function setup_ir_receiver () {
+ echo "setup_ir_receiver"
+ case $ReceiverType in
+ 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 setup_lcd () {
+ 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 not in tinker mode check for remote
+ if [ ! x$Remotetype = xtinker ]
+ then
+ if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ]
+ then
+ cd $TEMPLATES/LCD/$LCDtype
+ for i in lircd*
+ do
+ include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/LCD/$LCDtype/$i
+ done
+
+ for i in lircrc*
+ do
+ include_lirc ${BASE}/etc/lircrc $TEMPLATES/LCD/$LCDtype/$i
+ done
+ cd -
+ fi
+ fi
+ ;;
+ esac
+}
+
+function setup_blaster_proto () {
+ for i in `seq $Hostnumblaster`
+ do
+ TEMP=HostTransmitproto_$i
+ eval proto=\$${TEMP}
+ if [ -f $TEMPLATES/transmit/${proto}/lircd.conf ]
+ then
+ include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/transmit/${proto}/lircd.conf
+ fi
+ done
+ #--------------------------------REVISIT THIS------------------------
+ #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
+}
+
+function setup_blaster_transmiter () {
+ echo "setup_blaster_transmiter"
+ #if it's Reciever type, then these modules have already been loaded.
+ if [ ! x$HostBlasterType = xReceiver ]
+ then
+ case $HostBlasterType in
+ Serial) echo "setup serial lirc blaster"
+ sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage
+ echo "lirc_serial #blaster" >> ${BASE}/etc/modules.mythvantage
+ load-modules-mythvantage.sh
+ ;;
+ Hauppauge) echo "setup hauppauge blaster (lirc_i2c)"
+ sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage
+ echo "lirc_i2c #blaster" >> ${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
+ fi
+
+}
+
+function setupir () {
+ if [ ! x$Remotetype = xtinker ]
+ then
+ setup_ir_remote
+ setup_ir_receiver
+ setup_blaster_proto
+ setup_blaster_transmiter
+ fi
+ setup_lcd
+} \ No newline at end of file
diff --git a/abs/core-testing/LinHES-config/systemconfig.sh b/abs/core-testing/LinHES-config/systemconfig.sh
index 2cb1a0c..72c5287 100755
--- a/abs/core-testing/LinHES-config/systemconfig.sh
+++ b/abs/core-testing/LinHES-config/systemconfig.sh
@@ -213,69 +213,6 @@ Hauppauge) echo "setup hauppauge reciever (lirc_i2c)"
}
-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 ]
@@ -302,46 +239,6 @@ function setupevrouter {
}
-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 {
@@ -479,6 +376,7 @@ install="$pkglistinstall $install"
remove="$pkglistremove $remove"
}
+
function LCDcheck () {
case x$LCDtype in
xtinker) echo "do nothing lcd "
@@ -1239,6 +1137,12 @@ case $i in
daemon_add=$ser_daemon_add
daemon_remove=$ser_daemon_remove
;;
+ screensaver)
+ showscreensaver="true"
+ ;;
+ ir)
+ showir="true"
+ ;;
this_is_install) MV_NEW_INSTALL="true"
;;
@@ -1290,86 +1194,85 @@ 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
+ . $MV_ROOT/bin/ir_config.sh
+ setupir
+ 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"
+ 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"
- remove="none $ser_remove"
+ ;;
+ Master_backend)
+ setupntp 1
+ services
- daemon_add="mysql mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="none $ser_daemon_remove"
+ 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
- ;;
-Master_backend)
- setupntp 1
- services
+ install="mysql mythdb-initial avahi portmap nfslock local-website myth2ipod mythtv-status $ser_install "
+ remove="$ser_remove"
- 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
+ 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
- install="mysql mythdb-initial avahi portmap nfslock local-website myth2ipod mythtv-status $ser_install "
- remove="$ser_remove"
+ #cp $TEMPLATES/mysql.service ${BASE}/etc/avahi/services/mysql.service
+ install="mysql avahi local-website portmap nfslock $ser_install "
+ remove=" $ser_remove"
- daemon_add="mysql mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="$ser_daemon_remove"
- ;;
- Slave_backend)
+ 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 [ 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
+ 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"
+ install="libmysqlclient mysql-clients portmap nfslock avahi local-website $ser_install"
+ remove="mysql mythweb$postfix $ser_remove"
- daemon_add="mythbackend avahi portmap nfslock netfs lighttpd $ser_daemon_add"
- daemon_remove="$ser_daemon_remove"
+ daemon_add="avahi portmap nfslock netfs lighttpd $ser_daemon_add "
+ daemon_remove="mysql mythbackend $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
+ esac
+ #setupSyslog
fi
@@ -1384,7 +1287,10 @@ if [ x$showhost = "xtrue" ]
then
setupmysqlnetwork
setupmysql
- setupremote
+
+ #setupremote
+ #REMOTE FIND ME JM
+
#grab the new dbhost key
#/usr/bin/grabkey.py
fi
@@ -1449,14 +1355,24 @@ then
setuphobbitclient
setupreceiver
setupevrouter
- setupblaster
- setupLCD
+ #setupblaster
+ #setupLCD
setupDNSMASQ
- setupscreensaver
+
fi
+if [ x$showscreensaver = xtrue ]
+then
+ setupscreensaver
+fi
+
+if [ x$showir = xtrue ]
+then
+ . $MV_ROOT/bin/ir_config.sh
+ setupir
+fi
daemons
#add check for lcd, and restart if needed.