summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rw-r--r--abs/extra-testing/alpine/2.00-lpam.patch13
-rw-r--r--abs/extra-testing/alpine/CVE-2008-5514.patch20
-rw-r--r--abs/extra-testing/alpine/ChangeLog43
-rw-r--r--abs/extra-testing/alpine/PKGBUILD37
-rw-r--r--abs/extra-testing/gnupg/PKGBUILD25
-rw-r--r--abs/extra-testing/gnupg/gnupg.install21
-rw-r--r--abs/extra-testing/gpgme/PKGBUILD25
-rw-r--r--abs/extra-testing/gpgme/__changelog1
-rw-r--r--abs/extra-testing/gpgme/gpgme.install18
-rw-r--r--abs/extra-testing/mime-types/PKGBUILD17
-rw-r--r--abs/extra-testing/mime-types/mime.types758
-rw-r--r--abs/extra-testing/mutt/PKGBUILD39
-rw-r--r--abs/extra-testing/mutt/mutt-unmailbox.patch10
-rw-r--r--abs/extra-testing/mutt/mutt.install15
-rw-r--r--abs/extra-testing/postfix/PKGBUILD52
-rw-r--r--abs/extra-testing/postfix/__changelog1
-rwxr-xr-xabs/extra-testing/postfix/postfix58
-rw-r--r--abs/extra-testing/postfix/postfix.install38
-rw-r--r--abs/extra-testing/postfix/postfix.patch.bz2bin0 -> 373 bytes
-rw-r--r--abs/extra-testing/procmail/PKGBUILD21
-rw-r--r--abs/extra-testing/pth/PKGBUILD22
50 files changed, 2584 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
diff --git a/abs/extra-testing/alpine/2.00-lpam.patch b/abs/extra-testing/alpine/2.00-lpam.patch
new file mode 100644
index 0000000..69e66d7
--- /dev/null
+++ b/abs/extra-testing/alpine/2.00-lpam.patch
@@ -0,0 +1,13 @@
+--- alpine-2.00.orig/alpine/Makefile.in
++++ alpine-2.00/alpine/Makefile.in
+@@ -169,7 +169,7 @@
+ LIBICONV = @LIBICONV@
+ LIBINTL = @LIBINTL@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = @LIBS@ -lpam
+ LIBTOOL = @LIBTOOL@
+ LN = @LN@
+ LN_S = @LN_S@
+ LTLIBICONV = @LTLIBICONV@
+ LTLIBINTL = @LTLIBINTL@
diff --git a/abs/extra-testing/alpine/CVE-2008-5514.patch b/abs/extra-testing/alpine/CVE-2008-5514.patch
new file mode 100644
index 0000000..594bea0
--- /dev/null
+++ b/abs/extra-testing/alpine/CVE-2008-5514.patch
@@ -0,0 +1,20 @@
+--- alpine-2.00/imap/src/c-client/rfc822.c
++++ alpine-2.00/imap/src/c-client/rfc822.c
+@@ -1351,6 +1351,7 @@
+
+ static long rfc822_output_char (RFC822BUFFER *buf,int c)
+ {
++ if ((buf->cur == buf->end) && !rfc822_output_flush (buf)) return NIL;
+ *buf->cur++ = c; /* add character, soutr buffer if full */
+ return (buf->cur == buf->end) ? rfc822_output_flush (buf) : LONGT;
+ }
+@@ -1374,7 +1375,8 @@
+ len -= i;
+ }
+ /* soutr buffer now if full */
+- if (len && !rfc822_output_flush (buf)) return NIL;
++ if ((len || (buf->cur == buf->end)) && !rfc822_output_flush (buf))
++ return NIL;
+ }
+ return LONGT;
+ }
diff --git a/abs/extra-testing/alpine/ChangeLog b/abs/extra-testing/alpine/ChangeLog
new file mode 100644
index 0000000..4c3bf81
--- /dev/null
+++ b/abs/extra-testing/alpine/ChangeLog
@@ -0,0 +1,43 @@
+2010-01-23 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-7
+ * Updated patchset to level 53
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-6
+ * libldap-2.4 rebuild
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-5
+ * Updated patchset to level 52
+ * Security fix
+
+2009-09-17 Allan McRae <allan@archlinux.org>
+
+ * alpine 2.00-4
+ * libldap-2.4 rebuild
+
+2009-02-07 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-3
+ * Updated patchset to level 20
+
+2008-12-05 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-2
+ * Rebuilt against heimdal 1.2.1
+ * Placed copy of all.patch.gz patch on local ftp (close FS#11964)
+
+2008-09-04 Eric Belanger <eric@archlinux.org>
+
+ * alpine 2.00-1
+ * Upstream update
+ * Replaced install scriptlet with optdepends
+
+2008-03-26 Eric Belanger <eric@archlinux.org>
+
+ * alpine 1.10-1
+ * Upstream update
+ * Added ChangeLog
diff --git a/abs/extra-testing/alpine/PKGBUILD b/abs/extra-testing/alpine/PKGBUILD
new file mode 100644
index 0000000..1d75c85
--- /dev/null
+++ b/abs/extra-testing/alpine/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 64978 2010-01-23 22:24:15Z eric $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Fabio Scotoni <fabio@esse.ch>
+
+pkgname=alpine
+pkgver=2.00
+pkgrel=7
+_patchlevel=53
+pkgdesc="The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)"
+arch=('i686' 'x86_64')
+url="http://www.washington.edu/alpine/"
+license=('APACHE')
+depends=('libldap>=2.4.11' 'heimdal>=1.2.1' 'gettext')
+optdepends=('aspell: for spell-checking support')
+provides=('pine')
+conflicts=('pine')
+replaces=('pine')
+options=('!makeflags')
+source=(ftp://ftp.cac.washington.edu/${pkgname}/${pkgname}.tar.bz2 \
+ http://staff.washington.edu/chappa/alpine/patches/alpine-${pkgver}/all_${_patchlevel}.patch.gz \
+ 2.00-lpam.patch CVE-2008-5514.patch)
+md5sums=('84e44cbf71ed674800a5d57eed9c1c52' 'c4a85b865f59c095f838617d08b1b123'\
+ 'cd3911c16fc6a072e853c0ccfc35857c' '1b52a54a656979116c09fb1d948a4325')
+sha1sums=('dcbd3c5419954f484ccf706feaba31ce48cdebc4' '7396ed92062924c126087dc32b98ccebf98e17cc'\
+ '1b39525f91ebd5a9de5a1e04f5554f6fa5f58ae3' 'bc61d76a237ff42b00b3f60f2e6fc5c45e261dbb')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < ../all_${_patchlevel}.patch || return 1
+ patch -p1 < ../2.00-lpam.patch || return 1
+ patch -p1 < ../CVE-2008-5514.patch || return 1
+ ./configure --prefix=/usr --without-passfile --without-tcl \
+ --disable-shared --with-system-pinerc=/etc/alpine.d/pine.conf \
+ --with-system-fixed-pinerc=/etc/alpine.d/pine.conf.fixed || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/extra-testing/gnupg/PKGBUILD b/abs/extra-testing/gnupg/PKGBUILD
new file mode 100644
index 0000000..cb980ce
--- /dev/null
+++ b/abs/extra-testing/gnupg/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 52155 2009-09-16 11:08:07Z allan $
+# Maintainer: Andreas Radke <andyrtr at archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+pkgname=gnupg
+pkgver=1.4.10
+pkgrel=2
+pkgdesc="GNU Privacy Guard - a PGP replacement tool"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('zlib' 'bzip2' 'libldap>=2.4.11' 'libusb' 'curl>=7.16.2' 'readline>=5.0.00')
+source=(ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/gnupg/$pkgname-$pkgver.tar.bz2)
+install=gnupg.install
+url="http://www.gnupg.org/"
+md5sums=('dcf7ed712997888d616e029637bfc303')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --libexecdir=/usr/lib # docdir can't be set properly
+ make || return 1
+ ln -s ${pkgname}-${pkgver}/scripts ..
+ make DESTDIR=${pkgdir} install || return 1
+
+ # fix fileconflict with gnupg2 pkg
+ rm ${pkgdir}/usr/share/man/man1/gpg-zip.1
+}
diff --git a/abs/extra-testing/gnupg/gnupg.install b/abs/extra-testing/gnupg/gnupg.install
new file mode 100644
index 0000000..5a67047
--- /dev/null
+++ b/abs/extra-testing/gnupg/gnupg.install
@@ -0,0 +1,21 @@
+info_dir=/usr/share/info
+info_files=(gnupg1.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra-testing/gpgme/PKGBUILD b/abs/extra-testing/gpgme/PKGBUILD
new file mode 100644
index 0000000..ce03d89
--- /dev/null
+++ b/abs/extra-testing/gpgme/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 48153 2009-07-31 20:34:25Z tpowa $
+# Maintainer: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Sarah Hay <sarah@archlinux.org>
+
+pkgname=gpgme
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="A C wrapper library for GnuPG."
+arch=('i686' 'x86_64')
+url="http://www.gnupg.org/related_software/gpgme/"
+license=('GPL')
+depends=('libgpg-error>=1.5' 'pth' 'gnupg')
+install=gpgme.install
+options=('!libtool' '!emptydirs')
+source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('3164bbbd49f94863f2849f39c343521e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=${pkgdir} install
+ rm ${pkgdir}/usr/share/info/dir
+ gzip ${pkgdir}/usr/share/info/*
+}
diff --git a/abs/extra-testing/gpgme/__changelog b/abs/extra-testing/gpgme/__changelog
new file mode 100644
index 0000000..4074d1b
--- /dev/null
+++ b/abs/extra-testing/gpgme/__changelog
@@ -0,0 +1 @@
+removed gnupg2 requirement
diff --git a/abs/extra-testing/gpgme/gpgme.install b/abs/extra-testing/gpgme/gpgme.install
new file mode 100644
index 0000000..b54620d
--- /dev/null
+++ b/abs/extra-testing/gpgme/gpgme.install
@@ -0,0 +1,18 @@
+infodir=/usr/share/info
+filelist=(gpgme.info gpgme.info-1 gpgme.info-2)
+
+post_install() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/extra-testing/mime-types/PKGBUILD b/abs/extra-testing/mime-types/PKGBUILD
new file mode 100644
index 0000000..563857d
--- /dev/null
+++ b/abs/extra-testing/mime-types/PKGBUILD
@@ -0,0 +1,17 @@
+# $Id: PKGBUILD 35674 2009-04-15 05:29:19Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=mime-types
+pkgver=1.0
+pkgrel=2
+pkgdesc="Provides /etc/mime.types"
+arch=('i686' 'x86_64')
+url="http://www.archlinux.org/"
+license=('GPL2')
+backup=('etc/mime.types')
+source=(mime.types)
+md5sums=('aa90248272ba2e9dca0a243746686739')
+
+build() {
+ cd ${srcdir}
+ install -D -m644 mime.types ${pkgdir}/etc/mime.types || return 1
+}
diff --git a/abs/extra-testing/mime-types/mime.types b/abs/extra-testing/mime-types/mime.types
new file mode 100644
index 0000000..5a6bbd4
--- /dev/null
+++ b/abs/extra-testing/mime-types/mime.types
@@ -0,0 +1,758 @@
+###############################################################################
+#
+# MIME-TYPES and the extensions that represent them
+#
+# This file is part of the mime-types package, which is based on
+# gentoo's "app-misc/mime-types". If you would like new types and/or
+# extensions to be added here, please file a bug on http://bugs.archlinux.org
+#
+# The reason that all types are managed by the mime-support package instead
+# allowing individual packages to install types in much the same way as they
+# add entries in to the mailcap file is so these types can be referenced by
+# other programs (such as a web server) even if the specific support package
+# for that type is not installed.
+#
+# Users can add their own types if they wish by creating a ".mime.types"
+# file in their home directory. Definitions included there will take
+# precedence over those listed here.
+#
+# Note: Compression schemes like "gzip", "bzip", and "compress" are not
+# actually "mime-types". They are "encodings" and hence must _not_ have
+# entries in this file to map their extensions. The "mime-type" of an
+# encoded file refers to the type of data that has been encoded, not the
+# type of encoding.
+#
+###############################################################################
+
+
+application/activemessage
+application/andrew-inset ez
+application/applefile
+application/atomicmail
+application/batch-SMTP
+application/beep+xml
+application/cals-1840
+application/commonground
+application/cu-seeme cu
+application/cybercash
+application/dca-rft
+application/dec-dx
+application/docbook+xml
+application/dsptype tsp
+application/dvcs
+application/edi-consent
+application/edi-x12
+application/edifact
+application/eshop
+application/font-tdpfr
+application/futuresplash spl
+application/ghostview
+application/hta hta
+application/http
+application/hyperstudio
+application/iges
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/java-archive jar
+application/java-serialized-object ser
+application/java-vm class
+application/mac-binhex40 hqx
+application/mac-compactpro cpt
+application/macwriteii
+application/marc
+application/mathematica nb
+application/mathematica-old
+application/msaccess mdb
+application/msword doc dot
+application/news-message-id
+application/news-transmission
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin
+application/oda oda
+application/ogg ogg
+application/parityfec
+application/pdf pdf
+application/pgp-encrypted
+application/pgp-keys key
+application/pgp-signature pgp
+application/pics-rules prf
+application/pkcs10
+application/pkcs7-mime
+application/pkcs7-signature
+application/pkix-cert
+application/pkix-crl
+application/pkixcmp
+application/postscript ps ai eps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww
+application/prs.nprend
+application/qsig
+application/rar rar
+application/rdf+xml rdf
+application/remote-printing
+application/riscos
+application/rss+xml rss
+application/rtf
+application/sdp
+application/set-payment
+application/set-payment-initiation
+application/set-registration
+application/set-registration-initiation
+application/sgml
+application/sgml-open-catalog
+application/sieve
+application/slate
+application/smil smi smil
+application/timestamp-query
+application/timestamp-reply
+application/vemmi
+application/whoispp-query
+application/whoispp-response
+application/wita
+application/wordperfect wpd
+application/wordperfect5.1 wp5
+application/x400-bp
+application/xhtml+xml xhtml xht
+application/xml xml xsl
+application/xml-dtd
+application/xml-external-parsed-entity
+application/zip zip
+application/vnd.3M.Post-it-Notes
+application/vnd.accpac.simply.aso
+application/vnd.accpac.simply.imp
+application/vnd.acucobol
+application/vnd.aether.imp
+application/vnd.anser-web-certificate-issue-initiation
+application/vnd.anser-web-funds-transfer-initiation
+application/vnd.audiograph
+application/vnd.bmi
+application/vnd.businessobjects
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cinderella cdy
+application/vnd.claymore
+application/vnd.commerce-battelle
+application/vnd.commonspace
+application/vnd.comsocaller
+application/vnd.contact.cmsg
+application/vnd.cosmocaller
+application/vnd.ctc-posml
+application/vnd.cups-postscript
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.cybank
+application/vnd.dna
+application/vnd.dpgraph
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven
+application/vnd.epson.esf
+application/vnd.epson.msf
+application/vnd.epson.quickanime
+application/vnd.epson.salt
+application/vnd.epson.ssf
+application/vnd.ericsson.quickcall
+application/vnd.eudora.data
+application/vnd.fdf
+application/vnd.ffsns
+application/vnd.flographit
+application/vnd.framemaker
+application/vnd.fsc.weblaunch
+application/vnd.fujitsu.oasys
+application/vnd.fujitsu.oasys2
+application/vnd.fujitsu.oasys3
+application/vnd.fujitsu.oasysgp
+application/vnd.fujitsu.oasysprs
+application/vnd.fujixerox.ddd
+application/vnd.fujixerox.docuworks
+application/vnd.fujixerox.docuworks.binder
+application/vnd.fut-misnet
+application/vnd.grafeq
+application/vnd.groove-account
+application/vnd.groove-identity-message
+application/vnd.groove-injector
+application/vnd.groove-tool-message
+application/vnd.groove-tool-template
+application/vnd.groove-vcard
+application/vnd.hhe.lesson-player
+application/vnd.hp-HPGL
+application/vnd.hp-PCL
+application/vnd.hp-PCLXL
+application/vnd.hp-hpid
+application/vnd.hp-hps
+application/vnd.httphone
+application/vnd.hzn-3d-crossword
+application/vnd.ibm.MiniPay
+application/vnd.ibm.afplinedata
+application/vnd.ibm.modcap
+application/vnd.informix-visionary
+application/vnd.intercon.formnet
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo
+application/vnd.intu.qfx
+application/vnd.irepository.package+xml
+application/vnd.is-xpr
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.koan
+application/vnd.lotus-1-2-3
+application/vnd.lotus-approach
+application/vnd.lotus-freelance
+application/vnd.lotus-notes
+application/vnd.lotus-organizer
+application/vnd.lotus-screencam
+application/vnd.lotus-wordpro
+application/vnd.mcd
+application/vnd.mediastation.cdkey
+application/vnd.meridian-slingshot
+application/vnd.mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf
+application/vnd.mobius.dis
+application/vnd.mobius.msl
+application/vnd.mobius.plc
+application/vnd.mobius.txf
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml xul
+application/vnd.ms-artgalry
+application/vnd.ms-asf
+application/vnd.ms-excel xls xlb xlt
+application/vnd.ms-lrm
+application/vnd.ms-pki.seccat cat
+application/vnd.ms-pki.stl stl
+application/vnd.ms-powerpoint ppt pps
+application/vnd.ms-project
+application/vnd.ms-tnef
+application/vnd.ms-works
+application/vnd.mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician
+application/vnd.netfpx
+application/vnd.noblenet-directory
+application/vnd.noblenet-sealer
+application/vnd.noblenet-web
+application/vnd.novadigm.EDM
+application/vnd.novadigm.EDX
+application/vnd.novadigm.EXT
+application/vnd.oasis.opendocument.chart odc
+application/vnd.oasis.opendocument.database odb
+application/vnd.oasis.opendocument.formula odf
+application/vnd.oasis.opendocument.graphics odg
+application/vnd.oasis.opendocument.graphics-template otg
+application/vnd.oasis.opendocument.image odi
+application/vnd.oasis.opendocument.presentation odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet ods
+application/vnd.oasis.opendocument.spreadsheet-template ots
+application/vnd.oasis.opendocument.text odt
+application/vnd.oasis.opendocument.text-master odm
+application/vnd.oasis.opendocument.text-template ott
+application/vnd.oasis.opendocument.text-web oth
+application/vnd.osa.netdeploy
+application/vnd.palm
+application/vnd.pg.format
+application/vnd.pg.osasli
+application/vnd.powerbuilder6
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.previewsystems.box
+application/vnd.publishare-delta-tree
+application/vnd.pvi.ptid1
+application/vnd.pwg-xhtml-print+xml
+application/vnd.rapid
+application/vnd.rim.cod cod
+application/vnd.s3sms
+application/vnd.seemail
+application/vnd.shana.informed.formdata
+application/vnd.shana.informed.formtemplate
+application/vnd.shana.informed.interchange
+application/vnd.shana.informed.package
+application/vnd.smaf mmf
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.stardivision.calc sdc
+application/vnd.stardivision.draw sda
+application/vnd.stardivision.impress sdd sdp
+application/vnd.stardivision.math smf
+application/vnd.stardivision.writer sdw vor
+application/vnd.stardivision.writer-global sgl
+application/vnd.street-stream
+application/vnd.sun.xml.calc sxc
+application/vnd.sun.xml.calc.template stc
+application/vnd.sun.xml.draw sxd
+application/vnd.sun.xml.draw.template std
+application/vnd.sun.xml.impress sxi
+application/vnd.sun.xml.impress.template sti
+application/vnd.sun.xml.math sxm
+application/vnd.sun.xml.writer sxw
+application/vnd.sun.xml.writer.global sxg
+application/vnd.sun.xml.writer.template stw
+application/vnd.svd
+application/vnd.swiftview-ics
+application/vnd.symbian.install sis
+application/vnd.triscape.mxs
+application/vnd.trueapp
+application/vnd.truedoc
+application/vnd.tve-trigger
+application/vnd.ufdl
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio vsd
+application/vnd.vividence.scriptfile
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml wbxml
+application/vnd.wap.wmlc wmlc
+application/vnd.wap.wmlscriptc wmlsc
+application/vnd.webturbo
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf
+application/vnd.xara
+application/vnd.xfdl
+application/vnd.yellowriver-custom-menu
+application/x-123 wk
+application/x-abiword abw
+application/x-apple-diskimage dmg
+application/x-bcpio bcpio
+application/x-bittorrent torrent
+application/x-cdf cdf
+application/x-cdlink vcd
+application/x-chess-pgn pgn
+application/x-core
+application/x-cpio cpio
+application/x-csh csh
+application/x-debian-package deb udeb
+application/x-director dcr dir dxr
+application/x-dms dms
+application/x-doom wad
+application/x-dvi dvi
+application/x-executable
+application/x-flac flac
+application/x-font pfa pfb gsf pcf pcf.Z
+application/x-freemind mm
+application/x-futuresplash spl
+application/x-gnumeric gnumeric
+application/x-go-sgf sgf
+application/x-graphing-calculator gcf
+application/x-gtar gtar tgz taz
+application/x-hdf hdf
+application/x-ica ica
+application/x-internet-signup ins isp
+application/x-iphone iii
+application/x-iso9660-image iso
+application/x-java-applet
+application/x-java-bean
+application/x-java-jnlp-file jnlp
+application/x-javascript js
+application/x-jmol jmz
+application/x-kchart chrt
+application/x-kdelnk
+application/x-killustrator kil
+application/x-koan skp skd skt skm
+application/x-kpresenter kpr kpt
+application/x-kspread ksp
+application/x-kword kwd kwt
+application/x-latex latex
+application/x-lha lha
+application/x-lzh lzh
+application/x-lzx lzx
+application/x-maker frm maker frame fm fb book fbdoc
+application/x-mif mif
+application/x-ms-wmd wmd
+application/x-ms-wmz wmz
+application/x-msdos-program com exe bat dll
+application/x-msi msi
+application/x-netcdf nc
+application/x-ns-proxy-autoconfig pac
+application/x-nwc nwc
+application/x-object o
+application/x-oz-application oza
+application/x-pkcs7-certreqresp p7r
+application/x-pkcs7-crl crl
+application/x-python-code pyc pyo
+application/x-quicktimeplayer qtl
+application/x-redhat-package-manager rpm
+application/x-rx
+application/x-sh sh
+application/x-shar shar
+application/x-shellscript
+application/x-shockwave-flash swf swfl
+application/x-stuffit sit
+application/x-sv4cpio sv4cpio
+application/x-sv4crc sv4crc
+application/x-tar tar
+application/x-tcl tcl
+application/x-tex-gf gf
+application/x-tex-pk pk
+application/x-texinfo texinfo texi
+application/x-trash ~ % bak old sik
+application/x-troff t tr roff
+application/x-troff-man man
+application/x-troff-me me
+application/x-troff-ms ms
+application/x-ustar ustar
+application/x-videolan
+application/x-wais-source src
+application/x-wingz wz
+application/x-x509-ca-cert crt
+application/x-xcf xcf
+application/x-xfig fig
+application/x-xpinstall xpi
+
+audio/32kadpcm
+audio/basic au snd
+audio/dvi4
+audio/g.722.1
+audio/g722
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/l8
+audio/l16
+audio/lpc
+audio/midi mid midi kar
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg mpga mpega mp2 mp3 m4a
+audio/mpegurl m3u
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid sid
+audio/qcelp
+audio/red
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vnd.cisco.nse
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds
+audio/vnd.everad.plj
+audio/vnd.lucent.voice
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800
+audio/vnd.nuera.ecelp7470
+audio/vnd.nuera.ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.vmx.cvsd
+audio/x-aiff aif aiff aifc
+audio/x-gsm gsm
+audio/x-mpegurl m3u
+audio/x-ms-wma wma
+audio/x-ms-wax wax
+audio/x-pn-realaudio-plugin
+audio/x-pn-realaudio ra rm ram
+audio/x-realaudio ra
+audio/x-scpls pls
+audio/x-sd2 sd2
+audio/x-wav wav
+
+chemical/x-alchemy alc
+chemical/x-cache cac cache
+chemical/x-cache-csf csf
+chemical/x-cactvs-binary cbin cascii ctab
+chemical/x-cdx cdx
+chemical/x-cerius cer
+chemical/x-chem3d c3d
+chemical/x-chemdraw chm
+chemical/x-cif cif
+chemical/x-cmdf cmdf
+chemical/x-cml cml
+chemical/x-compass cpa
+chemical/x-crossfire bsd
+chemical/x-csml csml csm
+chemical/x-ctx ctx
+chemical/x-cxf cxf cef
+#chemical/x-daylight-smiles smi
+chemical/x-embl-dl-nucleotide emb embl
+chemical/x-galactic-spc spc
+chemical/x-gamess-input inp gam gamin
+chemical/x-gaussian-checkpoint fch fchk
+chemical/x-gaussian-cube cub
+chemical/x-gaussian-input gau gjc gjf
+chemical/x-gaussian-log gal
+chemical/x-gcg8-sequence gcg
+chemical/x-genbank gen
+chemical/x-hin hin
+chemical/x-isostar istr ist
+chemical/x-jcamp-dx jdx dx
+chemical/x-kinemage kin
+chemical/x-macmolecule mcm
+chemical/x-macromodel-input mmd mmod
+chemical/x-mdl-molfile mol
+chemical/x-mdl-rdfile rd
+chemical/x-mdl-rxnfile rxn
+chemical/x-mdl-sdfile sd sdf
+chemical/x-mdl-tgf tgf
+#chemical/x-mif mif
+chemical/x-mmcif mcif
+chemical/x-mol2 mol2
+chemical/x-molconn-Z b
+chemical/x-mopac-graph gpt
+chemical/x-mopac-input mop mopcrt mpc dat zmt
+chemical/x-mopac-out moo
+chemical/x-mopac-vib mvb
+chemical/x-ncbi-asn1 asn
+chemical/x-ncbi-asn1-ascii prt ent
+chemical/x-ncbi-asn1-binary val aso
+chemical/x-ncbi-asn1-spec asn
+chemical/x-pdb pdb ent
+chemical/x-rosdal ros
+chemical/x-swissprot sw
+chemical/x-vamas-iso14976 vms
+chemical/x-vmd vmd
+chemical/x-xtel xtel
+chemical/x-xyz xyz
+
+image/cgm
+image/g3fax
+image/gif gif
+image/ief ief
+image/jpeg jpeg jpg jpe
+image/naplps
+image/pcx pcx
+image/png png
+image/prs.btif
+image/prs.pti
+image/svg+xml svg svgz
+image/tiff tiff tif
+image/vnd.cns.inf2
+image/vnd.djvu djvu djv
+image/vnd.dwg
+image/vnd.dxf
+image/vnd.fastbidsheet
+image/vnd.fpx
+image/vnd.fst
+image/vnd.fujixerox.edmics-mmr
+image/vnd.fujixerox.edmics-rlc
+image/vnd.mix
+image/vnd.net-fpx
+image/vnd.svf
+image/vnd.wap.wbmp wbmp
+image/vnd.xiff
+image/x-cmu-raster ras
+image/x-coreldraw cdr
+image/x-coreldrawpattern pat
+image/x-coreldrawtemplate cdt
+image/x-corelphotopaint cpt
+image/x-icon ico
+image/x-jg art
+image/x-jng jng
+image/x-ms-bmp bmp
+image/x-photoshop psd
+image/x-portable-anymap pnm
+image/x-portable-bitmap pbm
+image/x-portable-graymap pgm
+image/x-portable-pixmap ppm
+image/x-rgb rgb
+image/x-xbitmap xbm
+image/x-xpixmap xpm
+image/x-xwindowdump xwd
+
+inode/chardevice
+inode/blockdevice
+inode/directory-locked
+inode/directory
+inode/fifo
+inode/socket
+
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/s-http
+message/news
+message/partial
+message/rfc822
+
+model/iges igs iges
+model/mesh msh mesh silo
+model/vnd.dwf
+model/vnd.flatland.3dml
+model/vnd.gdl
+model/vnd.gs-gdl
+model/vnd.gtw
+model/vnd.mts
+model/vnd.vtu
+model/vrml wrl vrml
+
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+
+text/calendar ics icz
+text/comma-separated-values csv
+text/css css
+text/directory
+text/english
+text/enriched
+text/h323 323
+text/html html htm shtml
+text/iuls uls
+text/mathml mml
+text/parityfec
+text/plain asc txt text diff pot
+text/prs.lines.tag
+text/x-psp psp
+text/rfc822-headers
+text/richtext rtx
+text/rtf rtf
+text/scriptlet sct wsc
+text/t140
+text/texmacs tm ts
+text/tab-separated-values tsv
+text/uri-list
+text/vnd.abc
+text/vnd.curl
+text/vnd.DMClientScript
+text/vnd.flatland.3dml
+text/vnd.fly
+text/vnd.fmi.flexstor
+text/vnd.in3d.3dml
+text/vnd.in3d.spot
+text/vnd.IPTC.NewsML
+text/vnd.IPTC.NITF
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.sun.j2me.app-descriptor jad
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml wml
+text/vnd.wap.wmlscript wmls
+text/x-bibtex bib
+text/x-c++hdr h++ hpp hxx hh
+text/x-c++src c++ cpp cxx cc
+text/x-chdr h
+text/x-crontab
+text/x-csh csh
+text/x-csrc c
+text/x-haskell hs
+text/x-java java
+text/x-literate-haskell lhs
+text/x-makefile
+text/x-moc moc
+text/x-pascal p pas
+text/x-pcs-gcd gcd
+text/x-perl pl pm
+text/x-python py
+text/x-server-parsed-html
+text/x-setext etx
+text/x-sh sh
+text/x-tcl tcl tk
+text/x-tex tex ltx sty cls
+text/x-vcalendar vcs
+text/x-vcard vcf
+
+video/bmpeg
+video/bt656
+video/celb
+video/dl dl
+video/dv dif dv
+video/fli fli
+video/gl gl
+video/jpeg
+video/h261
+video/h263
+video/h263-1998
+video/h263-2000
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4 mp4
+video/mp4v-es
+video/mpeg mpeg mpg mpe
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime qt mov
+video/vnd.fvt
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl mxu
+video/vnd.mts
+video/vnd.nokia.interleaved-multimedia
+video/vnd.vivo
+video/x-la-asf lsf lsx
+video/x-mng mng
+video/x-ms-asf asf asx
+video/x-ms-wm wm
+video/x-ms-wmv wmv
+video/x-ms-wmx wmx
+video/x-ms-wvx wvx
+video/x-msvideo avi
+video/x-sgi-movie movie
+video/x-flv flv
+
+x-conference/x-cooltalk ice
+
+x-world/x-vrml vrm vrml wrl
diff --git a/abs/extra-testing/mutt/PKGBUILD b/abs/extra-testing/mutt/PKGBUILD
new file mode 100644
index 0000000..c481eec
--- /dev/null
+++ b/abs/extra-testing/mutt/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 50055 2009-08-19 01:49:30Z thayer $
+# Maintainer: tobias [tobias [at] archlinux.org]
+pkgname=mutt
+pkgver=1.5.20
+pkgrel=2
+pkgdesc="A small but very powerful text-based mail client"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://www.mutt.org/"
+depends=('slang' 'openssl>=0.9.8e' 'gdbm' 'mime-types' 'zlib' 'libsasl' 'gpgme')
+makedepends=('gnupg')
+install=${pkgname}.install
+source=(ftp://ftp.mutt.org/mutt/devel/${pkgname}-${pkgver}.tar.gz
+ mutt-unmailbox.patch)
+url="http://www.mutt.org/"
+md5sums=('027cdd9959203de0c3c64149a7ee351c'
+ 'fa8e03a49a2fa7b294dc8237d928cdb7')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # patch a segfault bug in 1.5.20 -- remove for next release
+ patch -p1 < ${srcdir}/mutt-unmailbox.patch || return 1
+ #patch -Np1 -i ../mutt-unmailbox.patch || exit 1
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-pop --enable-imap --enable-smtp \
+ --with-sasl --with-ssl=/usr --without-idn \
+ --enable-hcache --enable-pgp --enable-inodesort \
+ --enable-compressed --with-regex \
+ --enable-gpgme --with-slang=/usr
+ make || return 1
+ make DESTDIR=${pkgdir} install
+ rm -f ${pkgdir}/usr/bin/{flea,muttbug}
+ rm -f ${pkgdir}/usr/share/man/man1/{flea,muttbug}.1
+ rm -f ${pkgdir}/etc/mime.types*
+ install -Dm644 contrib/gpg.rc ${pkgdir}/etc/Muttrc.gpg.dist
+}
+
diff --git a/abs/extra-testing/mutt/mutt-unmailbox.patch b/abs/extra-testing/mutt/mutt-unmailbox.patch
new file mode 100644
index 0000000..cbb3210
--- /dev/null
+++ b/abs/extra-testing/mutt/mutt-unmailbox.patch
@@ -0,0 +1,10 @@
+--- a/buffy.c 2009-08-10 08:23:12.731846990 -0400
++++ b/buffy.c 2009-08-10 08:23:50.541878087 -0400
+@@ -236,7 +236,6 @@
+ {
+ if(*tmp)
+ {
+- FREE (&((*tmp)->path));
+ tmp1=(*tmp)->next;
+ FREE (tmp); /* __FREE_CHECKED__ */
+ *tmp=tmp1;
diff --git a/abs/extra-testing/mutt/mutt.install b/abs/extra-testing/mutt/mutt.install
new file mode 100644
index 0000000..98ece96
--- /dev/null
+++ b/abs/extra-testing/mutt/mutt.install
@@ -0,0 +1,15 @@
+# arg 1: the new package version
+post_install() {
+ cat << EOM
+
+--> to support gpg, please use the following line in your ~/.muttrc
+
+source /etc/Muttrc.gpg.dist
+
+EOM
+}
+
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/abs/extra-testing/postfix/PKGBUILD b/abs/extra-testing/postfix/PKGBUILD
new file mode 100644
index 0000000..1b2fa06
--- /dev/null
+++ b/abs/extra-testing/postfix/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 70372 2010-02-26 13:35:23Z paul $
+# Contributor: Jeff Brodnax <tullyarcher@bellsouth.net>
+# Maintainer: Paul Mattal <paul@archlinux.org>
+pkgname=postfix
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="Secure, fast, easy to administer drop in replacement for Sendmail (MTA)"
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('pcre' 'libsasl' 'db>=4.7')
+backup=(etc/postfix/aliases etc/postfix/virtual etc/postfix/relocated \
+ etc/postfix/access etc/postfix/header_checks etc/postfix/transport \
+ etc/postfix/generic etc/postfix/canonical \
+ etc/postfix/main.cf etc/postfix/master.cf)
+install="${pkgname}.install"
+provides=('smtp-server' 'smtp-forwarder')
+replaces=('postfix-mysql' 'postfix-pgsql')
+conflicts=('postfix-mysql' 'postfix-pgsql' 'smtp-server' 'smtp-forwarder')
+url="http://www.postfix.org/"
+source=(ftp://ftp.porcupine.org/mirrors/postfix-release/official/${pkgname}-${pkgver}.tar.gz \
+ ${pkgname}.patch.bz2 \
+ ${pkgname})
+md5sums=('df648f59421604e895cce56325f00bae'
+ 'a3c45ff23ef036143711793fcf2478c3'
+ 'c847b96f08925f08b0f610468a8e21f6')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make makefiles \
+ CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl \
+ -DUSE_CYRUS_SASL \
+ -DUSE_TLS" \
+ AUXLIBS="-lsasl2 -lssl -lcrypto -llber -lz -lm "
+ make OPT="${CFLAGS}" || return 1
+
+ sh postfix-install -non-interactive \
+ install_root="${pkgdir}" \
+ daemon_directory="/usr/lib/${pkgname}" \
+ sample_directory="/etc/${pkgname}/sample" \
+ manpage_directory="/usr/share/man"
+
+ cd ${pkgdir}
+ cat ${srcdir}/${pkgname}.patch |patch -Np0 || return 1
+ rm -f etc/${pkgname}/main.cf~
+
+ cd ${pkgdir}
+ mkdir etc/rc.d
+ install -m 0755 ${srcdir}/${pkgname} etc/rc.d/${pkgname}
+
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/extra-testing/postfix/__changelog b/abs/extra-testing/postfix/__changelog
new file mode 100644
index 0000000..25ca6b4
--- /dev/null
+++ b/abs/extra-testing/postfix/__changelog
@@ -0,0 +1 @@
+remove ldap/mysql/pg support
diff --git a/abs/extra-testing/postfix/postfix b/abs/extra-testing/postfix/postfix
new file mode 100755
index 0000000..37dd6a8
--- /dev/null
+++ b/abs/extra-testing/postfix/postfix
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pgrep -f /usr/lib/postfix/master`
+
+start() {
+ stat_busy "Starting Postfix"
+ [ -z "$PID" ] && /usr/sbin/postfix start &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon postfix
+ stat_done
+ fi
+}
+
+stop() {
+ stat_busy "Stopping Postfix"
+ [ ! -z "$PID" ] && /usr/sbin/postfix stop &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon postfix
+ stat_done
+ fi
+}
+
+reload() {
+ stat_busy "Reloading Postfix"
+ [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ # calling 'stop' and 'start' without the $0 fails...
+ $0 stop
+ $0 start
+ ;;
+ reload)
+ reload
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+esac
+exit 0
diff --git a/abs/extra-testing/postfix/postfix.install b/abs/extra-testing/postfix/postfix.install
new file mode 100644
index 0000000..bac3e1d
--- /dev/null
+++ b/abs/extra-testing/postfix/postfix.install
@@ -0,0 +1,38 @@
+# arg 1: the new package version
+post_install() {
+ if [ -z "`grep '^postdrop::' /etc/group`" ]; then
+ groupadd -g 75 postdrop >& /dev/null
+ fi
+ if [ -z "`grep '^postfix::' /etc/group`" ]; then
+ groupadd -g 73 postfix >& /dev/null
+ fi
+ if [ -z "`grep '^postfix:' /etc/passwd`" ]; then
+ useradd -u 73 -d /var/spool/postfix -g postfix -s /bin/false postfix
+ else
+ # fix a packaging bug from before (postfix should have no shell)
+ usermod -s /bin/false postfix
+ fi
+
+ chown postfix var/spool/postfix/{active,bounce,corrupt,defer,deferred,\
+flush,hold,incoming,private,public,maildrop,trace,saved}
+ chown postfix var/lib/postfix
+ chgrp postdrop var/spool/postfix/{public,maildrop}
+ chgrp postdrop usr/sbin/postqueue
+ chgrp postdrop usr/sbin/postdrop
+ chmod g+s usr/sbin/{postqueue,postdrop}
+
+ newaliases
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ userdel postfix &> /dev/null
+ groupdel postfix &> /dev/null
+ groupdel postdrop &> /dev/null
+}
diff --git a/abs/extra-testing/postfix/postfix.patch.bz2 b/abs/extra-testing/postfix/postfix.patch.bz2
new file mode 100644
index 0000000..dbc0950
--- /dev/null
+++ b/abs/extra-testing/postfix/postfix.patch.bz2
Binary files differ
diff --git a/abs/extra-testing/procmail/PKGBUILD b/abs/extra-testing/procmail/PKGBUILD
new file mode 100644
index 0000000..356a147
--- /dev/null
+++ b/abs/extra-testing/procmail/PKGBUILD
@@ -0,0 +1,21 @@
+# $Id: PKGBUILD 35774 2009-04-17 03:11:54Z eric $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+pkgname=procmail
+pkgver=3.22
+pkgrel=2
+pkgdesc="Highly configurable auto mail processing."
+arch=(i686 x86_64)
+url="http://www.procmail.org"
+license=('GPL' 'custom:Artistic')
+depends=('glibc')
+source=(http://www.procmail.org/${pkgname}-${pkgver}.tar.gz)
+source=(ftp://ftp.psg.com/pub/unix/procmail/procmail-3.22.tar.gz)
+md5sums=('1678ea99b973eb77eda4ecf6acae53f1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ yes n | make LOCKINGTEST="/tmp ." || return 1
+ make BASENAME=$pkgdir/usr MANDIR=$pkgdir/usr/share/man install || return 1
+ install -D -m644 Artistic ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/extra-testing/pth/PKGBUILD b/abs/extra-testing/pth/PKGBUILD
new file mode 100644
index 0000000..2e0f66b
--- /dev/null
+++ b/abs/extra-testing/pth/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 35785 2009-04-17 05:07:12Z eric $
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=pth
+pkgver=2.0.7
+pkgrel=2
+pkgdesc="The GNU Portable Threads."
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/pth/"
+license=('LGPL')
+depends=('glibc')
+options=('!libtool' '!makeflags')
+source=(ftp://ftp.gnu.org/gnu/pth/${pkgname}-${pkgver}.tar.gz)
+md5sums=('9cb4a25331a4c4db866a31cbe507c793')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --mandir=/usr/share/man || return 1
+ make || return 1
+ make DESTDIR=${pkgdir} install || return 1
+}