summaryrefslogtreecommitdiffstats
path: root/abs/core-testing
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing')
-rw-r--r--abs/core-testing/LinHES-config/PKGBUILD206
-rwxr-xr-xabs/core-testing/LinHES-config/mv_advanced.py3
-rwxr-xr-xabs/core-testing/LinHES-config/mv_common.py25
-rwxr-xr-xabs/core-testing/LinHES-config/mv_ddns.py5
-rwxr-xr-xabs/core-testing/LinHES-config/mv_hostype.py5
-rwxr-xr-xabs/core-testing/LinHES-config/mv_ir.py21
-rwxr-xr-xabs/core-testing/LinHES-config/mv_network.py11
-rwxr-xr-xabs/core-testing/LinHES-config/mv_screensaver.py3
-rwxr-xr-xabs/core-testing/LinHES-config/mv_smolt.py3
-rwxr-xr-xabs/core-testing/LinHES-config/mv_software.py4
-rwxr-xr-xabs/core-testing/LinHES-config/mv_webuser.py4
-rw-r--r--abs/core-testing/LinHES-config/mythvantage.cfg21
-rwxr-xr-xabs/core-testing/LinHES-config/systemconfig.py45
-rwxr-xr-xabs/core-testing/linhes-scripts/screenshooter.sh4
-rw-r--r--abs/core-testing/mythinstall/PKGBUILD2
-rw-r--r--abs/core-testing/mythtv/stable-0.22/mythsmolt/PKGBUILD9
-rw-r--r--abs/core-testing/mythtv/stable-0.22/mythsmolt/smolt_init_login.sh39
-rw-r--r--abs/core-testing/perl_modules/libxml-perl/PKGBUILD (renamed from abs/core-testing/libxml-perl/PKGBUILD)0
-rw-r--r--abs/core-testing/perl_modules/perl-xml-dom/PKGBUILD (renamed from abs/core-testing/perl-xml-dom/PKGBUILD)0
-rw-r--r--abs/core-testing/perl_modules/perlxml/PKGBUILD (renamed from abs/core-testing/perlxml/PKGBUILD)0
-rwxr-xr-xabs/core-testing/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/lircd/run76
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/postfix/run8
-rwxr-xr-xabs/core-testing/system-templates/PKGBUILD2
-rw-r--r--abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircd-haupgrey-alt.conf199
-rw-r--r--abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircrc-haupgrey-alt533
-rw-r--r--abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/preview.jpgbin0 -> 3069 bytes
-rw-r--r--abs/core-testing/test-pattern/PKGBUILD16
-rwxr-xr-xabs/core-testing/test-pattern/test_pattern.bash220
29 files changed, 1350 insertions, 116 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index 60c6b07..37d5f0a 100644
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,49 +1,51 @@
pkgname=LinHES-config
pkgver=2.1
-pkgrel=27
+pkgrel=34
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
-depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
- 'sg3_utils' 'nmbscan' 'system-templates' 'rsync' 'python-parted'
- 'ddcxinfo' 'python-pexpect' 'python-netifaces' 'LinHES-timezone'
+depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
+ 'sg3_utils' 'nmbscan' 'system-templates' 'rsync' 'python-parted'
+ 'ddcxinfo' 'python-pexpect' 'python-netifaces' 'LinHES-timezone'
'python-iplib' 'mythinstall>=2-10')
arch=('i686')
-source=(mv_install.py
- mv_config.py
- myth_user_call
- file_time_offset.py
- 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
- autocard.py
- restore_km_db_chroot.sh
- README
- mv_advanced.py
- mv_common.py
- mv_ddns.py
- mv_ir.py
- mv_misc.py
- mv_network.py
- mv_screensaver.py
- mv_smolt.py
- mv_software.py
- mv_webuser.py
- mv_hostype.py
- systemconfig.py
- myth_user_call.py)
+source=(mv_install.py
+ mv_config.py
+ myth_user_call
+ file_time_offset.py
+ 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
+ autocard.py
+ restore_km_db_chroot.sh
+ README
+ mv_advanced.py
+ mv_common.py
+ mv_ddns.py
+ mv_ir.py
+ mv_misc.py
+ mv_network.py
+ mv_screensaver.py
+ mv_smolt.py
+ mv_software.py
+ mv_webuser.py
+ mv_hostype.py
+ systemconfig.py
+ myth_user_call.py
+ mythvantage.cfg)
+backup=(etc/mythvantage.cfg)
install=LinHES.install
build() {
@@ -75,17 +77,18 @@ build() {
install -m 0755 mv_config.py $MVDIR/bin/mv_config.py
install -m 0755 mv_install.py $MVDIR/bin/mv_install.py
install -m 0755 mv_advanced.py $MVDIR/bin/
- install -m 0755 mv_common.py $MVDIR/bin/
- install -m 0755 mv_ddns.py $MVDIR/bin/
- install -m 0755 mv_ir.py $MVDIR/bin/
- install -m 0755 mv_misc.py $MVDIR/bin/
- install -m 0755 mv_network.py $MVDIR/bin/
- install -m 0755 mv_screensaver.py $MVDIR/bin/
- install -m 0755 mv_smolt.py $MVDIR/bin/
- install -m 0755 mv_software.py $MVDIR/bin/
- install -m 0755 mv_webuser.py $MVDIR/bin/
- install -m 0755 mv_hostype.py $MVDIR/bin/
- install -m 0755 systemconfig.py $MVDIR/bin/
+ install -m 0755 mv_common.py $MVDIR/bin/
+ install -m 0755 mv_ddns.py $MVDIR/bin/
+ install -m 0755 mv_ir.py $MVDIR/bin/
+ install -m 0755 mv_misc.py $MVDIR/bin/
+ install -m 0755 mv_network.py $MVDIR/bin/
+ install -m 0755 mv_screensaver.py $MVDIR/bin/
+ install -m 0755 mv_smolt.py $MVDIR/bin/
+ install -m 0755 mv_software.py $MVDIR/bin/
+ install -m 0755 mv_webuser.py $MVDIR/bin/
+ install -m 0755 mv_hostype.py $MVDIR/bin/
+ install -m 0755 systemconfig.py $MVDIR/bin/
+ install -m 0755 mythvantage.cfg $startdir/pkg/etc/
#README file displayed on install
install -m 0755 README $MVDIR/README
@@ -98,3 +101,108 @@ build() {
install -m 0755 issue $startdir/pkg/etc/issue
}
+md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
+ '1a4694fcd694b362c339bda781ed0f3e'
+ 'e36da536dd651ef182e7642337889e77'
+ '3baa23764e1b6bcb2d66d7d859096940'
+ 'd7a8cd4a0060399ae22e69f74e04eb07'
+ '7a45287a07145fde5aa664583d4f6fba'
+ 'f88d2fb88339a4bf8ec9217a3fbcdef7'
+ '8ac1cfd2eca0f641737da0d0aca416a7'
+ 'd8a4a1699e04eed9ee69d58616069f33'
+ '4620f6f498ef4523398635cb0bd59425'
+ '06188493e5ed79cb501d3c5694dee8ca'
+ 'e459ed069317bccb20351f037a9df3d2'
+ '26ee0932243b79484b37eb8f6cf04cd4'
+ '6aff504ed5e860adc1b7317cd0780900'
+ '55fccb1da0417a896b724f7cfc32dd5a'
+ 'ab2aa42c2947148c2b1cac0ade6d1d55'
+ 'd429b59d3cfb37b0624c6a4a71a7c2c0'
+ 'a225143e3df6f56d451c2875e54ddbae'
+ '687555968d4ca688d8f95c8f13e1d8d4'
+ '3d1e4a119f38cff0498bf8a67e94e4b3'
+ '37401edf67296d3a4467ad178958d177'
+ 'ee7c8e1f025ce1527ecfffabafb26806'
+ '41b03fb1e0a9d9ae7588e3b813212772'
+ 'a9ffe72c3ede99d505fdc97572a7c256'
+ 'f1c98a4acb01d9284d192149914c1e18'
+ '65d93f15ac85adf8299552581789a731'
+ '4badc3c664c55f87396a473e6c14d4bc'
+ 'e2aa772fe0bf366e26eaaf663f9257bd'
+ 'fe5e31b833cc6707209e9d656b6eb53c'
+ 'd328d63eaa4252f3d4888476c79bbff6'
+ '23d0e12b7ca1cc6ea6b993c1d7ff20b9'
+ '88059ef8c4a2926bb6fde14d810e1336'
+ 'cf35353141b70145f3ee8b0bd852c9f1'
+ 'cf60e7ba4cf3467bb5539d5c51da61b6'
+ 'a63ff9ef5250965aeabc74bfa8e43981')
+md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
+ '1a4694fcd694b362c339bda781ed0f3e'
+ 'e36da536dd651ef182e7642337889e77'
+ '3baa23764e1b6bcb2d66d7d859096940'
+ 'd7a8cd4a0060399ae22e69f74e04eb07'
+ '7a45287a07145fde5aa664583d4f6fba'
+ 'f88d2fb88339a4bf8ec9217a3fbcdef7'
+ '8ac1cfd2eca0f641737da0d0aca416a7'
+ 'd8a4a1699e04eed9ee69d58616069f33'
+ '4620f6f498ef4523398635cb0bd59425'
+ '06188493e5ed79cb501d3c5694dee8ca'
+ 'e459ed069317bccb20351f037a9df3d2'
+ '26ee0932243b79484b37eb8f6cf04cd4'
+ '6aff504ed5e860adc1b7317cd0780900'
+ '55fccb1da0417a896b724f7cfc32dd5a'
+ 'ab2aa42c2947148c2b1cac0ade6d1d55'
+ 'd429b59d3cfb37b0624c6a4a71a7c2c0'
+ 'a225143e3df6f56d451c2875e54ddbae'
+ '687555968d4ca688d8f95c8f13e1d8d4'
+ '3d1e4a119f38cff0498bf8a67e94e4b3'
+ '37401edf67296d3a4467ad178958d177'
+ 'ee7c8e1f025ce1527ecfffabafb26806'
+ '41b03fb1e0a9d9ae7588e3b813212772'
+ 'a9ffe72c3ede99d505fdc97572a7c256'
+ 'df43bce1712320508d4eef8449c5d223'
+ '65d93f15ac85adf8299552581789a731'
+ '4badc3c664c55f87396a473e6c14d4bc'
+ 'e2aa772fe0bf366e26eaaf663f9257bd'
+ 'fe5e31b833cc6707209e9d656b6eb53c'
+ 'd328d63eaa4252f3d4888476c79bbff6'
+ '23d0e12b7ca1cc6ea6b993c1d7ff20b9'
+ '88059ef8c4a2926bb6fde14d810e1336'
+ 'cf35353141b70145f3ee8b0bd852c9f1'
+ 'cf60e7ba4cf3467bb5539d5c51da61b6'
+ 'a63ff9ef5250965aeabc74bfa8e43981')
+md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
+ '1a4694fcd694b362c339bda781ed0f3e'
+ 'e36da536dd651ef182e7642337889e77'
+ '3baa23764e1b6bcb2d66d7d859096940'
+ 'd7a8cd4a0060399ae22e69f74e04eb07'
+ '7a45287a07145fde5aa664583d4f6fba'
+ 'f88d2fb88339a4bf8ec9217a3fbcdef7'
+ '8ac1cfd2eca0f641737da0d0aca416a7'
+ 'd8a4a1699e04eed9ee69d58616069f33'
+ '4620f6f498ef4523398635cb0bd59425'
+ '06188493e5ed79cb501d3c5694dee8ca'
+ 'e459ed069317bccb20351f037a9df3d2'
+ '26ee0932243b79484b37eb8f6cf04cd4'
+ '6aff504ed5e860adc1b7317cd0780900'
+ '55fccb1da0417a896b724f7cfc32dd5a'
+ 'ab2aa42c2947148c2b1cac0ade6d1d55'
+ 'd429b59d3cfb37b0624c6a4a71a7c2c0'
+ 'a225143e3df6f56d451c2875e54ddbae'
+ '687555968d4ca688d8f95c8f13e1d8d4'
+ '3d1e4a119f38cff0498bf8a67e94e4b3'
+ '37401edf67296d3a4467ad178958d177'
+ 'ee7c8e1f025ce1527ecfffabafb26806'
+ '41b03fb1e0a9d9ae7588e3b813212772'
+ 'a9ffe72c3ede99d505fdc97572a7c256'
+ 'df43bce1712320508d4eef8449c5d223'
+ '65d93f15ac85adf8299552581789a731'
+ '4badc3c664c55f87396a473e6c14d4bc'
+ 'e2aa772fe0bf366e26eaaf663f9257bd'
+ 'fe5e31b833cc6707209e9d656b6eb53c'
+ 'd328d63eaa4252f3d4888476c79bbff6'
+ '23d0e12b7ca1cc6ea6b993c1d7ff20b9'
+ '857a831e8627727306208f0e776b1b98'
+ 'cf35353141b70145f3ee8b0bd852c9f1'
+ 'cf60e7ba4cf3467bb5539d5c51da61b6'
+ 'a63ff9ef5250965aeabc74bfa8e43981')
diff --git a/abs/core-testing/LinHES-config/mv_advanced.py b/abs/core-testing/LinHES-config/mv_advanced.py
index d07b7cb..bc0d19e 100755
--- a/abs/core-testing/LinHES-config/mv_advanced.py
+++ b/abs/core-testing/LinHES-config/mv_advanced.py
@@ -349,6 +349,9 @@ def setup_dyndns(DDnsEnable):
def setup_advanced(systemconfig,data_config):
+ if mv_common.read_config(mv_common.module_config,"advanced") == False :
+ logging.info("____Skipping of Advanced, config disabled____")
+ return
logging.info("____Start of advanced configuration____")
create_link = False
if systemconfig["SystemType"] == "Master_backend":
diff --git a/abs/core-testing/LinHES-config/mv_common.py b/abs/core-testing/LinHES-config/mv_common.py
index 28b53d7..0272809 100755
--- a/abs/core-testing/LinHES-config/mv_common.py
+++ b/abs/core-testing/LinHES-config/mv_common.py
@@ -1,9 +1,34 @@
# -*- coding: utf-8 -*-
import logging, os, time
import commands
+import ConfigParser
config_file = "mv_config"
data_config = __import__(config_file, globals(), locals(), [])
+module_config = ConfigParser.RawConfigParser()
+try:
+ module_config.read('/etc/mythvantage.cfg')
+except:
+ logging.info("couldn't read mythvantage.cfg")
+
+
+def read_config(module_config,data):
+ rvalue = True
+ section = "mythvantage"
+ try:
+ rvalue = module_config.get(section, data)
+ if rvalue == "False":
+ rvalue = False
+ if rvalue == "no":
+ rvalue = False
+
+
+ except:
+ logging.debug("Couldn't read mythvantage.cfg")
+ rvalue = True
+
+ return rvalue
+
def runcmd(cmd):
if data_config.NOOPDEBUG=="FALSE":
pass
diff --git a/abs/core-testing/LinHES-config/mv_ddns.py b/abs/core-testing/LinHES-config/mv_ddns.py
index 7ac7d3a..9695f76 100755
--- a/abs/core-testing/LinHES-config/mv_ddns.py
+++ b/abs/core-testing/LinHES-config/mv_ddns.py
@@ -5,12 +5,15 @@ import os, re
config_file = "mv_config"
def setup_ddns(systemconfig):
+ if mv_common.read_config(mv_common.module_config,"ddns") == False :
+ logging.info("____Skipping of DDNS, config disabled____")
+ return
logging.info("____Start of setup_ddns____")
if systemconfig["DDnsEnable"] == "1":
logging.debug(" Enabling DDNS")
mv_common.pacinstall("ddclient")
- mv_common.cp_and_log("/etc/ddclient/ddclient.conf.dynamic.dyndns.sample",
+ mv_common.cp_and_log("/etc/ddclient/ddclient.conf.dynamic.dyndns.sample",
"/etc/ddclient/ddclient.conf")
cmd = ''' sed -i -e "s/your-dynamic-dyndns-login/%s/g" /etc/ddclient/ddclient.conf''' %(systemconfig["DDnslogin"])
mv_common.runcmd(cmd)
diff --git a/abs/core-testing/LinHES-config/mv_hostype.py b/abs/core-testing/LinHES-config/mv_hostype.py
index d6ec0ed..4eade73 100755
--- a/abs/core-testing/LinHES-config/mv_hostype.py
+++ b/abs/core-testing/LinHES-config/mv_hostype.py
@@ -124,6 +124,9 @@ def setup_syslog(dbhost):
return
def hostypeprint(systemconfig):
+ if mv_common.read_config(mv_common.module_config,"hostype") == False :
+ logging.info("____Skipping of hostype, config disabled____")
+ return
logging.info("______Start of hostype config_____")
mv_common.services(systemconfig)
install_list=''
@@ -212,7 +215,7 @@ def hostypeprint(systemconfig):
else:
logging.debug(" Will NOT run the frontend")
mv_common.remove_service("frontend")
- mv_common.remove_service("hal")
+ mv_common.add_service("hal")
if data_config.SYSTEMTYPE == "MythVantage":
mv_common.remove_service("ghosd")
diff --git a/abs/core-testing/LinHES-config/mv_ir.py b/abs/core-testing/LinHES-config/mv_ir.py
index bc1ae37..a5e3f3b 100755
--- a/abs/core-testing/LinHES-config/mv_ir.py
+++ b/abs/core-testing/LinHES-config/mv_ir.py
@@ -113,7 +113,7 @@ def setup_ir_remote(Remotetype,templates):
mv_common.add_service("lircd")
-def setup_ir_receiver(ReceiverType,TEMPLATES):
+def setup_ir_receiver(ReceiverType,TEMPLATES,HDHRlirc_device,myip):
logging.info(" Configuring receiver %s", ReceiverType)
if ReceiverType == "Serial":
scrub_modules("/etc/modules.mythvantage","lirc")
@@ -153,6 +153,7 @@ def setup_ir_receiver(ReceiverType,TEMPLATES):
mv_common.runcmd(cmd)
mv_common.remove_service("igdaemon")
mv_common.remove_service("tatir")
+
elif ReceiverType == "iguanaIR-usb":
scrub_modules("/etc/modules.mythvantage","lirc")
mv_common.add_service("igdaemon")
@@ -162,6 +163,12 @@ def setup_ir_receiver(ReceiverType,TEMPLATES):
scrub_modules("/etc/modules.mythvantage","lirc")
mv_common.add_service("tatir")
mv_common.remove_service("igdaemon")
+ elif ReceiverType == "SiliconDust_HDHR":
+ mv_common.remove_service("igdaemon")
+ mv_common.remove_service("tatir")
+ cmd = '''hdhomerun_config %s set /ir/target %s:5000 store''' %(HDHRlirc_device,myip)
+ print cmd
+ mv_common.runcmd(cmd)
else:
logging.debug(" didn't match receiver, using genric case")
@@ -281,7 +288,11 @@ def setup_lcd(LCDtype, TEMPLATES, Remotetype):
logging.debug("__End of setup_lcd")
def setup_ir(systemconfig, data_config):
- rc = False
+ rc = [ False , False ]
+ if mv_common.read_config(mv_common.module_config,"ir") == False :
+ logging.info("____Skipping of IR, config disabled____")
+ return rc
+
logging.info("____Start of IR____")
if systemconfig["Remotetype"] == "tinker":
logging.info(" Tinker mode detected")
@@ -304,9 +315,11 @@ def setup_ir(systemconfig, data_config):
if systemconfig["ReceiverType"]:
setup_ir_receiver(systemconfig["ReceiverType"],
- systemconfig["TEMPLATES"])
+ systemconfig["TEMPLATES"],
+ systemconfig["HDHRlirc_device"],
+ systemconfig["mythip"])
else:
- setup_ir_receiver("unknown", systemconfig["TEMPLATES"])
+ setup_ir_receiver("unknown", systemconfig["TEMPLATES"],'','127.0.0.1')
unload_all_lirc()
setup_blaster_proto(HostBlasterType,
Hostnumblaster,
diff --git a/abs/core-testing/LinHES-config/mv_network.py b/abs/core-testing/LinHES-config/mv_network.py
index b80e4cc..f256785 100755
--- a/abs/core-testing/LinHES-config/mv_network.py
+++ b/abs/core-testing/LinHES-config/mv_network.py
@@ -50,7 +50,7 @@ def get_ip(ifname):
)[20:24])
def get_default_route(iface):
- rcroute = "127.0.0.1"
+ rcroute = "127.0.0.1"
f = open ('/proc/net/route', 'r')
for line in f:
words = string.split (line)
@@ -107,7 +107,7 @@ def setup_MTYH_DNS():
for line in f:
if line.startswith("nameserver"):
print line
- returndns = line.split()[1]
+ returndns = line.split()[1]
break
except:
logging.debug(" Couldn't open /etc/resolv.conf for myth_dns")
@@ -158,7 +158,7 @@ def setup_hostname(systemconfig):
except:
logging.critical(" *Hostname could not be set")
logging.info(" Using default value of me")
- hostname = "me"
+ hostname = "diamonds"
logging.info(" Setting the hostname to %s", hostname)
cmd = ''' echo %s > /etc/hostname ''' %hostname
mv_common.runcmd(cmd)
@@ -168,7 +168,7 @@ def setup_hostname(systemconfig):
logging.debug(" not using dhcp")
cmd = ''' echo 127.0.0.1 localhost > /etc/hosts '''
mv_common.runcmd(cmd)
- cmd = ''' echo %s %s > /etc/hosts ''' %(systemconfig["mythip"], systemconfig["hostname"])
+ cmd = ''' echo %s %s >> /etc/hosts ''' %(systemconfig["mythip"], systemconfig["hostname"])
mv_common.runcmd(cmd)
else:
cmd = ''' echo 127.0.0.1 %s localhost > /etc/hosts ''' %systemconfig["hostname"]
@@ -482,6 +482,9 @@ def hostname_change_check(systemconfig):
def setup_network (systemconfig,this_is_install):
+ if mv_common.read_config(mv_common.module_config,"network") == False :
+ logging.info("____Skipping of network, config disabled____")
+ return False
logging.info("____Start of network____")
logging.info(" Setting up the network")
restartfe = hostname_change_check(systemconfig)
diff --git a/abs/core-testing/LinHES-config/mv_screensaver.py b/abs/core-testing/LinHES-config/mv_screensaver.py
index 2da970c..4068832 100755
--- a/abs/core-testing/LinHES-config/mv_screensaver.py
+++ b/abs/core-testing/LinHES-config/mv_screensaver.py
@@ -163,6 +163,9 @@ def setup_gnome_screensaver(theme,idletime):
def setup_screensaver (systemconfig,data_config):
+ if mv_common.read_config(mv_common.module_config,"screensaver") == False :
+ logging.info("____Skipping of Screensaver, config disabled____")
+ return
logging.info("____Start of screensaver configuration____")
screensavertype = systemconfig["Screensavertype"]
theme = systemconfig["Screensavertheme"]
diff --git a/abs/core-testing/LinHES-config/mv_smolt.py b/abs/core-testing/LinHES-config/mv_smolt.py
index 5fd3722..cfc697e 100755
--- a/abs/core-testing/LinHES-config/mv_smolt.py
+++ b/abs/core-testing/LinHES-config/mv_smolt.py
@@ -20,6 +20,9 @@ def read_release(stype):
def setup_smolt_type(SystemType,Remotetype,RunFrontend,mythhome,stype):
+ if mv_common.read_config(mv_common.module_config,"smolt") == False :
+ logging.info("____Skipping of smolt, config disabled____")
+ return
logging.debug("____Start of setup_smolt_type____")
releasename = read_release(stype)
diff --git a/abs/core-testing/LinHES-config/mv_software.py b/abs/core-testing/LinHES-config/mv_software.py
index 4ee2e4d..c0f5a5b 100755
--- a/abs/core-testing/LinHES-config/mv_software.py
+++ b/abs/core-testing/LinHES-config/mv_software.py
@@ -3,6 +3,10 @@ import logging, mv_common
import os, re
def setup_software(systemconfig, data_config):
+ if mv_common.read_config(mv_common.module_config,"software") == False :
+ logging.info("____Skipping of software, config disabled____")
+ return
+
logging.info("____Start of Software install____")
postfix=''
if data_config.SYSTEMTYPE == "MythVantage":
diff --git a/abs/core-testing/LinHES-config/mv_webuser.py b/abs/core-testing/LinHES-config/mv_webuser.py
index a8517a8..3e383f2 100755
--- a/abs/core-testing/LinHES-config/mv_webuser.py
+++ b/abs/core-testing/LinHES-config/mv_webuser.py
@@ -3,6 +3,10 @@ import logging, mv_common
#import os
def setup_web_auth(UseMythWEB_auth):
+ if mv_common.read_config(mv_common.module_config,"webuser") == False :
+ logging.info("____Skipping of webuser, config disabled____")
+ return
+
logging.info("____Start of setup_web_auth____")
if UseMythWEB_auth == str(1):
#enable auth
diff --git a/abs/core-testing/LinHES-config/mythvantage.cfg b/abs/core-testing/LinHES-config/mythvantage.cfg
new file mode 100644
index 0000000..eaa4865
--- /dev/null
+++ b/abs/core-testing/LinHES-config/mythvantage.cfg
@@ -0,0 +1,21 @@
+[mythvantage]
+#change any of the following to False or True
+# True will allow systemconfig to run that module
+# False will skip the module
+misc = True
+sleep = True
+hostype = True
+advanced = True
+audio = True
+network = True
+xorg = True
+webuser = True
+restartfe = True
+reloadfe = True
+ddns = True
+screensaver = True
+ir = True
+user = True
+software = True
+smolt = True
+
diff --git a/abs/core-testing/LinHES-config/systemconfig.py b/abs/core-testing/LinHES-config/systemconfig.py
index 28e2e7a..2e07b2f 100755
--- a/abs/core-testing/LinHES-config/systemconfig.py
+++ b/abs/core-testing/LinHES-config/systemconfig.py
@@ -36,8 +36,11 @@ def usage():
logging.info("tell people how to use this")
def setup_x(systemconfig):
- cmd = "%s/bin/xconfig.sh" %systemconfig["MVROOT"]
- mv_common.runcmd(cmd)
+ if mv_common.read_config(mv_common.module_config,"xorg") == False :
+ logging.info("____Skipping of Xorg, config disabled____")
+ else:
+ cmd = "%s/bin/xconfig.sh" %systemconfig["MVROOT"]
+ mv_common.runcmd(cmd)
def main(argv):
try:
@@ -124,23 +127,32 @@ def main(argv):
if cmdmodule["audio"] == True:
- logging.debug("______Start of Audio Configuration______")
- if not systemconfig["Audiotype"] == "tinker":
- cmd="%s/bin/soundconfig.sh -t real -i %s -d %s" %(MVROOT,systemconfig["Audiotype"],systemconfig["SoundDevice"])
- mv_common.runcmd(cmd)
+ if mv_common.read_config(mv_common.module_config,"audio") == False :
+ logging.info("____Skipping of Audio, config disabled____")
else:
- logging.debug(" Tinker mode(audio), not changing configuration")
- logging.debug("__End of audio")
+ logging.debug("______Start of Audio Configuration______")
+ if not systemconfig["Audiotype"] == "tinker":
+ cmd="%s/bin/soundconfig.sh -t real -i %s -d %s" %(MVROOT,systemconfig["Audiotype"],systemconfig["SoundDevice"])
+ mv_common.runcmd(cmd)
+ else:
+ logging.debug(" Tinker mode(audio), not changing configuration")
+ logging.debug("__End of audio")
if cmdmodule["misc"]:
- import mv_misc
- mv_misc.setup_zip(MVROOT,systemconfig["zipcode"])
- mv_misc.setup_tz(systemconfig["timezone"],systemconfig["TEMPLATES"])
- mv_misc.setup_nfs(systemconfig)
+ if mv_common.read_config(mv_common.module_config,"misc") == False :
+ logging.info("____Skipping of misc, config disabled____")
+ else:
+ import mv_misc
+ mv_misc.setup_zip(MVROOT,systemconfig["zipcode"])
+ mv_misc.setup_tz(systemconfig["timezone"],systemconfig["TEMPLATES"])
+ mv_misc.setup_nfs(systemconfig)
if cmdmodule["sleep"]:
- import mv_misc
- mv_misc.setup_sleep(systemconfig)
+ if mv_common.read_config(mv_common.module_config,"sleep") == False :
+ logging.info("____Skipping of sleep, config disabled____")
+ else:
+ import mv_misc
+ mv_misc.setup_sleep(systemconfig)
if cmdmodule["webuser"]:
import mv_webuser
@@ -163,7 +175,10 @@ def main(argv):
mv_software.setup_software(systemconfig, data_config)
if cmdmodule["advancedX"]:
- setup_x(systemconfig)
+ if mv_common.read_config(mv_common.module_config,"xorg") == False :
+ logging.info("____Skipping of advancedX, config disabled____")
+ else:
+ setup_x(systemconfig)
if cmdmodule["restartfe"]:
mv_common.restartfe(restartlcd)
diff --git a/abs/core-testing/linhes-scripts/screenshooter.sh b/abs/core-testing/linhes-scripts/screenshooter.sh
index 94ea6fd..3bacac1 100755
--- a/abs/core-testing/linhes-scripts/screenshooter.sh
+++ b/abs/core-testing/linhes-scripts/screenshooter.sh
@@ -135,7 +135,7 @@ if [ "$EXTENSION_CHECK" == "1" ]; then
# if [ "$VERBOSE" == "1" ]; then
# echo "Importing $VIDEO_FILENAME in to database."
# fi
- # mysql -u $DBUSERNAME --password=$DBPASSWORD -h $BACKEND_HOSTNAME mythconverg -sNBe "insert into videometadata (intid, title, director, plot, rating, inetref, year, userrating, length, showlevel, filename, coverfile, childid, browse, playcommand, category) values (' ', '$VIDEO_FILENAME', 'Unknown', 'Unknown', 'NR', '00000000', 1895, 0.0, 0, 1, '$VIDEO_PATHNAME', 'No Cover', -1, 1, ' ', 0);"
+ # mysql -u $DBUSERNAME --password=$DBPASSWORD -h $BACKEND_HOSTNAME mythconverg -sNBe "insert into videometadata (intid, title, director, plot, rating, inetref, year, userrating, length, showlevel, filename, coverfile, childid, browse, playcommand, category) values (' ', '$VIDEO_FILENAME', 'Unknown', 'Unknown', 'NR', '00000000', 1895, 0.0, 0, 1, '$VIDEO_PATHNAME', '', -1, 1, ' ', 0);"
fi
fi
fi
@@ -145,7 +145,7 @@ if [ "$CLOBBER" -eq 0 ]; then
SQL_CMD="select coverfile from videometadata where filename=\"$VIDEO_PATHNAME\";"
CURRENT_COVERFILE=`mysql -u $DBUSERNAME --password=$DBPASSWORD -h $BACKEND_HOSTNAME mythconverg -B -e "$SQL_CMD" | tail -1`
- if [[ "$CURRENT_COVERFILE" != "" ]] && [[ "$CURRENT_COVERFILE" != "No Cover" ]]; then
+ if [[ "$CURRENT_COVERFILE" != "" ]] && [[ "$CURRENT_COVERFILE" != "" ]]; then
# there's already a cover file for this video
if [ "$VERBOSE" == "1" ]; then
echo "$VIDEO_FILENAME has cover file, skipping."
diff --git a/abs/core-testing/mythinstall/PKGBUILD b/abs/core-testing/mythinstall/PKGBUILD
index 6cc39a9..51950a0 100644
--- a/abs/core-testing/mythinstall/PKGBUILD
+++ b/abs/core-testing/mythinstall/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jams
pkgname=mythinstall
pkgver=2
-pkgrel=33
+pkgrel=37
pkgdesc="LinHES installer/systemconfig GUI."
arch=i686
depends=()
diff --git a/abs/core-testing/mythtv/stable-0.22/mythsmolt/PKGBUILD b/abs/core-testing/mythtv/stable-0.22/mythsmolt/PKGBUILD
index e609048..d970cd9 100644
--- a/abs/core-testing/mythtv/stable-0.22/mythsmolt/PKGBUILD
+++ b/abs/core-testing/mythtv/stable-0.22/mythsmolt/PKGBUILD
@@ -1,12 +1,12 @@
pkgname=mythsmolt
pkgver=0.22
-pkgrel=16
+pkgrel=26
pkgdesc="mythsmolt, a hardware profileing tool"
arch=('i686' 'x86_64')
url="http://www.mythvantage.com"
license=('GPL')
depends=("mythtv>=${pkgver}" urlgrabber python-simplejson)
-source=("http://www.mythvantage.com/request.php?4")
+source=("http://www.mythvantage.com/request.php?4" 'smolt_init_login.sh' )
groups=('mythtv-extras')
@@ -15,6 +15,7 @@ build() {
./configure.sh
make || return 1
make INSTALL_ROOT=$startdir/pkg install
+ install -D -m 755 $srcdir/smolt_init_login.sh $pkgdir/etc/profile.d/smolt_init_login.sh
}
-md5sums=('b8e9b79db0d8f428ba127c6e42577761')
-md5sums=('fdf68ec5c78827aefca6f09ad82296a4')
+md5sums=('fdf68ec5c78827aefca6f09ad82296a4'
+ '57a3416d90e59abbd5062436583c17e1')
diff --git a/abs/core-testing/mythtv/stable-0.22/mythsmolt/smolt_init_login.sh b/abs/core-testing/mythtv/stable-0.22/mythsmolt/smolt_init_login.sh
new file mode 100644
index 0000000..0b76305
--- /dev/null
+++ b/abs/core-testing/mythtv/stable-0.22/mythsmolt/smolt_init_login.sh
@@ -0,0 +1,39 @@
+if [ $UID = 0 -o $UID = 1000 ]
+then
+ INIT=`ps -p 1 -o comm=`
+ if [ x$INIT = xrunit ]
+ then
+ if [[ -f /home/mythtv/.configure && $- = *i* ]]
+ then
+ if [ ! -z "$PS1" ]
+ then
+ if [ $0 = "-bash" ]
+ then
+ if [ ! -e /home/mythtv/.mythtv/MythSmolt/hw-uuid ]
+ then
+ echo ""
+ echo "####################################################"
+ echo "It appears you have not yet run smolt"
+ echo "Please take the time to submit your hardware profile"
+ echo ""
+ echo "press any key to continue:"
+ echo "####################################################"
+ read a
+ mkdir -p /home/mythtv/.mythtv/MythSmolt
+ chown -R mythtv:users /home/mythtv/.mythtv/MythSmolt
+
+ if [ $UID = 0 ]
+ then
+ su mythtv -c "/usr/share/mythtv/mythsmolt/scripts/sendProfile.py" && su mythtv -c "touch /home/mythtv/.mythtv/MythSmolt/hw-uuid"
+ else
+ /usr/share/mythtv/mythsmolt/scripts/sendProfile.py && touch /home/mythtv/.mythtv/MythSmolt/hw-uuid
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+
+
diff --git a/abs/core-testing/libxml-perl/PKGBUILD b/abs/core-testing/perl_modules/libxml-perl/PKGBUILD
index 5867a11..5867a11 100644
--- a/abs/core-testing/libxml-perl/PKGBUILD
+++ b/abs/core-testing/perl_modules/libxml-perl/PKGBUILD
diff --git a/abs/core-testing/perl-xml-dom/PKGBUILD b/abs/core-testing/perl_modules/perl-xml-dom/PKGBUILD
index ab6e8a5..ab6e8a5 100644
--- a/abs/core-testing/perl-xml-dom/PKGBUILD
+++ b/abs/core-testing/perl_modules/perl-xml-dom/PKGBUILD
diff --git a/abs/core-testing/perlxml/PKGBUILD b/abs/core-testing/perl_modules/perlxml/PKGBUILD
index c9b2f30..c9b2f30 100644
--- a/abs/core-testing/perlxml/PKGBUILD
+++ b/abs/core-testing/perl_modules/perlxml/PKGBUILD
diff --git a/abs/core-testing/runit-scripts/PKGBUILD b/abs/core-testing/runit-scripts/PKGBUILD
index 2c1300d..a8087bd 100755
--- a/abs/core-testing/runit-scripts/PKGBUILD
+++ b/abs/core-testing/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=1.8.0
-pkgrel=109
+pkgrel=117
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
index 07ec214..3ff8af3 100755
--- a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
+++ b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
@@ -6,8 +6,6 @@ export TERM=linux
. /etc/rc.conf
. /etc/rc.d/functions
-#since what we do may not be enough
-#if your one of those people, this is where you place your stuff
LOG=/tmp/lirc.log
@@ -16,12 +14,17 @@ then
rm -f $LOG
fi
+#since what we do may not be enough
+#if your one of those people, this is where you place your stuff
+#This means place your lirc stuff in /etc/runit/lirc.sh.
+#Anything in that file will be used and the rest of this file is ignored
+
if [ -f /etc/runit/lirc.sh ]
then
#program must not terminate.
stat_runit "Starting lirc"
-
+
/etc/runit/lirc.sh
else
. /etc/systemconfig
@@ -55,8 +58,8 @@ else
then
#/dev/ttyS0 (COM1), port 0x3f8, irq 4
#/dev/ttyS1 (COM2), port 0x2f8, irq 3
- #/dev/ttyS2 (COM3), port 0x3e8, irq 4
- #/dev/ttyS3 (COM4), port 0x2e8, irq 3
+ #/dev/ttyS2 (COM3), port 0x3e8, irq 4
+ #/dev/ttyS3 (COM4), port 0x2e8, irq 3
case $serial_port in
ttyS0)
@@ -73,9 +76,9 @@ else
;;
esac
/usr/bin/setserial /dev/$serial_port uart none
- sleep 0.5
+ sleep 0.5
/sbin/modprobe lirc_serial $FLAGS
- sleep 0.5
+ sleep 0.5
fi
dvico_detect
@@ -83,56 +86,63 @@ else
if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
then
CMD="/usr/sbin/lircd -r -n --driver=commandir"
- printhl " Using commandir"
+ printhl " Using commandir"
$CMD >>$LOG 2>>$LOG
-#echo $CMD
+ #echo $CMD
elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
then
- sv start igdaemon
+ sv start igdaemon
CMD="/usr/sbin/lircd -r -n --driver=iguanaIR"
- printhl " Using iguanaIR usb"
-#echo $CMD
+ printhl " Using iguanaIR usb"
+ #echo $CMD
$CMD >>$LOG 2>>$LOG
+
+ elif [ x$ReceiverType = "xSiliconDust_HDHR" ]
+ then
+ # if using the SiliconDust_HDHR as an I/R Receiver
+ printhl " Using SiliconDust on port 5000"
+ CMD="/usr/sbin/lircd -H udp -d 5000 -n"
+ exec $CMD >>$LOG 2>>$LOG
else
LASTCMD=""
for i in `seq 1 $num_lirc`
do
CMD="/usr/sbin/lircd -r -d /dev/lirc$i --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
- printhl " Device $i"
-#echo $CMD
+ printhl " Device $i"
+ #echo $CMD
$CMD >>$LOG 2>>$LOG
LASTCMD="--connect=localhost:876$i $LASTCMD "
done
- if [ $RunDvico = "true" ]
- then
- if [ x$Remotetype = "xdvico" ]
+ if [ $RunDvico = "true" ]
+ then
+ if [ x$Remotetype = "xdvico" ]
then
LCMD="/usr/sbin/lircd -r -n -d /dev/usb/dvicoIR --driver=dvico --output /dev/lircd"
else
LCMD="/usr/sbin/lircd -r -n -d /dev/input/irremote --driver=devinput --output /dev/lircd"
fi
- if [ $num_lirc -lt 0 ]
- then
- # Only run Dvico
- printhl " Device $Remotetype"
-#echo $LCMD
- exec $LCMD >>$LOG 2>>$LOG
- elif [ $num_lirc -gt -1 ]
- then
+ if [ $num_lirc -lt 0 ]
+ then
+ # Only run Dvico
+ printhl " Device $Remotetype"
+ #echo $LCMD
+ exec $LCMD >>$LOG 2>>$LOG
+ elif [ $num_lirc -gt -1 ]
+ then
i=$((i+1))
CMD="$LCMD --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
$CMD >> $LOG
LASTCMD="--connect=localhost:876$i $LASTCMD "
- printhl " Device Dvico"
- /usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd $LASTCMD >>$LOG 2>>$LOG
- fi
- else
- LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd $LASTCMD"
-#echo $LCMD
- exec $LCMD >>$LOG 2>>$LOG
- fi
+ printhl " Device Dvico"
+ /usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd $LASTCMD >>$LOG 2>>$LOG
+ fi
+ else
+ LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd $LASTCMD"
+ #echo $LCMD
+ exec $LCMD >>$LOG 2>>$LOG
+ fi
fi
fi
diff --git a/abs/core-testing/runit-scripts/runitscripts/services/postfix/run b/abs/core-testing/runit-scripts/runitscripts/services/postfix/run
new file mode 100755
index 0000000..1fa526e
--- /dev/null
+++ b/abs/core-testing/runit-scripts/runitscripts/services/postfix/run
@@ -0,0 +1,8 @@
+#!/bin/bash
+exec 1>&2
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+stat_runit "Starting postfix"
+exec /usr/lib/postfix/master -D
diff --git a/abs/core-testing/system-templates/PKGBUILD b/abs/core-testing/system-templates/PKGBUILD
index 25d70c9..150623d 100755
--- a/abs/core-testing/system-templates/PKGBUILD
+++ b/abs/core-testing/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=system-templates
pkgver=1.0
-pkgrel=39
+pkgrel=40
conflicts=( )
pkgdesc="Templates used for system configuration"
depends=()
diff --git a/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircd-haupgrey-alt.conf b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircd-haupgrey-alt.conf
new file mode 100644
index 0000000..c0849ef
--- /dev/null
+++ b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircd-haupgrey-alt.conf
@@ -0,0 +1,199 @@
+#
+# this config file was automatically generated
+# using lirc-0.5.5pre8 on Sun Apr 18 11:43:45 1999
+#
+# contributed by Jens Leuschner <leuschner@gmx.net>
+#
+# brand: Hauppauge
+# model:
+# supported devices: WinTV primo; WinTV pci; WinTV radio
+#
+# This config file will work with both homebrew receivers and
+# original Hauppauge TV cards !!!
+#
+
+begin remote
+
+ name Hauppauge
+ bits 13
+ flags SHIFT_ENC
+ eps 30
+ aeps 100
+
+ one 950 830
+ zero 950 830
+ plead 960
+ gap 89584
+ repeat_bit 2
+
+ begin codes
+ TV 0x000000000000100F
+ RADIO 0x000000000000100C
+ FULL_SCREEN 0x000000000000102E
+ CH+ 0x0000000000001020
+ CH- 0x0000000000001021
+ VOL- 0x0000000000001011
+ VOL+ 0x0000000000001010
+ MUTE 0x000000000000100D
+ SOURCE 0x0000000000001022
+ 1 0x0000000000001001
+ 2 0x0000000000001002
+ 3 0x0000000000001003
+ 4 0x0000000000001004
+ 5 0x0000000000001005
+ 6 0x0000000000001006
+ 7 0x0000000000001007
+ 8 0x0000000000001008
+ 9 0x0000000000001009
+ 0 0x0000000000001000
+ RESERVED 0x000000000000101E
+ MINIMIZE 0x0000000000001026
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
+#
+# contributed by
+#
+# brand: Hauppauge
+# model no. of remote control:
+# devices being controlled by this remote: PVR 2/350
+#
+
+begin remote
+
+ name hauppauge_pvr
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Power 0x00000000000017FD
+ Go 0x00000000000017FB
+ 1 0x00000000000017C1
+ 2 0x00000000000017C2
+ 3 0x00000000000017C3
+ 4 0x00000000000017C4
+ 5 0x00000000000017C5
+ 6 0x00000000000017C6
+ 7 0x00000000000017C7
+ 8 0x00000000000017C8
+ 9 0x00000000000017C9
+ Back/Exit 0x00000000000017DF
+ 0 0x00000000000017C0
+ Menu 0x00000000000017CD
+ Red 0x00000000000017CB
+ Green 0x00000000000017EE
+ Yellow 0x00000000000017F8
+ Blue 0x00000000000017E9
+ Ch+ 0x00000000000017E0
+ Ch- 0x00000000000017E1
+ Vol- 0x00000000000017D1
+ Vol+ 0x00000000000017D0
+ Ok 0x00000000000017E5
+ Mute 0x00000000000017CF
+ Blank 0x00000000000017CC
+ Full 0x00000000000017FC
+ Rewind 0x00000000000017F2
+ Play 0x00000000000017F5
+ Forward 0x00000000000017F4
+ Record 0x00000000000017F7
+ Stop 0x00000000000017F6
+ Pause 0x00000000000017F0
+ Replay 0x00000000000017E4
+ Skip 0x00000000000017DE
+ end codes
+
+end remote
+
+
+#
+# this config file was automatically generated
+# using lirc-0.7.0(any) on Sun Nov 28 20:25:09 2004
+#
+# contributed by
+#
+# brand: Hauppauge 350
+# Created: G.J. Werler (The Netherlands)
+# Project: Mythtv Fedora Pundit-R www.mythtvportal.com
+# Date: 2004/11/28
+# model no. of remote control: Hauppauge A415-HPG
+# devices being controlled by this remote: PVR-350
+#
+
+begin remote
+
+ name Hauppauge_350
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ one 969 811
+ zero 969 811
+ plead 1097
+ gap 114605
+ toggle_bit 2
+
+
+ begin codes
+ Go 0x00000000000017BB
+ Power 0x00000000000017BD
+ TV 0x000000000000179C
+ Videos 0x0000000000001798
+ Music 0x0000000000001799
+ Pictures 0x000000000000179A
+ Guide 0x000000000000179B
+ Radio 0x000000000000178C
+ Up 0x0000000000001794
+ Left 0x0000000000001796
+ Right 0x0000000000001797
+ Down 0x0000000000001795
+ OK 0x00000000000017A5
+ Back/Exit 0x000000000000179F
+ Menu/i 0x000000000000178D
+ Vol+ 0x0000000000001790
+ Vol- 0x0000000000001791
+ Prev.Ch 0x0000000000001792
+ Mute 0x000000000000178F
+ Ch+ 0x00000000000017A0
+ Ch- 0x00000000000017A1
+ Record 0x00000000000017B7
+ Stop 0x00000000000017B6
+ Rewind 0x00000000000017B2
+ Play 0x00000000000017B5
+ Forward 0x00000000000017B4
+ Replay/SkipBackward 0x00000000000017A4
+ Pause 0x00000000000017B0
+ SkipForward 0x000000000000179E
+ 1 0x0000000000001781
+ 2 0x0000000000001782
+ 3 0x0000000000001783
+ 4 0x0000000000001784
+ 5 0x0000000000001785
+ 6 0x0000000000001786
+ 7 0x0000000000001787
+ 8 0x0000000000001788
+ 9 0x0000000000001789
+ Asterix 0x000000000000178A
+ 0 0x0000000000001780
+ # 0x000000000000178E
+ Red 0x000000000000178B
+ Green 0x00000000000017AE
+ Yellow 0x00000000000017B8
+ Blue 0x00000000000017A9
+ end codes
+
+end remote
diff --git a/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircrc-haupgrey-alt b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircrc-haupgrey-alt
new file mode 100644
index 0000000..f86246a
--- /dev/null
+++ b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/lircrc-haupgrey-alt
@@ -0,0 +1,533 @@
+# put this in /usr/MythVantage/templates/remotes/hauppauge-grey/
+# then change /etc/lircrc to include it
+#
+# lircrc.example.HauppaugeGrey-nativelirc
+# 2003-09-17, Robert Kulagowski
+# mailto:rkulagow@rocketmail.com
+# Save this file in ~/.mythtv/lircrc
+
+begin
+ prog = mythtv
+ button = Power
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = Go
+# Swap the PiP windows
+ config = N
+end
+
+begin
+ prog = mythtv
+ button = 1
+ config = 1
+end
+
+begin
+ prog = mythtv
+ button = 2
+ config = 2
+end
+
+begin
+ prog = mythtv
+ button = 3
+ config = 3
+end
+
+begin
+ prog = mythtv
+ button = 4
+ config = 4
+end
+
+begin
+ prog = mythtv
+ button = 5
+ config = 5
+end
+
+begin
+ prog = mythtv
+ button = 6
+ config = 6
+end
+
+begin
+ prog = mythtv
+ button = 7
+ config = 7
+end
+
+begin
+ prog = mythtv
+ button = 8
+ config = 8
+end
+
+begin
+ prog = mythtv
+ button = 9
+ config = 9
+end
+
+begin
+ prog = mythtv
+ button = Back/Exit
+ config = Esc
+end
+
+begin
+ prog = mythtv
+ button = 0
+ config = 0
+end
+
+begin
+ prog = mythtv
+ button = Menu
+ config = M
+end
+
+# Below are keys used with the Hauppauge Grey remote
+
+begin
+ prog = mythtv
+# This is the Red key
+# We'll use it for "Delete"
+ button = Red
+ config = Space
+end
+
+begin
+ prog = mythtv
+# This is the Green key
+# We'll use it for "Information"
+ button = Green
+ config = I
+end
+
+# Note the "repeat = " strings in the volume and channel.
+# This means that if you hold down the key, every nth instance will be
+# passed. This depends on your system, so you may want to increase or
+# decrease this and see what happens. repeat = 1 is probably too
+# fast.
+
+begin
+ prog = mythtv
+# This is the Yellow key
+# Use it as a volume key
+ button = Yellow
+ repeat = 3
+ config = F10
+end
+
+begin
+ prog = mythtv
+# This is the Blue key
+# Use it as a volume key
+ button = Blue
+ repeat = 3
+ config = F11
+end
+
+begin
+ prog = mythtv
+ button = Ch+
+# This is the "up" on the central diamond
+ repeat = 3
+ config = Up
+end
+
+begin
+ prog = mythtv
+ button = Ch-
+# This is the "down" on the central diamond
+ repeat = 3
+ config = Down
+end
+
+begin
+ prog = mythtv
+ button = Vol-
+# This is the "left" on the central diamond
+ repeat = 3
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Vol+
+# This is the "right" on the central diamond
+ repeat = 3
+ config = Right
+end
+
+begin
+ prog = mythtv
+# Middle button on the diamond
+ button = Ok
+ config = Return
+end
+
+begin
+ prog = mythtv
+ button = Mute
+ config = F9
+end
+
+begin
+ prog = mythtv
+# Change focus for PiP (to change channel in the other window)
+ button = Blank
+ config = B
+end
+
+begin
+ prog = mythtv
+# Toggle PiP on/off
+ button = Full
+ config = V
+end
+
+begin
+ prog = mythtv
+ button = Rewind
+ config = Left
+end
+
+begin
+ prog = mythtv
+ button = Play
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Forward
+ config = Right
+end
+
+begin
+ prog = mythtv
+ button = Record
+ config = R
+end
+
+begin
+ prog = mythtv
+# Teletext
+ button = Stop
+ config = T
+end
+
+begin
+ prog = mythtv
+ button = Pause
+ config = P
+end
+
+begin
+ prog = mythtv
+ button = Replay
+# Use for backwards commercial skip
+ config = Q
+end
+
+begin
+ prog = mythtv
+ button = Skip
+# Use for forward commercial skip
+ config = Z
+end
+
+#MPlayer
+begin
+ prog = mplayer
+ button = Power
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Menu
+ config = osd
+end
+
+begin
+ prog = mplayer
+ button = Rewind
+ config = seek -10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Forward
+ config = seek +10
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Vol-
+ config = seek -15
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Vol+
+ config = seek +15
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Replay
+ config = seek -60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Skip
+ config = seek +60
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Pause
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = OK
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Back/Exit
+ config = quit
+end
+
+begin
+ prog = mplayer
+ button = Play
+ config = pause
+end
+
+begin
+ prog = mplayer
+ button = Ch+
+ config = volume +1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Ch-
+ config = volume -1
+ repeat = 1
+end
+
+begin
+ prog = mplayer
+ button = Mute
+ config = mute
+end
+##XINE
+
+ begin
+ prog = xine
+ button = Play
+ repeat = 3
+ config = Play
+ end
+
+ begin
+ prog = xine
+ button = Stop
+ repeat = 3
+ config = Stop
+ end
+
+ begin
+ prog = xine
+ button = Back/Exit
+ config = Quit
+ end
+
+ begin
+ prog = xine
+ button = Pause
+ repeat = 3
+ config = Pause
+ end
+
+ begin
+ prog = xine
+ button = Ch+
+ repeat = 4
+ config = EventUp
+ end
+
+ begin
+ prog = xine
+ button = Ch-
+ repeat = 4
+ config = EventDown
+ end
+
+ begin
+ prog = xine
+ button = Vol-
+ repeat = 4
+ config = EventLeft
+ end
+
+ begin
+ prog = xine
+ button = Vol+
+ repeat = 4
+ config = EventRight
+ end
+
+ begin
+ prog = xine
+ button = Ok
+ repeat = 0
+ config = EventSelect
+ end
+
+ begin
+ prog = xine
+ button = Menu
+ repeat = 0
+ config = Menu
+ end
+
+ #vol down
+ begin
+ prog = xine
+ button = Yellow
+ repeat = 1
+ config = Volume-
+ end
+
+ #vol up
+ begin
+ prog = xine
+ button = Red
+ repeat = 1
+ config = Volume+
+ end
+
+ begin
+ prog = xine
+ button = Forward
+ repeat = 2
+ config = SeekRelative+30
+ end
+
+ begin
+ prog = xine
+ button = Rewind
+ repeat = 2
+ config = SeekRelative-30
+ end
+
+ #ch up
+ begin
+ prog = xine
+ button = Green
+ repeat = 1
+ config = SeekRelative+60
+ end
+
+ #ch down
+ begin
+ prog = xine
+ button = Blue
+ repeat = 1
+ config = SeekRelative-60
+ end
+
+ #sleep
+ begin
+ prog = xine
+ button = Go
+ repeat = 1
+ config = ZoomIn
+ end
+
+ #display
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = ZoomOut
+ end
+
+ #skip chapter forward
+ begin
+ prog = xine
+ button = Skip
+ repeat = 1
+ config = EventNext
+ end
+
+ #skip chapter backward
+ begin
+ prog = xine
+ button = Replay
+ repeat = 1
+ config = EventPrior
+ end
+
+ begin
+ prog = lircnav
+ button = Vol-
+ config = page_down
+ end
+
+ begin
+ prog = lircnav
+ button = Vol+
+ config = page_up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch+
+ config = up
+ end
+
+ begin
+ prog = lircnav
+ button = Ch-
+ config = down
+ end
+
+ begin
+ prog = lircnav
+ button = Ok
+ config = select
+ end
+
+ begin
+ prog = lircnav
+ button = Power
+ config = quit
+ end
diff --git a/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/preview.jpg b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/preview.jpg
new file mode 100644
index 0000000..19acba3
--- /dev/null
+++ b/abs/core-testing/system-templates/templates/remotes/hauppauge-grey-alt/preview.jpg
Binary files differ
diff --git a/abs/core-testing/test-pattern/PKGBUILD b/abs/core-testing/test-pattern/PKGBUILD
new file mode 100644
index 0000000..f79ae6a
--- /dev/null
+++ b/abs/core-testing/test-pattern/PKGBUILD
@@ -0,0 +1,16 @@
+pkgname=test-pattern
+pkgver=1.0
+pkgrel=1
+arch=('i686')
+pkgdesc="script to create test pattern videos"
+depends=(imagemagick)
+
+source=(test_pattern.bash)
+
+build() {
+ cd $startdir/src
+# mkdir $startdir/pkg/usr/bin/
+ install -m755 -D test_pattern.bash $startdir/pkg/usr/bin/test_pattern.bash
+}
+
+md5sums=('a6b424b0ebc07574fa5716eced807127')
diff --git a/abs/core-testing/test-pattern/test_pattern.bash b/abs/core-testing/test-pattern/test_pattern.bash
new file mode 100755
index 0000000..9cf3228
--- /dev/null
+++ b/abs/core-testing/test-pattern/test_pattern.bash
@@ -0,0 +1,220 @@
+#!/bin/bash
+
+w=1280
+h=1024
+
+w=1920
+h=1080
+
+w=640
+h=480
+
+barw=$((w/32))
+barstep=$((w/90))
+barstart=$((-barw/barstep-1))
+
+frames=$((w/2))
+
+unit=$((h*2/27))
+gridlw=$((unit*3/43))
+
+nvgrid=$(((h-gridlw)/unit))
+nhgrid=$(((((w-gridlw)/unit)-1)/2*2+1))
+
+gridstartx=$((w/2-(nhgrid*unit+gridlw)/2-1))
+gridstarty=$((h/2-(nvgrid*unit+gridlw)/2-1))
+
+echo nvgrid=$nvgrid
+echo nhgrid=$nhgrid
+echo gridstartx=$gridstartx
+echo gridstarty=$gridstarty
+
+TEMPDIR=./tmp
+if [ ! -d "$TEMPDIR" ] ; then
+ mkdir $TEMPDIR
+fi
+
+#TEMPDIR=$(mktemp -d --tmpdir=/tmp)
+
+unset checker
+checker=( -fill "rgb(192,192,192)" )
+for ((g=-9;g<=7;g=g+2)) ; do
+ checker=( "${checker[@]}"
+ -draw
+ "rectangle $((w/2+g*unit*7/10)),$((gridstarty+unit*3+gridlw)) $((w/2+(g+1)*unit*7/10)),$((gridstarty+unit*4+gridlw))" )
+done
+
+checker=( "${checker[@]}" -fill black )
+for ((g=-8;g<=8;g=g+2)) ; do
+ checker=( "${checker[@]}"
+ -draw
+ "rectangle $((w/2+g*unit*7/10)),$((gridstarty+unit*3+gridlw)) $((w/2+(g+1)*unit*7/10)),$((gridstarty+unit*4+gridlw))" )
+done
+
+unset stripe
+stripe=( -fill white )
+
+for ((g=0;g<5;g++)) ; do
+ startx=$((w/2+(3-g*2)*unit))
+ endx=$((startx+2*unit))
+
+ for ((x=startx;x<endx;x=x+2*(g+1))) ; do
+ stripe=( "${stripe[@]}"
+ -draw
+ "rectangle $x,$((gridstarty+unit*7+gridlw)) $((x+g)),$((gridstarty+unit*9+gridlw))" )
+ done
+done
+
+for ((g=0;g<13;g++)) ; do
+ stripe=( "${stripe[@]}"
+ -draw
+ "rectangle $((gridstartx+(nhgrid/2-6+g)*unit)),$((gridstarty+unit*6+gridlw)) $((gridstartx+(nhgrid/2-6+g)*unit+gridlw)),$((gridstarty+unit*7+gridlw-1))" )
+done
+
+convert -size ${w}x${h} xc:white \
+ -fill "rgb(204,204,0)" \
+ -draw "rectangle $((w/2-6*unit)),$((gridstarty+unit*4+gridlw)) $((w/2-4*unit)),$((gridstarty+unit*6+gridlw))" \
+ -draw "rectangle $((w/2-6*unit)),$((gridstarty+unit*11+gridlw)) $((w/2+6*unit)),$((gridstarty+unit*13+gridlw))" \
+ -fill "rgb(0,204,204)" \
+ -draw "rectangle $((w/2-4*unit)),$((gridstarty+unit*4+gridlw)) $((w/2-2*unit)),$((gridstarty+unit*6+gridlw))" \
+ -fill "rgb(0,204,0)" \
+ -draw "rectangle $((w/2-2*unit)),$((gridstarty+unit*4+gridlw)) $((w/2-0*unit)),$((gridstarty+unit*6+gridlw))" \
+ -fill "rgb(204,0,204)" \
+ -draw "rectangle $((w/2-0*unit)),$((gridstarty+unit*4+gridlw)) $((w/2+2*unit)),$((gridstarty+unit*6+gridlw))" \
+ -fill "rgb(204,0,0)" \
+ -draw "rectangle $((w/2+2*unit)),$((gridstarty+unit*4+gridlw)) $((w/2+4*unit)),$((gridstarty+unit*6+gridlw))" \
+ -draw "rectangle $((w/2-unit/2)),$((gridstarty+unit*11+gridlw)) $((w/2+unit/2)),$((gridstarty+unit*13+gridlw))" \
+ -fill "rgb(0,0,204)" \
+ -draw "rectangle $((w/2+4*unit)),$((gridstarty+unit*4+gridlw)) $((w/2+6*unit)),$((gridstarty+unit*6+gridlw))" \
+\
+ -fill black \
+ -draw "rectangle $((w/2-6*unit)),$((gridstarty+unit*6+gridlw)) $((w/2+6*unit)),$((gridstarty+unit*9+gridlw))" \
+ "${stripe[@]}" \
+ -fill black \
+ -draw "rectangle $((w/2-(unit-gridlw)/2)),$((gridstarty+unit*5+gridlw)) $((w/2+(unit-gridlw)/2-1)),$((gridstarty+unit*8+gridlw))" \
+ -fill white \
+ -draw "rectangle $((w/2-6*unit)),$((h/2-gridlw/2)) $((w/2+6*unit)),$((h/2-gridlw/2+gridlw))" \
+ -draw "rectangle $((w/2-gridlw/2)),$((gridstarty+unit*5+gridlw)) $((w/2-gridlw/2+gridlw)),$((gridstarty+unit*8+gridlw))" \
+\
+ -fill "rgb(0,0,0)" \
+ -draw "rectangle $((w/2-6*unit)),$((gridstarty+unit*9+gridlw)) $((w/2-4*unit)),$((gridstarty+unit*10+gridlw))" \
+ -fill "rgb(51,51,51)" \
+ -draw "rectangle $((w/2-4*unit)),$((gridstarty+unit*9+gridlw)) $((w/2-2*unit)),$((gridstarty+unit*10+gridlw))" \
+ -fill "rgb(102,102,102)" \
+ -draw "rectangle $((w/2-2*unit)),$((gridstarty+unit*9+gridlw)) $((w/2-0*unit)),$((gridstarty+unit*10+gridlw))" \
+ -fill "rgb(153,153,153)" \
+ -draw "rectangle $((w/2-0*unit)),$((gridstarty+unit*9+gridlw)) $((w/2+2*unit)),$((gridstarty+unit*10+gridlw))" \
+ -fill "rgb(204,204,204)" \
+ -draw "rectangle $((w/2+2*unit)),$((gridstarty+unit*9+gridlw)) $((w/2+4*unit)),$((gridstarty+unit*10+gridlw))" \
+ -fill "rgb(255,255,255)" \
+ -draw "rectangle $((w/2+4*unit)),$((gridstarty+unit*9+gridlw)) $((w/2+6*unit)),$((gridstarty+unit*10+gridlw))" \
+\
+ -fill black \
+ -draw "rectangle $((w/2-2*unit)),$((gridstarty+unit*1+gridlw)) $((w/2+2*unit)),$((gridstarty+unit*2+gridlw))" \
+ -draw "rectangle $((w/2-6*unit)),$((gridstarty+unit*2+gridlw)) $((w/2-3*unit)),$((gridstarty+unit*3+gridlw))" \
+ -draw "rectangle $((w/2+6*unit)),$((gridstarty+unit*2+gridlw)) $((w/2+3*unit)),$((gridstarty+unit*3+gridlw))" \
+ -draw "rectangle $((gridstartx+(nhgrid/2-2)*unit)),$((gridstarty+unit*2+gridlw)) $((gridstartx+(nhgrid/2-2)*unit+gridlw)),$((gridstarty+unit*3+gridlw))" \
+ -draw "rectangle $((w/2-3*unit+1)),$((gridstarty+unit*10+gridlw)) $((w/2+3*unit)),$((gridstarty+unit*11+gridlw))" \
+ -fill white \
+ -draw "rectangle $((gridstartx+(nhgrid/2-2)*unit)),$((gridstarty+unit*10+gridlw)) $((gridstartx+(nhgrid/2-2)*unit+gridlw)),$((gridstarty+unit*11+gridlw))" \
+ "${checker[@]}" \
+ ${TEMPDIR}/centre.png
+
+convert -size ${w}x${h} xc:black \
+ -fill white \
+ -draw "circle $((w/2)),$((h/2)) $((w/2)),$((h/2-6*unit))" \
+ ${TEMPDIR}/circle.png
+
+unset drawgrid
+drawgrid=( -fill white )
+for ((g=0;g<=$nhgrid;g++)) ; do
+ drawgrid=( "${drawgrid[@]}"
+ -draw
+ "rectangle $((gridstartx+g*unit)),0 $((gridstartx+g*unit+gridlw)),$h" )
+done
+
+for ((g=0;g<=$nvgrid;g++)) ; do
+ drawgrid=( "${drawgrid[@]}"
+ -draw
+ "rectangle 0,$((gridstarty+g*unit)) $w,$((gridstarty+g*unit+gridlw))" )
+done
+
+drawgrid=( "${drawgrid[@]}"
+ -draw "rectangle 0,0 $gridstartx,$h"
+ -draw "rectangle 0,0 $w,$gridstarty"
+ -draw "rectangle $w,$h $((gridstartx+nhgrid*unit)),0"
+ -draw "rectangle $w,$h 0,$((gridstarty+nvgrid*unit))"
+ -fill black
+)
+
+for ((g=0;g<=$nhgrid;g=g+2)) ; do
+ drawgrid=( "${drawgrid[@]}"
+ -draw
+ "rectangle $((gridstartx+g*unit+gridlw+1)),0 $((gridstartx+(g+1)*unit)),$((gridstarty-1))"
+ -draw
+ "rectangle $((gridstartx+g*unit+gridlw+1)),$((gridstarty+nvgrid*unit+gridlw+1)) $((gridstartx+(g+1)*unit)),$h"
+ )
+done
+
+for ((g=0;g<=$nvgrid;g=g+2)) ; do
+ drawgrid=( "${drawgrid[@]}"
+ -draw
+ "rectangle 0,$((gridstarty+g*unit+gridlw+1)) $((gridstartx-1)),$((gridstarty+(g+1)*unit-1))"
+ -draw
+ "rectangle $((gridstartx+nhgrid*unit+gridlw+1)),$((gridstarty+g*unit+gridlw+1)) $w,$((gridstarty+(g+1)*unit-1))"
+ )
+done
+
+diagonals=(
+ -fill white
+ -linewidth 10
+ -fill white
+ -draw "line 0,0 $((w/2)),$((h-1))"
+ -draw "line 0,0 $((w-1)),$((h/2))"
+ -draw "line 0,$((h-1)) $((w/2)),0"
+ -draw "line 0,$((h-1)) $((w-1)),$((h/2))"
+ -draw "line $((w-1)),0 $((w/2)),$((h-1))"
+ -draw "line $((w-1)),0 0,$((h/2))"
+ -draw "line $((w-1)),$((h-1)) $((w/2)),0"
+ -draw "line $((w-1)),$((h-1)) 0,$((h/2))" )
+
+convert -size ${w}x${h} xc:grey50 \
+ "${diagonals[@]}" \
+ "${drawgrid[@]}" \
+ -fill "rgb(51,153,102)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2-7)*unit+gridlw+1)),$((gridstarty+unit+gridlw+1)) $((gridstartx+(nhgrid/2-6)*unit-1)),$((h/2))" \
+ -fill "rgb(204,102,102)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2-7)*unit+gridlw+1)),$((h/2)) $((gridstartx+(nhgrid/2-6)*unit-1)),$((gridstarty+unit*12-1))" \
+ -fill "rgb(102,102,255)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2-6)*unit)),$((gridstarty+unit+gridlw+1)) $((gridstartx+(nhgrid/2-5)*unit-1)),$((gridstarty+unit*3-1))" \
+ -fill "rgb(153,102,0)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2-6)*unit)),$((gridstarty+10*unit+gridlw+1)) $((gridstartx+(nhgrid/2-5)*unit-1)),$((gridstarty+unit*12-1))" \
+ -fill "rgb(128,128,0)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2+7)*unit+gridlw+1)),$((gridstarty+unit+gridlw+1)) $((gridstartx+(nhgrid/2+8)*unit-1)),$((h/2))" \
+ -fill "rgb(102,102,255)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2+7)*unit+gridlw+1)),$((h/2)) $((gridstartx+(nhgrid/2+8)*unit-1)),$((gridstarty+unit*12-1))" \
+ -fill "rgb(102,102,255)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2+6)*unit+gridlw+1)),$((gridstarty+unit+gridlw+1)) $((gridstartx+(nhgrid/2+7)*unit+gridlw)),$((gridstarty+unit*3-1))" \
+ -fill "rgb(153,102,0)" \
+ -draw "rectangle $((gridstartx+(nhgrid/2+6)*unit+gridlw+1)),$((gridstarty+10*unit+gridlw+1)) $((gridstartx+(nhgrid/2+7)*unit+gridlw)),$((gridstarty+unit*12-1))" \
+ ${TEMPDIR}/grid.png
+
+convert -size ${w}x${h} ${TEMPDIR}/grid.png ${TEMPDIR}/centre.png ${TEMPDIR}/circle.png -composite ${TEMPDIR}/background.png
+
+for ((i=0; i < $frames; i++)) ; do
+
+ image_name=${TEMPDIR}/test$(printf "%03d" $i).jpg
+ echo creating image $image_name
+
+ convert -size ${w}x${h} ${TEMPDIR}/background.png \
+ -fill black \
+ -draw "rectangle $(((barstart+i)*barstep)),0 $(((barstart+i)*barstep+barw)),${h}" \
+ -font Arial-Black-Regular \
+ -pointsize $unit \
+ -fill white \
+ -stroke black -strokewidth 5 -annotate +$((w-2*i))+$((gridstartx+11*unit)) 'Judder Test' \
+ -stroke none -annotate +$((w-2*i))+$((gridstartx+11*unit)) 'Judder Test' \
+ ${image_name}
+done
+
+ffmpeg -i ${TEMPDIR}/test%03d.jpg -y test.mpg