From a73aa26202d19da424722bcf1285b566dbfd9d8d Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sat, 22 Nov 2008 21:47:32 -0600
Subject: add mythvantage specific packages.

---
 .../myth/release-fixes/Midnight-blue/PKGBUILD      |  21 +
 .../myth/release-fixes/Midnight-wide/PKGBUILD      |  21 +
 .../MythVantage-menu/HOST_SETTINGS.xml             |  71 ++++
 .../MythVantage-menu/util_menu.xml                 | 121 ++++++
 .../MythVantage-menu/util_menu.xml.mv              | 106 +++++
 .../release-fixes/MythVanage-mythmenu/PKGBUILD     |  15 +
 .../myth/release-fixes/basic-amber/PKGBUILD        |  20 +
 abs/mv-core/myth/release-fixes/basic-blue/PKGBUILD |  20 +
 .../myth/release-fixes/basic-green/PKGBUILD        |  20 +
 .../myth/release-fixes/basic-purple/PKGBUILD       |  20 +
 abs/mv-core/myth/release-fixes/basic-red/PKGBUILD  |  20 +
 abs/mv-core/myth/release-fixes/compile-plugins.sh  |  17 +
 .../mythtv-release-fixes/3466-v1.patch             | 240 +++++++++++
 .../release-fixes/mythtv-release-fixes/PKGBUILD    |  79 ++++
 .../mythtv-release-fixes/dbconfig.patch            |  19 +
 .../mythtv-release-fixes/debug_uitypes.cpp.patch   |  21 +
 .../mythtv-release-fixes/debug_xmlparse.cpp.patch  |  14 +
 .../mythtv-release-fixes/jump_snapshot.patch       |  13 +
 .../mythtv-release-fixes/myth.find_orphans.pl      | 260 ++++++++++++
 .../release-fixes/mythtv-release-fixes/myth.sh     |   4 +
 .../release-fixes/mythtv-release-fixes/mythbackend |  37 ++
 .../mythtv-release-fixes/mythbackend.sh            | 117 ++++++
 .../mythtv-release-fixes/myththemedmenu.cpp.patch  | 125 ++++++
 .../mythtv-release-fixes/myththemedmenu.h.patch    |  25 ++
 .../mythtv-release-fixes/mythtv.install            |  59 +++
 .../mythtv-release-fixes/pop_be_restart.cpp.patch  |  51 +++
 .../mythtv-release-fixes/pop_be_restart.h.patch    |  10 +
 .../mythtv-release-fixes/reload.patch              |  52 +++
 .../mythtv-release-fixes/screenshot_jump.patch     |  10 +
 .../mythtv-release-fixes/screenshots.diff          | 458 ++++++++++++++++++++
 .../mythtv-release-fixes/screenshots2.diff         | 467 +++++++++++++++++++++
 .../mythtv-release-fixes/smolt_jump.patch          |  10 +
 .../myth/release-fixes/mythtv-themes/PKGBUILD      |  36 ++
 .../release-fixes/plugins/mytharchive/PKGBUILD     |  41 ++
 .../release-fixes/plugins/mythbrowser/PKGBUILD     |  34 ++
 .../release-fixes/plugins/mythcontrols/PKGBUILD    |  36 ++
 .../myth/release-fixes/plugins/mythflix/PKGBUILD   |  36 ++
 .../release-fixes/plugins/mythgallery/PKGBUILD     |  36 ++
 .../myth/release-fixes/plugins/mythgame/PKGBUILD   |  36 ++
 .../release-fixes/plugins/mythmovietime/PKGBUILD   |  35 ++
 .../myth/release-fixes/plugins/mythmusic/PKGBUILD  |  39 ++
 .../release-fixes/plugins/mythmusic/gcc4.3.patch   |  37 ++
 .../plugins/mythmusic/music_flac.patch             | 293 +++++++++++++
 .../myth/release-fixes/plugins/mythnews/PKGBUILD   |  34 ++
 .../myth/release-fixes/plugins/mythphone/PKGBUILD  |  42 ++
 .../myth/release-fixes/plugins/mythsmolt/PKGBUILD  |  27 ++
 .../myth/release-fixes/plugins/mythvideo/PKGBUILD  |  36 ++
 .../release-fixes/plugins/mythweather/PKGBUILD     |  37 ++
 .../myth/release-fixes/plugins/mythweb/PKGBUILD    |  34 ++
 .../release-fixes/plugins/mythweb/dblogininit.inc  |   6 +
 .../release-fixes/plugins/mythweb/mythweb.install  |  37 ++
 .../plugins/mythweb/mythweblighttpd.patch          |  13 +
 .../myth/release-fixes/syth-lacquer-clean/PKGBUILD |  22 +
 .../myth/release-fixes/syth-lacquer-wide/PKGBUILD  |  23 +
 abs/mv-core/mythvantage-live/PKGBUILD              |  30 ++
 abs/mv-core/mythvantage-live/bin/gen_fstab         | 122 ++++++
 abs/mv-core/mythvantage-live/bin/km                |  76 ++++
 abs/mv-core/mythvantage-live/etc/live-shutdown     |  50 +++
 abs/mv-core/mythvantage-live/etc/live-sysinit      |  54 +++
 abs/mv-core/mythvantage-live/etc/loginroot         |   3 +
 abs/mv-core/mythvantage-live/etc/rc.shutdown-live  | 167 ++++++++
 abs/mv-core/mythvantage-live/etc/rc.sysinit-live   | 466 ++++++++++++++++++++
 abs/mv-core/mythvantage-live/etc/ulogin            |  57 +++
 .../mythvantage-live/lib/initcpio/gen_larch_init   |  12 +
 .../mythvantage-live/lib/initcpio/hooks/larch1     | 125 ++++++
 .../mythvantage-live/lib/initcpio/hooks/larch2     |  33 ++
 .../lib/initcpio/hooks/larch2_aufs                 |  33 ++
 .../mythvantage-live/lib/initcpio/hooks/larch3     | 192 +++++++++
 .../mythvantage-live/lib/initcpio/install/larch1   |  15 +
 .../mythvantage-live/lib/initcpio/install/larch2   |  15 +
 .../lib/initcpio/install/larch2_aufs               |  15 +
 .../mythvantage-live/lib/initcpio/install/larch3   |  18 +
 abs/mv-core/mythvantage-live/lib/initcpio/kinit    |   6 +
 .../mythvantage-live/lib/initcpio/mkinitcpio.conf  |  54 +++
 abs/mv-core/oss-sound/PKGBUILD                     | 147 +++++++
 abs/mv-core/oss-sound/PKGBUILD.keep                | 147 +++++++
 abs/mv-core/oss-sound/PKGBUILD.orig                | 147 +++++++
 abs/mv-core/oss-sound/PKGBUILD.oss-free            |  45 ++
 abs/mv-core/oss-sound/install_sh.diff              |  50 +++
 abs/mv-core/oss-sound/oss-linux-free/PKGBUILD      |  45 ++
 abs/mv-core/oss-sound/oss-linux-free/oss.install   |  40 ++
 .../oss-linux-free/oss4_1016-kernel2626.diff       |  21 +
 .../oss-linux-free/oss4_1016-moduleinc.diff        |  44 ++
 .../oss-sound/oss-linux-free/rc.oss-linux-free     |  73 ++++
 abs/mv-core/oss-sound/oss.install                  |  56 +++
 abs/mv-core/oss-sound/oss4_1016-kernel2626.diff    |  21 +
 abs/mv-core/oss-sound/oss4_1016-moduleinc.diff     |  44 ++
 abs/mv-core/oss-sound/rc.oss-linux-free            |  73 ++++
 abs/mv-core/runit-scripts-mv/PKGBUILD              |  28 ++
 abs/mv-core/runit-scripts-mv/runit.install         |  57 +++
 abs/mv-core/runit-scripts-mv/runitscripts/1        |  14 +
 abs/mv-core/runit-scripts-mv/runitscripts/2        |   8 +
 abs/mv-core/runit-scripts-mv/runitscripts/3        |   4 +
 .../runit-scripts-mv/runitscripts/ctrlaltdel       |   9 +
 .../runit-scripts-mv/runitscripts/halt-runit       |   2 +
 abs/mv-core/runit-scripts-mv/runitscripts/logger   |  11 +
 .../runit-scripts-mv/runitscripts/reboot-runit     |   2 +
 .../runitscripts/services/Xvfb/finish              |  12 +
 .../runitscripts/services/Xvfb/run                 |   5 +
 .../runitscripts/services/Xvfb/supervise/lock      |   0
 .../runitscripts/services/Xvfb/supervise/pid       |   0
 .../runitscripts/services/Xvfb/supervise/stat      |   1 +
 .../runitscripts/services/Xvfb/supervise/status    | Bin 0 -> 20 bytes
 .../runitscripts/services/acpid/run                |   3 +
 .../runitscripts/services/alsa-utils/finish        |   3 +
 .../runitscripts/services/alsa-utils/run           |   3 +
 .../runitscripts/services/apache/run               |   2 +
 .../runitscripts/services/avahi/run                |   4 +
 .../runitscripts/services/certmaster/run           |   2 +
 .../runitscripts/services/cron/run                 |   3 +
 .../runitscripts/services/dbus/run                 |   3 +
 .../runitscripts/services/dnsmasq/run              |   4 +
 .../runitscripts/services/evrouter/finish          |   4 +
 .../runitscripts/services/evrouter/run             |   5 +
 .../runitscripts/services/evrouter/supervise/lock  |   0
 .../runitscripts/services/evrouter/supervise/pid   |   0
 .../runitscripts/services/evrouter/supervise/stat  |   1 +
 .../services/evrouter/supervise/status             | Bin 0 -> 20 bytes
 .../runitscripts/services/frontend/finish          |  24 ++
 .../runitscripts/services/frontend/log/run         |   5 +
 .../runitscripts/services/frontend/run             |  13 +
 .../runitscripts/services/funcd/run                |   2 +
 .../runitscripts/services/ghosd/run                |   3 +
 .../runit-scripts-mv/runitscripts/services/gpm/run |   4 +
 .../runit-scripts-mv/runitscripts/services/hal/run |   4 +
 .../runitscripts/services/hobbit-client/run        |  68 +++
 .../runitscripts/services/hobbit/run               |   3 +
 .../runitscripts/services/lcdd/run                 |   9 +
 .../runitscripts/services/lighttpd/run             |   2 +
 .../runitscripts/services/lircd/finish             |  12 +
 .../runitscripts/services/lircd/run                |  39 ++
 .../runitscripts/services/mysql/run                |  29 ++
 .../runitscripts/services/mythbackend/log/run      |   4 +
 .../runitscripts/services/mythbackend/run          |  25 ++
 .../runitscripts/services/ncid/run                 |   5 +
 .../runitscripts/services/ncidd/run                |   3 +
 .../runitscripts/services/netfs/finish             |   3 +
 .../runitscripts/services/netfs/run                |   5 +
 .../runitscripts/services/nfsd/run                 |  22 +
 .../runitscripts/services/nfslock/run              |   4 +
 .../runitscripts/services/nmbd/run                 |   3 +
 .../runitscripts/services/ntpd/run                 |   3 +
 .../runitscripts/services/oss/finish               |   4 +
 .../runit-scripts-mv/runitscripts/services/oss/run |   6 +
 .../runitscripts/services/portmap/run              |   3 +
 .../runitscripts/services/smbd/run                 |   3 +
 .../runitscripts/services/sshd/run                 |  20 +
 .../runitscripts/services/syslog-ng/run            |   3 +
 .../runitscripts/services/tty2/run                 |   2 +
 .../runitscripts/services/tty3/run                 |   2 +
 150 files changed, 6536 insertions(+)
 create mode 100755 abs/mv-core/myth/release-fixes/Midnight-blue/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/Midnight-wide/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/HOST_SETTINGS.xml
 create mode 100644 abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml
 create mode 100755 abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml.mv
 create mode 100755 abs/mv-core/myth/release-fixes/MythVanage-mythmenu/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/basic-amber/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/basic-blue/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/basic-green/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/basic-purple/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/basic-red/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/compile-plugins.sh
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/3466-v1.patch
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/dbconfig.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_uitypes.cpp.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_xmlparse.cpp.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/jump_snapshot.patch
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.find_orphans.pl
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.sh
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend.sh
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.cpp.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.h.patch
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythtv.install
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.cpp.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.h.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/reload.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshot_jump.patch
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots.diff
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots2.diff
 create mode 100644 abs/mv-core/myth/release-fixes/mythtv-release-fixes/smolt_jump.patch
 create mode 100755 abs/mv-core/myth/release-fixes/mythtv-themes/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mytharchive/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythbrowser/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythcontrols/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythflix/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythgallery/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythgame/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythmovietime/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythmusic/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythmusic/gcc4.3.patch
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythmusic/music_flac.patch
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythnews/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythphone/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythsmolt/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythvideo/PKGBUILD
 create mode 100644 abs/mv-core/myth/release-fixes/plugins/mythweather/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/plugins/mythweb/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/plugins/mythweb/dblogininit.inc
 create mode 100755 abs/mv-core/myth/release-fixes/plugins/mythweb/mythweb.install
 create mode 100755 abs/mv-core/myth/release-fixes/plugins/mythweb/mythweblighttpd.patch
 create mode 100755 abs/mv-core/myth/release-fixes/syth-lacquer-clean/PKGBUILD
 create mode 100755 abs/mv-core/myth/release-fixes/syth-lacquer-wide/PKGBUILD
 create mode 100644 abs/mv-core/mythvantage-live/PKGBUILD
 create mode 100755 abs/mv-core/mythvantage-live/bin/gen_fstab
 create mode 100755 abs/mv-core/mythvantage-live/bin/km
 create mode 100644 abs/mv-core/mythvantage-live/etc/live-shutdown
 create mode 100644 abs/mv-core/mythvantage-live/etc/live-sysinit
 create mode 100755 abs/mv-core/mythvantage-live/etc/loginroot
 create mode 100755 abs/mv-core/mythvantage-live/etc/rc.shutdown-live
 create mode 100755 abs/mv-core/mythvantage-live/etc/rc.sysinit-live
 create mode 100755 abs/mv-core/mythvantage-live/etc/ulogin
 create mode 100755 abs/mv-core/mythvantage-live/lib/initcpio/gen_larch_init
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch1
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2_aufs
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch3
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/install/larch1
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/install/larch2
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/install/larch2_aufs
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/install/larch3
 create mode 100755 abs/mv-core/mythvantage-live/lib/initcpio/kinit
 create mode 100644 abs/mv-core/mythvantage-live/lib/initcpio/mkinitcpio.conf
 create mode 100755 abs/mv-core/oss-sound/PKGBUILD
 create mode 100755 abs/mv-core/oss-sound/PKGBUILD.keep
 create mode 100755 abs/mv-core/oss-sound/PKGBUILD.orig
 create mode 100755 abs/mv-core/oss-sound/PKGBUILD.oss-free
 create mode 100755 abs/mv-core/oss-sound/install_sh.diff
 create mode 100644 abs/mv-core/oss-sound/oss-linux-free/PKGBUILD
 create mode 100644 abs/mv-core/oss-sound/oss-linux-free/oss.install
 create mode 100644 abs/mv-core/oss-sound/oss-linux-free/oss4_1016-kernel2626.diff
 create mode 100644 abs/mv-core/oss-sound/oss-linux-free/oss4_1016-moduleinc.diff
 create mode 100755 abs/mv-core/oss-sound/oss-linux-free/rc.oss-linux-free
 create mode 100755 abs/mv-core/oss-sound/oss.install
 create mode 100644 abs/mv-core/oss-sound/oss4_1016-kernel2626.diff
 create mode 100644 abs/mv-core/oss-sound/oss4_1016-moduleinc.diff
 create mode 100755 abs/mv-core/oss-sound/rc.oss-linux-free
 create mode 100755 abs/mv-core/runit-scripts-mv/PKGBUILD
 create mode 100755 abs/mv-core/runit-scripts-mv/runit.install
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/1
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/2
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/3
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/ctrlaltdel
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/halt-runit
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/logger
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/reboot-runit
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/run
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/lock
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/pid
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/stat
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/status
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/acpid/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/apache/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/avahi/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/certmaster/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/cron/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/dbus/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/dnsmasq/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/run
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/lock
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/pid
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/stat
 create mode 100644 abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/status
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/log/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/funcd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/ghosd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/gpm/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/hal/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit-client/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/lcdd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/lighttpd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/mysql/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/log/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/ncid/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/ncidd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/nfsd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/nfslock/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/nmbd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/ntpd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/oss/finish
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/oss/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/portmap/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/smbd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/sshd/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/syslog-ng/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/tty2/run
 create mode 100755 abs/mv-core/runit-scripts-mv/runitscripts/services/tty3/run

diff --git a/abs/mv-core/myth/release-fixes/Midnight-blue/PKGBUILD b/abs/mv-core/myth/release-fixes/Midnight-blue/PKGBUILD
new file mode 100755
index 0000000..eb0eed1
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/Midnight-blue/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=Midnight-blue
+pkgver=1
+pkgrel=22
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/Midnight-blue.tgz)
+arch=i686
+md5sums=()
+
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/Midnight-wide/PKGBUILD b/abs/mv-core/myth/release-fixes/Midnight-wide/PKGBUILD
new file mode 100755
index 0000000..9ddc525
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/Midnight-wide/PKGBUILD
@@ -0,0 +1,21 @@
+pkgname=Midnight-wide
+pkgver=1
+pkgrel=22
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/Midnight-wide.tgz)
+arch=i686
+md5sums=()
+
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/HOST_SETTINGS.xml b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/HOST_SETTINGS.xml
new file mode 100755
index 0000000..c9b7e20
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/HOST_SETTINGS.xml
@@ -0,0 +1,71 @@
+<mythmenu name="HOST_SETTINGS">
+
+   <button>
+       <type>MV_NETWORK_SETUP_MENU</type>
+      <text>Network Settings</text>
+      <action>EXEC  mythinstall -s network </action>
+   </button>
+
+   <button>
+       <type>MV_SYSTEM_SETUP_MENU</type>
+      <text>System type</text>
+        <action>EXEC  mythinstall -s hostype </action>
+   </button>
+
+   <button>
+       <type>MV_MISC_SETUP_MENU</type>
+      <text>Misc Settings</text>
+       <action>EXEC  mythinstall -s misc </action>
+   </button>
+
+   <button>
+       <type>MV_SOFTWARE_MENU</type>
+      <text>Software</text>
+       <action>EXEC  mythinstall -s  plugins </action>
+   </button>
+
+   <button>
+      <type>MV_SHUTDOWN_SETUP_MENU</type>
+      <text>Shutdown settings</text>
+        <action>EXEC  mythinstall -s sleep </action>
+   </button>
+
+
+<button>
+   <type>MV_ADVANCED_X_SETUP_MENU</type>
+    <text>Display</text>
+    <action>EXEC  mythinstall -s advancedX</action>
+</button>
+
+<button>
+   <type>MV_ADVANCED_SETUP_MENU</type>
+    <text>Advanced settings</text>
+    <action>EXEC  mythinstall -s advanced</action>
+</button>
+
+
+<button>
+       <type>MV_AUDIO_SETUP_MENU</type>
+       <text>Audio settings</text>
+        <action>EXEC  mythinstall -s sound </action>
+</button>
+
+
+<button>
+       <type>MV_ACCESS_SETUP_MENU</type>
+       <text>Access</text>
+       <action>EXEC  mythinstall -s accesscontrol </action>
+</button>
+   <!--
+   <button>
+       <type>SETUP_MENU</type>
+       <text>Settings profile manager</text>
+        <action>EXEC  mythinstall -t </action>
+
+   </button>
+   -->
+
+
+
+
+</mythmenu>
diff --git a/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml
new file mode 100644
index 0000000..aeecbbb
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml
@@ -0,0 +1,121 @@
+<mythmenu name="UTIL">
+
+   <button>
+      <type>MUSIC_PLAYLIST</type>
+      <text>Music Tools</text>
+      <text lang="IT">Opzioni Musica</text>
+      <text lang="DE">Musik verwalten</text>
+      <text lang="IS">Tónlistartól</text>
+      <text lang="NL">Muziek Beheren</text>
+      <text lang="SV">Musikverktyg</text>
+      <text lang="FR">Gestion Musiques</text>
+      <text lang="JA">ミュージックツール</text>
+      <text lang="FI">Musiikkityökalut</text>
+      <text lang="ZH_TW">音樂工具</text>
+      <text lang="SI">Glasbena orodja</text>
+      <text lang="ET">Muusikatööriistad</text>
+      <text lang="NB">Musikkverktøy</text>
+      <text lang="DK">Musikværktøjer</text>
+      <text lang="ES">Gestionar Música</text>
+      <text lang="PT">Gerir Música</text>
+      <text lang="CZ">Hudební nástroje</text>
+      <text lang="RU">Работа с музыкой</text>
+      <text lang="PL">Narzędzia muzyczne</text>
+      <text lang="HE">כלי מוסיקה</text>
+      <action>PLUGIN mythmusic</action>
+      <depends>mythmusic</depends>	
+   </button>
+
+   <button>
+      <type>VIDEO_MANAGER</type>
+      <text>Video Manager</text>
+      <text lang="IT">Gestione Video</text>
+      <text lang="ES">Gestionar Videos</text>
+      <text lang="CA">Gestionar vÃ­deos</text>
+      <text lang="DK">Filmopsætning</text>
+      <text lang="DE">Videos verwalten</text>
+      <text lang="IS">Kvikmyndatól</text>
+      <text lang="PT">Gerir Filmes</text>
+      <text lang="SV">Filmhanterare</text>
+      <text lang="FR">Gestion Vidéos</text>
+      <text lang="NL">Films Beheren</text>
+      <text lang="JA">ビデオマネージャー</text>
+      <text lang="FI">Videonhallinta</text>
+      <text lang="ZH_TW">電影工具</text>
+      <text lang="SI">Video orodja</text>
+      <text lang="ET">Videohaldus</text>
+      <text lang="NB">Videobehandler</text>
+      <text lang="CZ">Manažer filmů</text>
+      <text lang="RU">Управление фильмами</text>
+      <text lang="PL">Zarządca Filmów</text>
+      <text lang="HE">מנהל וידאו</text>
+      <action>JUMP Video Manager</action>
+      <depends>mythvideo</depends>
+   </button>
+    
+   <button>
+      <type>SETUP_KEYS</type>
+      <text>Edit Keys</text>
+      <text lang="IT">Modifica Tasti</text>
+      <text lang="FR">Configurer les touches</text>
+      <text lang="IS">Stilla takka</text>
+      <text lang="DE">Tastenbelegung ändern</text>
+      <text lang="FI">Muokkaa Näppäimiä</text>
+      <text lang="DK">Redigér tasteindstillinger</text>
+      <text lang="SV">Ändra knappar</text>
+      <text lang="ES">Editar Teclas</text>
+      <text lang="PT">Configurar Teclas</text>
+      <text lang="ET">Klahvide muutmine</text>
+      <text lang="NL">Toetsen Aanpassen</text>
+      <text lang="CZ">Editovat klávesy</text>
+      <text lang="JA">キー設定</text>
+      <text lang="RU">Редактировать клавиши</text>
+      <text lang="SI">Urejanje tipk</text>
+      <text lang="PL">Edytuj klawisze</text>
+      <text lang="HE">עריכת מקשים</text>
+      <action>PLUGIN mythcontrols</action>
+      <depends>mythcontrols</depends>	
+   </button>
+      
+   <button>
+      <type>SETUP_MENU</type>
+      <text>Setup</text>
+      <text lang="IT">Impostazioni</text>
+      <text lang="ES">Configurar</text>
+      <text lang="CA">Configurar</text>
+      <text lang="FR">Paramètres</text>
+      <text lang="DE">Konfiguration</text>
+      <text lang="DK">Indstillinger</text>
+      <text lang="IS">Stillingar</text>
+      <text lang="NL">Configuratie</text>
+      <text lang="PT">Configurações</text>
+      <text lang="SV">Inställningar</text>
+      <text lang="JA">設定</text>
+      <text lang="FI">Asetukset</text>
+      <text lang="ZH_TW">設定</text>
+      <text lang="SI">Nastavitve</text>
+      <text lang="ET">Sätted</text>
+      <text lang="NB">Innstillinger</text>
+      <text lang="CZ">Nastavení</text>
+      <text lang="RU">Настройки</text>
+      <text lang="PL">Ustawienia</text>
+      <text lang="HE">הגדרה</text>
+      <action>MENU main_settings.xml</action>
+   </button>
+   <button>
+       <type>MV_SETUP_MENU</type>
+       <text>MythVantage Settings</text>
+       <action>MENU HOST_SETTINGS.xml</action>
+
+   </button>
+
+   <button>
+       <type>MV_TEMPLATE</type>
+       <text>Settings profile manager</text>
+        <action>EXEC  mythinstall -t </action>
+
+   </button>
+
+
+
+</mythmenu>
diff --git a/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml.mv b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml.mv
new file mode 100755
index 0000000..4a94303
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/MythVantage-menu/util_menu.xml.mv
@@ -0,0 +1,106 @@
+<mythmenu name="UTIL">
+
+   <button>
+      <type>MUSIC_PLAYLIST</type>
+      <text>Music Tools</text>
+      <text lang="DE">Musik verwalten</text>
+      <text lang="IS">Tónlistartól</text>
+      <text lang="NL">Muziek Beheren</text>
+      <text lang="SV">Musikverktyg</text>
+      <text lang="FR">Musiques</text>
+      <text lang="JA">ミュージックツール</text>
+      <text lang="FI">Musiikkityökalut</text>
+      <text lang="ZH_TW">音樂工具</text>
+      <text lang="SI">Glasbena orodja</text>
+      <text lang="ET">Muusikatööriistad</text>
+      <text lang="NB">Musikkverktøy</text>
+      <text lang="DK">Musikværktøjer</text>
+      <text lang="ES">Gestionar Música</text>
+      <text lang="PT">Gerir Música</text>
+      <text lang="CZ">Hudební nástroje</text>
+      <text lang="RU">Работа с музыкой</text>
+      <action>PLUGIN mythmusic</action>
+      <depends>mythmusic</depends>	
+   </button>
+
+   <button>
+      <type>VIDEO_MANAGER</type>
+      <text>Video Manager</text>
+      <text lang="ES">Gestionar Videos</text>
+      <text lang="CA">Gestionar vÃ­deos</text>
+      <text lang="DK">Filmopsætning</text>
+      <text lang="DE">Videos verwalten</text>
+      <text lang="IS">Kvikmyndatól</text>
+      <text lang="PT">Gerir Filmes</text>
+      <text lang="SV">Filmhanterare</text>
+      <text lang="FR">Vidéos</text>
+      <text lang="NL">Films Beheren</text>
+      <text lang="JA">ビデオマネージャー</text>
+      <text lang="FI">Videonhallinta</text>
+      <text lang="ZH_TW">電影工具</text>
+      <text lang="SI">Video manager</text>
+      <text lang="ET">Videohaldus</text>
+      <text lang="NB">Videobehandler</text>
+      <text lang="CZ">Manažer filmů</text>
+      <text lang="RU">Управление фильмами</text>
+      <action>JUMP Video Manager</action>
+      <depends>mythvideo</depends>
+   </button>
+    
+   <button>
+      <type>SETUP_KEYS</type>
+      <text>Edit Keys</text>
+      <text lang="FR">Configurer les touches</text>
+      <text lang="IS">Stilla takka</text>
+      <text lang="DE">Tastenbelegung ändern</text>
+      <text lang="FI">Muokkaa Näppäimiä</text>
+      <text lang="DK">Redigér tasteindstillinger</text>
+      <text lang="SV">Ändra knappar</text>
+      <text lang="ES">Editar Teclas</text>
+      <text lang="PT">Configurar Teclas</text>
+      <text lang="ET">Klahvide muutmine</text>
+      <text lang="NL">Toetsen Aanpassen</text>
+      <text lang="CZ">Editovat klávesy</text>
+      <text lang="JA">キー設定</text>
+      <text lang="RU">Редактировать клавиши</text>
+      <action>PLUGIN mythcontrols</action>
+      <depends>mythcontrols</depends>	
+   </button>
+      
+   <button>
+      <type>SETUP_MENU</type>
+      <text>Setup</text>
+      <text lang="IT">Impostazioni</text>
+      <text lang="ES">Configurar</text>
+      <text lang="CA">Configurar</text>
+      <text lang="FR">Configuration</text>
+      <text lang="DE">Konfiguration</text>
+      <text lang="DK">Indstillinger</text>
+      <text lang="IS">Stillingar</text>
+      <text lang="NL">Configuratie</text>
+      <text lang="PT">Configurações</text>
+      <text lang="SV">Inställningar</text>
+      <text lang="JA">設定</text>
+      <text lang="FI">Asetukset</text>
+      <text lang="ZH_TW">設定</text>
+      <text lang="SI">Nastavitve</text>
+      <text lang="ET">Sätted</text>
+      <text lang="NB">Innstillinger</text>
+      <text lang="CZ">Nastavení</text>
+      <text lang="RU">Настройки</text>
+      <action>MENU main_settings.xml</action>
+   </button>
+   <button>
+       <type>MV_SETUP_MENU</type>
+       <text>MythVantage Settings</text>
+       <action>MENU HOST_SETTINGS.xml</action>
+
+   </button>
+
+   <button>
+       <type>MV_TEMPLATE</type>
+       <text>Settings profile manager</text>
+        <action>EXEC  mythinstall -t </action>
+
+   </button>
+</mythmenu>
diff --git a/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/PKGBUILD b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/PKGBUILD
new file mode 100755
index 0000000..888228e
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/MythVanage-mythmenu/PKGBUILD
@@ -0,0 +1,15 @@
+pkgname=MythVantage-mythmenu
+pkgver=1.0
+pkgrel=6
+pkgdesc="Myth menu with MythVantage settings"
+#depends=( mythtv-svn )
+source=()
+arch=('i686')
+build() {
+        cd $startdir/src
+        rsync -a --exclude=.svn $startdir/MythVantage-menu .
+        mkdir -p  -m 755 $startdir/pkg/usr/local/share/mythtv/themes
+        cp -rp MythVantage-menu $startdir/pkg/usr/local/share/mythtv/themes
+
+}
+
diff --git a/abs/mv-core/myth/release-fixes/basic-amber/PKGBUILD b/abs/mv-core/myth/release-fixes/basic-amber/PKGBUILD
new file mode 100755
index 0000000..f31b77f
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/basic-amber/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=basic-amber
+pkgver=1
+pkgrel=5
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/basic-amber.tgz)
+md5sums=()
+arch=('i686')
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/basic-blue/PKGBUILD b/abs/mv-core/myth/release-fixes/basic-blue/PKGBUILD
new file mode 100755
index 0000000..48e5f8e
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/basic-blue/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=basic-blue
+pkgver=1
+pkgrel=6
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/basic-blue.tgz)
+md5sums=()
+arch=('i686')
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  #cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+  rsync -a --exclude=.svn $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+}
diff --git a/abs/mv-core/myth/release-fixes/basic-green/PKGBUILD b/abs/mv-core/myth/release-fixes/basic-green/PKGBUILD
new file mode 100755
index 0000000..f735150
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/basic-green/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=basic-green
+pkgver=1
+pkgrel=5
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/basic-green.tgz)
+md5sums=()
+arch=('i686')
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/basic-purple/PKGBUILD b/abs/mv-core/myth/release-fixes/basic-purple/PKGBUILD
new file mode 100755
index 0000000..ff19c9f
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/basic-purple/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=basic-purple
+pkgver=1
+pkgrel=5
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/basic-purple.tgz)
+md5sums=()
+arch=('i686')
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/basic-red/PKGBUILD b/abs/mv-core/myth/release-fixes/basic-red/PKGBUILD
new file mode 100755
index 0000000..2b8db8a
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/basic-red/PKGBUILD
@@ -0,0 +1,20 @@
+pkgname=basic-red
+pkgver=1
+pkgrel=5
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+source=(http://www.mythvantage.com/src/basic-red.tgz)
+md5sums=()
+arch=('i686')
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/compile-plugins.sh b/abs/mv-core/myth/release-fixes/compile-plugins.sh
new file mode 100755
index 0000000..22d03d9
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/compile-plugins.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+logdir=`pwd`
+rm fail.log
+for i in plugins/*
+do
+	if [ -d $i ]
+	then
+		mydir=`pwd`
+		
+		cd $i
+#		versionpkg -mf||exit 1
+		echo "starting $i"
+		mp -fsr || echo "$i failed" >> $logdir/fail.log
+		cd $mydir
+	fi
+done
+	
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/3466-v1.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/3466-v1.patch
new file mode 100755
index 0000000..912ce27
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/3466-v1.patch
@@ -0,0 +1,240 @@
+Index: libs/libmythtv/NuppelVideoPlayer.cpp
+===================================================================
+--- libs/libmythtv/NuppelVideoPlayer.cpp	(revision 13535)
++++ libs/libmythtv/NuppelVideoPlayer.cpp	(working copy)
+@@ -1475,6 +1475,12 @@
+     }
+ }
+ 
++void NuppelVideoPlayer::DrawUnusedRects(bool sync)
++{
++    if (videoOutput)
++        videoOutput->DrawUnusedRects(sync);
++}
++
+ void NuppelVideoPlayer::ResetCaptions(uint mode_override)
+ {
+     uint origMode   = textDisplayMode;
+Index: libs/libmythtv/guidegrid.h
+===================================================================
+--- libs/libmythtv/guidegrid.h	(revision 13535)
++++ libs/libmythtv/guidegrid.h	(working copy)
+@@ -86,8 +86,9 @@
+     void paintEvent(QPaintEvent *);
+ 
+   private slots:
+-    void timeout();
+-    void jumpToChannelTimeout();
++    void timeCheckTimeout(void);
++    void repaintVideoTimeout(void);
++    void jumpToChannelTimeout(void);
+ 
+   private:
+     void keyPressEvent(QKeyEvent *e);
+@@ -174,6 +175,7 @@
+     QString currentTimeColor;
+ 
+     QTimer *timeCheck;
++    QTimer *videoRepaintTimer;
+ 
+     bool keyDown;
+ 
+Index: libs/libmythtv/tv_play.h
+===================================================================
+--- libs/libmythtv/tv_play.h	(revision 13535)
++++ libs/libmythtv/tv_play.h	(working copy)
+@@ -112,6 +112,7 @@
+     void StopEmbeddingOutput(void);
+     bool IsEmbedding(void);
+     void EPGChannelUpdate(uint chanid, QString channum);
++    void DrawUnusedRects(bool sync);
+    
+     // Recording commands
+     int  PlayFromRecorder(int recordernum);
+Index: libs/libmythtv/guidegrid.cpp
+===================================================================
+--- libs/libmythtv/guidegrid.cpp	(revision 13535)
++++ libs/libmythtv/guidegrid.cpp	(working copy)
+@@ -261,9 +261,14 @@
+ 
+     timeCheck = NULL;
+     timeCheck = new QTimer(this);
+-    connect(timeCheck, SIGNAL(timeout()), SLOT(timeout()) );
++    connect(timeCheck, SIGNAL(timeout()), SLOT(timeCheckTimeout()) );
+     timeCheck->start(200);
+ 
++    videoRepaintTimer = new QTimer(this);
++    QObject::connect(videoRepaintTimer, SIGNAL(timeout()),
++                     this,              SLOT(repaintVideoTimeout()));
++    videoRepaintTimer->start(1000);
++
+     selectState = false;
+ 
+     updateBackground();
+@@ -281,18 +286,46 @@
+     for (int x = 0; x < MAX_DISPLAY_TIMES; x++)
+     {
+         if (m_timeInfos[x])
++        {
+             delete m_timeInfos[x];
++            m_timeInfos[x] = NULL;
++        }
+     }
+ 
+     for (int y = 0; y < MAX_DISPLAY_CHANS; y++)
+     {
+         if (m_programs[y])
++        {
+             delete m_programs[y];
++            m_programs[y] = NULL;
++        }
+     }
+ 
+     m_channelInfos.clear();
+ 
+-    delete theme;
++    if (theme)
++    {
++        delete theme;
++        theme = NULL;
++    }
++
++    if (jumpToChannelTimer)
++    {
++        jumpToChannelTimer->deleteLater();
++        jumpToChannelTimer = NULL;
++    }
++
++    if (timeCheck)
++    {
++        timeCheck->deleteLater();
++        timeCheck = NULL;
++    }
++
++    if (videoRepaintTimer)
++    {
++        videoRepaintTimer->deleteLater();
++        videoRepaintTimer = NULL;
++    }
+ }
+ 
+ void GuideGrid::keyPressEvent(QKeyEvent *e)
+@@ -533,7 +566,7 @@
+     return m_channelInfos[idx].chanid;
+ }
+ 
+-void GuideGrid::timeout()
++void GuideGrid::timeCheckTimeout(void)
+ {
+     timeCheck->changeInterval((int)(60 * 1000));
+     QTime new_time = QTime::currentTime();
+@@ -561,6 +594,12 @@
+     repaint(curInfoRect, false);
+ }
+ 
++void GuideGrid::repaintVideoTimeout(void)
++{
++    timeCheck->changeInterval(1000);
++    update(videoRect);
++}
++
+ void GuideGrid::fillChannelInfos(bool gotostartchannel)
+ {
+     m_channelInfos.clear();
+@@ -974,6 +1013,7 @@
+     if (r.intersects(videoRect) && m_player)
+     {
+         timeCheck->changeInterval((int)(200));
++        m_player->DrawUnusedRects(false);
+     }
+ 
+     qApp->unlock();
+@@ -1794,7 +1834,10 @@
+     ChannelInfo info = m_channelInfos[idx];
+ 
+     if (m_player)
++    {
+         m_player->EPGChannelUpdate(info.chanid, info.chanstr);
++        videoRepaintTimer->start(200);
++    }
+ }
+ 
+ //
+Index: libs/libmythtv/NuppelVideoPlayer.h
+===================================================================
+--- libs/libmythtv/NuppelVideoPlayer.h	(revision 13535)
++++ libs/libmythtv/NuppelVideoPlayer.h	(working copy)
+@@ -118,6 +118,7 @@
+     void StopEmbedding(void);
+     void ExposeEvent(void);
+     bool IsEmbedding(void);
++    void DrawUnusedRects(bool sync);
+ 
+     // Audio Sets
+     void SetNoAudio(void)                     { no_audio_out = true; }
+Index: libs/libmythtv/tv_play.cpp
+===================================================================
+--- libs/libmythtv/tv_play.cpp	(revision 13535)
++++ libs/libmythtv/tv_play.cpp	(working copy)
+@@ -5035,6 +5035,12 @@
+     return false;
+ }
+ 
++void TV::DrawUnusedRects(bool sync)
++{
++    if (nvp)
++        nvp->DrawUnusedRects(sync);
++}
++
+ void TV::doEditSchedule(int editType)
+ {
+     if (!playbackinfo)
+Index: libs/libmythtv/videoout_xv.cpp
+===================================================================
+--- libs/libmythtv/videoout_xv.cpp	(revision 13535)
++++ libs/libmythtv/videoout_xv.cpp	(working copy)
+@@ -2465,7 +2465,7 @@
+     }
+ 
+     if ((needrepaint || xv_need_bobdeint_repaint) &&
+-        (VideoOutputSubType() >= XVideo))
++        (VideoOutputSubType() >= XVideo) && !embedding)
+     {
+         DrawUnusedRects(/* don't do a sync*/false);
+     }
+@@ -2480,12 +2480,6 @@
+ 
+ void VideoOutputXv::DrawUnusedRects(bool sync)
+ {
+-    // Unfortunately, this gets drawn in the wrong place on prebuffering
+-    // pauses when embedding and this is rarely useful when embedding
+-    // since the background is drawn in guidegrid so we bail here. -- dtk
+-    if (embedding) 
+-        return;
+-
+     // boboff assumes the smallest interlaced resolution is 480 lines - 5%
+     bool use_bob   = (m_deinterlacing && m_deintfiltername == "bobdeint");
+     int boboff_raw = (int)round(((double)display_video_rect.height()) /
+@@ -2512,7 +2506,12 @@
+ 
+     X11L;
+ 
+-    if (xv_draw_colorkey && needrepaint)
++    // This is used to avoid drawing the colorkey when embedding and
++    // not using overlay. This is needed because we don't paint this
++    // in the vertical retrace period when calling this from the EPG.
++    bool clrdraw = xv_colorkey || !embedding;
++
++    if (xv_draw_colorkey && needrepaint && clrdraw)
+     {
+         XSetForeground(XJ_disp, XJ_gc, xv_colorkey);
+         XFillRectangle(XJ_disp, XJ_curwin, XJ_gc,
+@@ -2521,7 +2520,7 @@
+                        display_visible_rect.width(),
+                        display_visible_rect.height() - 2 * boboff);
+     }
+-    else if (xv_draw_colorkey && xv_need_bobdeint_repaint)
++    else if (xv_draw_colorkey && xv_need_bobdeint_repaint && clrdraw)
+     {
+         // if this is only for deinterlacing mode switching, draw
+         // the border areas, presumably the main image is undamaged.
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/PKGBUILD b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/PKGBUILD
new file mode 100755
index 0000000..c210b55
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/PKGBUILD
@@ -0,0 +1,79 @@
+pkgname=mythtv-release-fixes
+pkgver=18322
+pkgrel=13
+pkgdesc=".21  A personal video recorder for Linux"
+url="http://www.mythtv.org"
+license="GPL"
+depends=('lame' 'libmysqlclient' 'alsa-lib'  'wget' 'qt3' 'x-server' 'freetype2' 'libmpeg2' 'libxml2' 'libraw1394' 'lirc' 'perl-date-manip' 'libavc1394' 'libdc1394' 'libiec61883')
+makedepends=('subversion')
+conflicts=(mythtv-svn)
+replaces=()
+backup=()
+options=(!strip)
+MAKEFLAGS="-j6"
+
+install='mythtv.install'
+#source=(mythbackend myth.sh 3466-v1.patch reload.patch)
+source=(mythbackend myth.sh  myth.find_orphans.pl   dbconfig.patch myththemedmenu.cpp.patch myththemedmenu.h.patch screenshots2.diff screenshot_jump.patch pop_be_restart.h.patch pop_be_restart.cpp.patch jump_snapshot.patch smolt_jump.patch)
+arch=('i686')
+md5sums=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythtv
+#_svntrunk=http://cvs.mythtv.org/svn/trunk/mythtv
+_svnmod=mythtv
+
+build() {
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+        cd $startdir/src/mythtv
+	 patch -p0 < ../dbconfig.patch
+	 grep snapshot programs/mythfrontend/networkcontrol.cpp|grep -q  jumpMap
+	 status=$?
+
+	if [ $status != 0 ]
+	then
+		echo "patching for screenshot"
+		 patch -p0 < ../screenshots2.diff
+		 patch -p0 < ../screenshot_jump.patch
+	#	 patch -p0 < ../jump_snapshot.patch
+
+	else
+		echo "screenshot already patched"
+	fi
+	 patch -p0 < ../myththemedmenu.cpp.patch
+	 patch -p0 < ../myththemedmenu.h.patch
+	 patch -p0 < ../pop_be_restart.h.patch
+	 patch -p0 < ../pop_be_restart.cpp.patch
+	 patch -p0 < ../smolt_jump.patch
+  	sed -i -e "s/\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`/$pkgver/" version.pro
+         make distclean
+	 make clean
+	 ./configure --prefix=/usr/local --enable-xvmc --enable-xvmc-pro --enable-opengl-vsync --enable-dvb --enable-firewire --compile-type=release --with-bindings=perl --disable-audio-arts --disable-xrandr  --disable-audio-jack
+	 #./configure --prefix=/usr/local --enable-xvmc --enable-xvmc-pro --enable-opengl-vsync --enable-dvb --enable-firewire --compile-type=release  --disable-audio-arts --disable-xrandr --without-bindings=perl --disable-audio-jack
+. /etc/profile
+
+   make
+   make INSTALL_ROOT=$startdir/pkg install
+   mkdir -p $startdir/pkg/usr/local/share/mythtv/contrib
+   mkdir -p $startdir/pkg/etc/rc.d
+   mkdir -p $startdir/pkg/var/log/mythtv
+   mkdir -p $startdir/pkg/etc/profile.d
+   install -m0755 ../myth.sh $startdir/pkg/etc/profile.d/
+# install contrib
+   mkdir -p $startdir/pkg/usr/local/share/mythtv/contrib || return 1
+   #cp -rp contrib/* $startdir/pkg/usr/local/share/mythtv/contrib
+    rsync -a --exclude=.svn contrib/* $startdir/pkg/usr/local/share/mythtv/contrib
+   echo "-release-fixes"   >  $startdir/pkg/usr/local/share/mythtv/.releasetype
+   #install -m0755 themes/*.ttf $startdir/pkg/usr/local/share/mythtv/themes/
+   # set suid on mythfrontend
+#   chmod a+s  $startdir/pkg/usr/local/bin/mythfrontend
+
+#   mkdir -p $startdir/pkg/usr/lib/
+#   mv $startdir/pkg/usr/local/lib/perl5 $startdir/pkg/usr/lib/perl5
+    cd $startdir/src/mythtv/contrib
+    gcc -Wall -o firewire_tester firewire_tester.c -liec61883 -lraw1394
+    install -m0755 firewire_tester $startdir/pkg/usr/local/bin/firewire_tester
+    install -m0755  $startdir/pkg/usr/local/share/mythtv/contrib/optimize_mythdb.pl  $startdir/pkg/usr/local/bin/optimize_mythdb.pl
+    cp $startdir/src/myth.find_orphans.pl $startdir/pkg/usr/local/share/mythtv/contrib/myth.find_orphans.pl
+    install -m0755  $startdir/pkg/usr/local/share/mythtv/contrib/myth.find_orphans.pl  $startdir/pkg/usr/local/bin/myth.find_orphans.pl
+
+
+}
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/dbconfig.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/dbconfig.patch
new file mode 100644
index 0000000..1d181ac
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/dbconfig.patch
@@ -0,0 +1,19 @@
+--- libs/libmyth/mythcontext.cpp	2007-10-04 00:20:28.000000000 -0500
++++ libs/libmyth/mythcontext.cpp.new	2007-11-12 22:54:57.000000000 -0600
+@@ -852,14 +852,14 @@
+         cout << endl << error << endl << endl;
+         response = getResponse("Would you like to configure the database "
+                                "connection now?",
+-                               "yes");
++                               "no");
+         if (!response || response.left(1).lower() != "y")
+             return false;
+         
+         params.dbHostName = getResponse("Database host name:",
+                                         params.dbHostName);
+         response = getResponse("Should I test connectivity to this host "
+-                               "using the ping command?", "yes");
++                               "using the ping command?", "no");
+         params.dbHostPing = (!response || response.left(1).lower() != "y");
+ 
+         params.dbPort     = intResponse("Database non-default port:",
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_uitypes.cpp.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_uitypes.cpp.patch
new file mode 100644
index 0000000..b87b89f
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_uitypes.cpp.patch
@@ -0,0 +1,21 @@
+--- mythtv/libs/libmyth/uitypes.cpp.orig	2007-11-30 14:03:07.000000000 -0600
++++ mythtv/libs/libmyth/uitypes.cpp	2007-11-30 14:04:09.000000000 -0600
+@@ -3831,15 +3831,15 @@
+     //
+     //  Debugging, draw edges around bins
+     //
+-
+-    /*
++    if (m_debug == true)
++    {
+     p->setPen(QColor(255,0,0));
+     CornerMap::Iterator it;
+     for ( it = bin_corners.begin(); it != bin_corners.end(); ++it )
+     {
+         p->drawRect(it.data());
+     }
+-    */
++    }
+ 
+ }
+ 
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_xmlparse.cpp.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_xmlparse.cpp.patch
new file mode 100644
index 0000000..f479bbe
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/debug_xmlparse.cpp.patch
@@ -0,0 +1,14 @@
+--- mythtv/libs/libmyth/xmlparse.cpp.orig	2007-11-30 14:03:00.000000000 -0600
++++ mythtv/libs/libmyth/xmlparse.cpp	2007-11-30 14:06:22.000000000 -0600
+@@ -2618,6 +2618,11 @@
+                 area = parseRect(getFirstText(info));
+                 normalizeRect(area);
+             }
++            if (info.tagName() == "debug")
++            {
++                if  (getFirstText(info) == "true")
++                    container->SetDebug(true);
++            }
+             else if (info.tagName() == "image")
+             {
+                 QString imgname = "";
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/jump_snapshot.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/jump_snapshot.patch
new file mode 100644
index 0000000..2d2c68b
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/jump_snapshot.patch
@@ -0,0 +1,13 @@
+--- libs/libmythui/mythmainwindow.cpp.orrig	2008-03-19 18:43:08.000000000 +0000
++++ libs/libmythui/mythmainwindow.cpp	2008-03-19 18:43:51.000000000 +0000
+@@ -1132,7 +1132,9 @@
+ 
+ void MythMainWindow::JumpTo(const QString& destination, bool pop)
+ {
+-    if (d->destinationMap.count(destination) > 0 && d->exitmenucallback == NULL)
++   if (destination == "ScreenShot") 
++        screenShot(); 
++   else if (d->destinationMap.count(destination) > 0 && d->exitmenucallback == NULL) 
+     {
+         d->exitingtomain = true;
+         d->popwindows = pop;
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.find_orphans.pl b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.find_orphans.pl
new file mode 100755
index 0000000..c258e1d
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.find_orphans.pl
@@ -0,0 +1,260 @@
+#!/usr/bin/perl
+
+# check for recording anomolies -
+#   based somewhat on greg froese's "myth.rebuilddatabase.pl"
+#   -- Lincoln Dale <ltd@interlink.com.au>, September 2006
+# 2007-03-11:  Added pretty print of unknown files vs. orphaned thumbnails. (Robert Kulagowski)
+
+#  The intent of this script is to be able to find orphaned rows in the 'recorded' table
+#  (entries which don't have matching media files) and orphaned media files (potentially
+#  taking up gigabytes of otherwise usable disk space) which have no matching row in
+#  the 'recorded' db table.
+#
+#  By default, running the script will simply return a list of problems it finds.
+#  Running with --dodbdelete will remove db recorded rows for which there is no matching
+#  media file.  Running with --dodelete will delete media files for which there is no
+#  matching db record.
+#
+#  This script may be useful to fix up some orphaned db entries (causes mythweb to run
+#  verrry slow) as well as reclaim some disk space from some orphaned media files.
+#  (in an ideal world, neither of these would ever happen, but i've seen both happen in reality).
+#  This script makes it easy to keep track of whether it has or hasn't happened, even if you
+#  have thousands of recordings and terabytes of stored media.
+#
+#  no warranties expressed or implied.  if you run this and it deletes all your recordings
+#  and sets mythtv to fill up all your disk space with The Home Shopping Network, its entirely
+#  your fault.
+
+my $progname = "myth.find_orphans.pl";
+my $revision = "0.20";
+
+use DBI;
+use Sys::Hostname;
+use Getopt::Long;
+
+#
+# options
+#
+
+my $opt_host =		hostname;
+my $opt_dbhost = 	"localhost";
+my $opt_database = 	"mythconverg";
+my $opt_user = 		"mythtv";
+my $opt_pass = 		"mythtv";
+my $opt_ext = 		"{nuv,mpg,mpeg,avi}";
+my $opt_dir =		"";
+my $opt_dodelete =	0;
+my $opt_dodbdelete =	0;
+my $debug =		0;
+my $opt_help =		0;
+
+GetOptions(
+        'host=s'	=> \$opt_host,
+        'dbhost=s'	=> \$opt_dbhost,
+        'database=s'	=> \$opt_database,
+        'user=s'	=> \$opt_user,
+        'pass=s'	=> \$opt_pass,
+	'dir=s'		=> \$opt_dir,
+	'dodelete'	=> \$opt_dodelete,
+	'dodbdelete'	=> \$opt_dodbdelete,
+        'debug+'	=> \$debug,
+        'help'		=> \$opt_help,
+        'h'		=> \$opt_help,
+        'v'		=> \$opt_help);
+
+if ($opt_help) {
+	print<<EOF
+$progname (rev $revision)
+(checks MythTV recording directories for orphaned files)
+
+options:
+	--host=(host)		MythTV backend host ($opt_host)
+	--dbhost=(host)		host where MySQL database for backend is ($opt_dbhost)
+	--database=(dbname)	MythTV database ($opt_database)
+	--user=(user)		MySQL MythTV database user ($opt_user)
+	--pass=(pass)		MySQL MythTV database password ($opt_pass)
+	--dir=directories	manually specify recording directories (otherwise setting is from database)
+	--debug			increase debug level
+	--dodbdelete		remove recorded db entries with no matching file (default: don't)
+	--dodelete		delete files with no record (default: don't)
+
+EOF
+;
+	exit(0);
+}
+
+#
+# go go go!
+#
+
+my $valid_recordings = 0;
+my $missing_recordings = 0;
+my $errors = 0;
+my $unknown_files = 0;
+my $known_files = 0;
+my $unknown_size = 0;
+my $known_size = 0;
+my $unknown_thumbnail = 0;
+
+if (!($dbh = DBI->connect("dbi:mysql:database=$opt_database:host=$opt_dbhost","$opt_user","$opt_pass"))) {
+	die "Cannot connect to database $opt_database on host $opt_dbhost: $!\n";
+}
+
+if ($opt_dir eq "") {
+	&dir_lookup("SELECT dirname FROM storagegroup WHERE hostname=(?)");
+	&dir_lookup("SELECT data FROM settings WHERE value='RecordFilePrefix' AND hostname=(?)");
+
+	printf STDERR "Recording directories ($opt_host): $opt_dir\n" if $debug;
+}
+
+if ($opt_dir eq "") {
+	printf "ERROR: no directory found or specified\n";
+	exit 1;
+}
+
+foreach $d (split(/,/,$opt_dir)) {
+	$d =~ s/\/$//g; # strip trailing /
+	$dirs{$d}++;
+}
+
+
+#
+# look in recorded table, make sure we can find every file ..
+#
+
+my $q = "SELECT title, subtitle, starttime, endtime, chanid, basename FROM recorded WHERE hostname=(?) ORDER BY starttime";
+$sth = $dbh->prepare($q);
+$sth->execute($opt_host) || die "Could not execute ($q): $!\n";
+
+while (my @row=$sth->fetchrow_array) {
+	($title, $subtitle, $starttime, $endtime, $channel, $basename) = @row;
+
+	# see if we can find it...
+	$loc = find_file($basename);
+	if ($loc eq "") {
+		printf "Missing media: %s (title:%s, start:%s)\n",$basename,$title,$starttime;
+		$missing_recordings++;
+
+		if ($opt_dodbdelete) {
+			my $sql = sprintf "DELETE FROM recorded WHERE basename LIKE \"%s\" LIMIT 1",$basename;
+			printf "performing database delete: %s\n",$sql;
+			$dbh->do($sql) || die "Could not execute $sql: $!\n";
+		}
+	} else {
+		$valid_recordings++;
+		$seen_basename{$basename}++;
+		$seen_basename{$basename.".png"}++; # thumbnail
+	}
+}
+
+#
+# look in recording directories, see if there are extra files not in database
+#
+
+foreach my $this_dir (keys %dirs) {
+	opendir(DIR, $this_dir) || die "cannot open directory $this_dir: $!\n";
+	foreach $this_file (readdir(DIR)) {
+		if (-f "$this_dir/$this_file") {
+
+			next if ($this_file eq "nfslockfile.lock");
+			next if ($this_file =~ m/^mythconv.*/);
+			next if ($this_dir eq "/data/database_backup");
+
+			my $this_filesize = -s "$this_dir/$this_file";
+			if ($seen_basename{$this_file} == 0) {
+				$sorted_filesizes{$this_filesize} .= sprintf "unknown file [%s]: %s/%s\n",pretty_filesize($this_filesize),$this_dir,$this_file;
+				$unknown_size += $this_filesize;
+				if (substr($this_file,-4) eq ".png") {
+					$unknown_thumbnail++;
+				}
+				else {
+					$unknown_files++;
+				}
+				                                                                         
+				if ($opt_dodelete) {
+					printf STDERR "deleting  [%s]:  %s/%s\n",pretty_filesize($this_filesize),$this_dir,$this_file;
+					unlink "$this_dir/$this_file";
+
+					if (-f "$this_dir/$this_file") {
+						$errors++;
+						printf "ERROR: could not delete $this_dir/$this_file\n";
+					}
+				}
+			} else {
+				$known_files++;
+				$known_size += $this_filesize;
+				printf "KNOWN file [%s]: %s/%s\n",pretty_filesize($this_filesize),$this_dir,$this_file if $debug;
+			}
+		} else {
+			printf "NOT A FILE: %s/%s\n",$this_dir,$this_file if $debug;
+		}
+	}
+	closedir DIR;
+}
+
+
+#
+# finished, report results
+#
+
+foreach my $key (sort { $a <=> $b } keys %sorted_filesizes) {
+	printf $sorted_filesizes{$key};
+}
+
+printf "Summary:\n";
+printf "  Host: %s, Directories: %s\n", $opt_host, join(" ",keys %dirs);
+printf "  %d ERRORS ENCOUNTERED (see above for details)\n",$errors if ($errors > 0);
+printf "  %d valid recording%s, %d missing recording%s %s\n",
+	$valid_recordings, ($valid_recordings != 1 ? "s" : ""),
+	$missing_recordings, ($missing_recordings != 1 ? "s" : ""),
+	($missing_recordings > 0 ? ($opt_dodbdelete ? "were fixed" : "not fixed, check above is valid and use --dodbdelete to fix") : "");
+printf "  %d known media files using %s\n  %d orphaned thumbnails with no corresponding recording\n  %d unknown files using %s %s\n",
+	$known_files, pretty_filesize($known_size), 
+	$unknown_thumbnail,$unknown_files, pretty_filesize($unknown_size), 
+	($unknown_files > 0 ? ($opt_dodelete ? "were fixed" : "not fixed, check above and use --dodelete to clean up if the above output is accurate") : "");
+
+exit(0);
+
+###########################################################################
+# filesize bling
+
+sub pretty_filesize
+{
+	local($fsize) = @_;
+	return sprintf "%0.1fGB",($fsize / 1000000000) if ($fsize >= 1000000000);
+	return sprintf "%0.1fMB",($fsize / 1000000) if ($fsize >= 1000000);
+	return sprintf "%0.1fKB",($fsize / 1000) if ($fsize >= 1000);
+	return sprintf "%0.0fB",$fsize;
+}
+
+###########################################################################
+# find a file in directories without globbing
+
+sub find_file
+{
+	local($fname) = @_;
+
+	foreach my $d (keys %dirs) {
+		my $f = $d."/".$fname;
+		if (-e $f) {
+			return $f;
+		}
+	}
+	return;
+}
+
+###########################################################################
+
+sub dir_lookup
+{
+	my $query = shift;
+
+	$sth = $dbh->prepare($query);
+	$sth->execute($opt_host) || die "Could not execute ($dir_query)";
+	while (my @row = $sth->fetchrow_array) {
+		$opt_dir .= "," if ($opt_dir ne "");
+		$opt_dir .= $row[0];
+	}
+}
+
+###########################################################################
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.sh b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.sh
new file mode 100755
index 0000000..fb7122c
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myth.sh
@@ -0,0 +1,4 @@
+export PATH=$PATH:/usr/local/bin
+# set core file size to 0
+ulimit -c 0
+export MALLOC_CHECK_=0
\ No newline at end of file
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend
new file mode 100755
index 0000000..f96c6b7
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/mythbackend`
+case "$1" in
+  start)
+    stat_busy "Starting MythTV Backend"
+    [ ! -e /var/run/mysqld.pid ] && echo -n "mysqld not started" && stat_fail && exit
+    [ -z "$PID" ] && /usr/local/bin/mythbackend -d -l /var/log/mythbackend.log -v quiet
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      echo $PID > /var/run/mythbackend.pid
+      add_daemon mythbackend
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping MythTV Backend"
+    [ ! -z "$PID" ]  && kill $PID &>/dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon mythbackend
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend.sh b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend.sh
new file mode 100755
index 0000000..e7a7b70
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythbackend.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+#
+#	/etc/rc.d/init.d/mythbackend
+#
+# Starts the mythbackend as a daemon
+#
+# chkconfig: 345 90 10
+# description: Starts the mythbackend process as a daemon after the XWindows \
+#              system is started, in runlevel 5. This allows scheduled \
+#              recordings to occur without manual intervention.
+# processname: mythbackend
+
+# Copyright (c) by Michael Thomson <linux at m-thomson dot net>
+# With thanks to Stu Tomlinson <stu at nosnilmot dot com>
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+# Default values to use if none are supplied in the config file.
+# User who should start the mythbackend processes
+MBE_USER="root"
+# Directory holding the mythbackend binary
+MBE_LOCATION="/usr/local/bin/"
+# Name of mythbackend binary
+MBE_PROG="mythbackend"
+# Full path to mythbackend log file
+MBE_LOGFILE="/var/log/mythtv/mythbackend.log"
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source config file if available
+if [ -f "/etc/sysconfig/mythbackend" ]; then
+  . /etc/sysconfig/mythbackend
+fi
+
+test -x ${MBE_LOCATION}${MBE_PROG} || exit 0
+
+RETVAL=0
+
+#
+#	See how we were called.
+#
+
+start() {
+	# Check if mythbackend is already running
+	if [ ! -f /var/lock/subsys/${MBE_PROG} ]; then
+	    echo -n "Starting ${MBE_PROG}: "
+	    # /usr/local/bin/mythbackend -d -l /some/log/file
+	    #daemon --user ${MBE_USER} ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE}
+	    ${MBE_LOCATION}${MBE_PROG} -d -l ${MBE_LOGFILE}
+	    RETVAL=$?
+	    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${MBE_PROG}
+	    echo
+	fi
+	return $RETVAL
+}
+
+stop() {
+	echo -n "Stopping ${MBE_PROG}: "
+	killproc ${MBE_LOCATION}${MBE_PROG}
+	RETVAL=$?
+	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${MBE_PROG}
+	echo
+        return $RETVAL
+}
+
+
+restart() {
+	stop
+	start
+}	
+
+reload() {
+	restart
+}	
+
+status_at() {
+ 	status ${MBE_LOCATION}${MBE_PROG}
+}
+
+case "$1" in
+start)
+	start
+	;;
+stop)
+	stop
+	;;
+reload|restart)
+	restart
+	;;
+condrestart)
+	if [ -f /var/lock/subsys/${MBE_PROG} ]; then
+	    restart
+	fi
+	;;
+status)
+	status_at
+	;;
+*)
+	echo "Usage: $0 {start|stop|restart|condrestart|status}"
+	exit 1
+esac
+
+exit $?
+exit $RETVAL
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.cpp.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.cpp.patch
new file mode 100644
index 0000000..f5baccd
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.cpp.patch
@@ -0,0 +1,125 @@
+--- libs/libmythui/myththemedmenu.cpp.orig	2008-01-31 15:26:38.000000000 +0000
++++ libs/libmythui/myththemedmenu.cpp	2008-02-07 22:24:27.000000000 +0000
+@@ -2102,6 +2102,10 @@
+             }
+             lastbutton = NULL;
+         }
++        else if (action == "MENU")
++        {
++            parent->doMenu();
++        }
+         else if (action == "EJECT")
+         {
+             myth_eject();
+@@ -2482,6 +2486,8 @@
+ 
+     if (d->foundtheme)
+         d->parseMenu(menufile);
++
++    m_menuPopup = NULL;
+ }
+ 
+ MythThemedMenu::~MythThemedMenu(void)
+@@ -2592,3 +2598,102 @@
+     MythScreenType::aboutToShow();
+     d->updateLCD();
+ }
++void MythThemedMenu::doMenu()
++{
++    int allowsd = gContext->GetNumSetting("AllowQuitShutdown");
++    if (m_menuPopup)
++        return;
++    QString label = "System Menu";
++    MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
++    m_menuPopup = new MythDialogBox(label, mainStack, "menuPopup");
++    if (m_menuPopup->Create())
++        mainStack->AddScreen(m_menuPopup);
++
++
++    if ( allowsd != 0 && allowsd !=4  )
++    {
++        m_menuPopup->SetReturnEvent(this,"popmenu_exit");
++        m_menuPopup->AddButton("Shutdown");
++        m_menuPopup->AddButton("Reboot");
++        m_menuPopup->AddButton("About");
++        m_menuPopup->AddButton("Cancel");
++    }
++    else
++    {
++        m_menuPopup->SetReturnEvent(this,"popmenu_noexit");
++        m_menuPopup->AddButton("About");
++        m_menuPopup->AddButton("Cancel");
++    }
++}
++
++void MythThemedMenu::aboutScreen()
++{
++{
++        extern const char *myth_source_version;
++        extern const char *myth_source_path;
++        QString distro_line;
++        distro_line="";
++
++        QFile file("/etc/os_myth_release");
++        if ( file.open(IO_ReadOnly | IO_Translate) )
++        {
++            QTextStream t( &file );        // use a text stream
++            distro_line = t.readLine();
++            file.close();
++        }
++
++        QString label = "";
++        label.append(QObject::tr("Revision: ") + myth_source_version   + "  \n  Branch:" +  myth_source_path  + "\n" + distro_line );
++
++        MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
++        m_menuPopup = new MythDialogBox(label, mainStack, "About");
++        if (m_menuPopup->Create())
++            mainStack->AddScreen(m_menuPopup);
++
++        m_menuPopup->SetReturnEvent(this,"About");
++        m_menuPopup->AddButton("OK!");
++    }
++}
++
++void MythThemedMenu::customEvent(QCustomEvent *event)
++{
++    if (event->type() == kMythDialogBoxCompletionEventType)
++    {
++        DialogCompletionEvent *dce =
++                dynamic_cast<DialogCompletionEvent*>(event);
++
++        QString resultid= dce->GetId();
++        int buttonnum  = dce->GetResult();
++        if (resultid == "popmenu_exit")
++        {
++            if (buttonnum == 0)
++            {
++                QString halt_cmd = gContext->GetSetting("HaltCommand",
++                        "sudo /sbin/halt -p");
++                if (!halt_cmd.isEmpty())
++                    system(halt_cmd.ascii());
++            }
++
++            if (buttonnum == 1)
++            {
++                QString reboot_cmd = gContext->GetSetting("RebootCommand",
++                        "sudo /sbin/reboot");
++                if (!reboot_cmd.isEmpty())
++                    system(reboot_cmd.ascii());
++            }
++
++            if (buttonnum == 2)
++            {
++                aboutScreen();
++            }
++        }
++
++        if (resultid == "popmenu_noexit")
++        {
++            if (buttonnum == 0)
++                aboutScreen();
++        }
++
++        m_menuPopup = NULL;
++    }
++}
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.h.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.h.patch
new file mode 100644
index 0000000..9744b11
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/myththemedmenu.h.patch
@@ -0,0 +1,25 @@
+--- libs/libmythui/myththemedmenu.h.orig	2008-01-31 15:26:45.000000000 +0000
++++ libs/libmythui/myththemedmenu.h	2008-02-07 21:00:22.000000000 +0000
+@@ -2,6 +2,7 @@
+ #define MYTHTHEMEDMENU_H_
+ 
+ #include "mythscreentype.h"
++#include "mythdialogbox.h"
+ 
+ class MythMainWindow;
+ class MythThemedMenuPrivate;
+@@ -26,8 +27,14 @@
+ 
+     void ReloadTheme(void);
+     void ReloadExitKey(void);
++
+     virtual void aboutToShow(void);
+ 
++    void doMenu();
++    void aboutScreen();
++    MythDialogBox *m_menuPopup;
++    void customEvent(QCustomEvent *event);
++
+   protected:
+     virtual bool keyPressEvent(QKeyEvent *e);
+     virtual void gestureEvent(MythUIType *origtype, MythGestureEvent *ge);
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythtv.install b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythtv.install
new file mode 100755
index 0000000..2c87aee
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/mythtv.install
@@ -0,0 +1,59 @@
+
+# arg 1:  the new package version
+pre_install () {
+        echo "backing up the database"
+                dbver=`pacman -Q mythtv-release-fixes | awk  ' { print $2 } '`
+        if [ ! -e /data/databases_backup ]
+        then
+                mkdir -p /data/database_backup
+        fi
+        mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql
+}
+
+post_install() {
+  	mkdir -p /data/home
+        /usr/sbin/useradd -G users,video,audio,optical  -m -d /data/home/mythtv mythtv
+        /usr/sbin/usermod -G users,video,audio,optical mythtv
+#        mkdir /var/log/mythtv
+#        chown -R mythtv:users /var/log/mythtv
+        dbver=`pacman -Q mythtv-release-fixes | awk  ' { print $2 } '`
+        if [ ! -e /data/database_backup ]
+        then
+                mkdir -p /data/database_backup
+        fi
+	chown mythtv:nobody /data/database_backup
+	chmod g+s  /data/database_backup
+        
+	mysqldump -u mythtv -pmythtv mythconverg -c > /data/database_backup/${dbver}.dump.sql
+	grep -q /usr/local/lib  /etc/ld.so.conf
+	if [ $? = 1 ]
+	then
+		echo "/usr/local/lib" >> /etc/ld.so.conf
+	fi
+
+}
+pre_upgrade () {
+ pre_install
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install
+
+  /bin/true
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+/bint/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.cpp.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.cpp.patch
new file mode 100644
index 0000000..a7a5326
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.cpp.patch
@@ -0,0 +1,51 @@
+--- libs/libmythui/myththemedmenu.cpp.orig	2008-03-17 15:54:00.000000000 -0500
++++ libs/libmythui/myththemedmenu.cpp	2008-03-17 15:54:09.000000000 -0500
+@@ -2615,12 +2615,14 @@
+         m_menuPopup->SetReturnEvent(this,"popmenu_exit");
+         m_menuPopup->AddButton("Shutdown");
+         m_menuPopup->AddButton("Reboot");
++        m_menuPopup->AddButton("MythBackend restart");
+         m_menuPopup->AddButton("About");
+         m_menuPopup->AddButton("Cancel");
+     }
+     else
+     {
+         m_menuPopup->SetReturnEvent(this,"popmenu_noexit");
++        m_menuPopup->AddButton("MythBackend restart");
+         m_menuPopup->AddButton("About");
+         m_menuPopup->AddButton("Cancel");
+     }
+@@ -2655,6 +2657,11 @@
+     }
+ }
+ 
++void MythThemedMenu::Restartmythbackend()
++{
++    system("/usr/MythVantage/bin/mythbeselect -restart");
++}
++
+ void MythThemedMenu::customEvent(QCustomEvent *event)
+ {
+     if (event->type() == kMythDialogBoxCompletionEventType)
+@@ -2684,6 +2691,10 @@
+ 
+             if (buttonnum == 2)
+             {
++                Restartmythbackend();
++            }
++            if (buttonnum == 3)
++            {
+                 aboutScreen();
+             }
+         }
+@@ -2691,6 +2702,10 @@
+         if (resultid == "popmenu_noexit")
+         {
+             if (buttonnum == 0)
++            {
++                Restartmythbackend();
++            }
++            if (buttonnum == 1)
+                 aboutScreen();
+         }
+ 
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.h.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.h.patch
new file mode 100644
index 0000000..1fba435
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/pop_be_restart.h.patch
@@ -0,0 +1,10 @@
+--- libs/libmythui/myththemedmenu.h.orig	2008-03-17 15:48:28.000000000 -0500
++++ libs/libmythui/myththemedmenu.h	2008-03-17 15:48:30.000000000 -0500
+@@ -32,6 +32,7 @@
+ 
+     void doMenu();
+     void aboutScreen();
++    void Restartmythbackend();
+     MythDialogBox *m_menuPopup;
+     void customEvent(QCustomEvent *event);
+ 
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/reload.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/reload.patch
new file mode 100644
index 0000000..9cc2044
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/reload.patch
@@ -0,0 +1,52 @@
+--- programs/mythfrontend/main.cpp	2007-11-13 15:34:40.000000000 +0000
++++ programs/mythfrontend/main.cpp.new	2007-11-13 15:36:15.000000000 +0000
+@@ -72,6 +72,9 @@
+     RunProgramGuide(chanid, channum);
+ }
+ 
++
++
++
+ void startFinder(void)
+ {
+     RunProgramFind();
+@@ -761,6 +764,7 @@
+     }
+ }
+ 
++
+ void InitJumpPoints(void)
+ {
+     REG_JUMP("Reload Theme", "", "", reloadTheme);
+@@ -784,6 +788,17 @@
+     TV::SetEmbedPbbFunc(PlaybackBox::RunPlaybackBox);
+ }
+ 
++
++void signal_USR1_handler(int){
++      VERBOSE(VB_GENERAL, "SIG USR1 received, reloading theme");	
++      RemoteSendMessage("CLEAR_SETTINGS_CACHE");
++      gContext->ActivateSettingsCache(false);
++      qApp->processEvents();
++      GetMythMainWindow()->JumpTo("Reload Theme");
++      gContext->removeCurrentLocation();
++      gContext->ActivateSettingsCache(true);
++}
++
+ int internal_media_init() 
+ {
+     REG_MEDIAPLAYER("Internal", "MythTV's native media player.", 
+@@ -1411,7 +1426,12 @@
+ 
+         if (!RunMenu(themedir))
+             break;
+-
++         struct sigaction new_action, old_action;
++        /* Set up the structure to specify the new action. */
++        new_action.sa_handler = signal_USR1_handler;
++        ::sigemptyset(&new_action.sa_mask);
++        new_action.sa_flags = 0;
++        ::sigaction (SIGUSR1, &new_action, &old_action);
+         qApp->setMainWidget(mainWindow);
+         qApp->exec();
+     } while (!(exitstatus = handleExit()));
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshot_jump.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshot_jump.patch
new file mode 100644
index 0000000..8a5dee4
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshot_jump.patch
@@ -0,0 +1,10 @@
+--- programs/mythfrontend/networkcontrol.cpp.orig	2008-03-16 23:31:05.000000000 +0000
++++ programs/mythfrontend/networkcontrol.cpp	2008-03-16 23:32:01.000000000 +0000
+@@ -80,6 +80,7 @@
+     jumpMap["zoneminderconsole"]     = "ZoneMinder Console";
+     jumpMap["zoneminderliveview"]    = "ZoneMinder Live View";
+     jumpMap["zoneminderevents"]      = "ZoneMinder Events";
++    jumpMap["snapshot"]              = "ScreenShot";
+ 
+     // These jump point names match the (lowercased) locations from gContext
+     jumpMap["channelrecpriority"]    = "Channel Recording Priorities";
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots.diff b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots.diff
new file mode 100644
index 0000000..2b5dabe
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots.diff
@@ -0,0 +1,458 @@
+Index: libs/libmythui/mythmainwindow.cpp
+===================================================================
+--- libs/libmythui/mythmainwindow.cpp	(revision 15827)
++++ libs/libmythui/mythmainwindow.cpp	(working copy)
+@@ -504,6 +507,81 @@
+     d->repaintRegion = d->repaintRegion.unite(pe->region());
+ }
+ 
++bool MythMainWindow::screenShot(QString fname, int x, int y, int x2, int y2, int w, int h)
++{
++    bool ret = false;
++
++    QString extension = fname.section('.', -1, -2);
++
++    if (extension == "jpg")
++        extension = "JPEG";
++    else 
++        extension = "PNG";
++
++    VERBOSE(VB_GENERAL, QString("MythMainWindow::screenShot saving winId %1 to %2 (%3 x %4) [ %5/%6 - %7/%8]")
++		        .arg(QApplication::desktop()->winId())
++			.arg(fname)
++			.arg(w)
++			.arg(h)
++			.arg(x)
++			.arg(y)
++			.arg(x2)
++			.arg(y2));
++
++    QPixmap p;
++    p = QPixmap::grabWindow( QApplication::desktop()->winId(), x, y, x2, y2);
++
++    QImage img = p.convertToImage();
++
++    if ( w == 0 )
++        w = img.width();
++
++    if ( h == 0 )
++        h = img.height();
++
++    VERBOSE(VB_GENERAL, QString("Scaling to %1 x %2 from %3 x %4")
++		    .arg(w)
++		    .arg(h)
++		    .arg(img.width())
++		    .arg(img.height()));
++
++    img = img.smoothScale( w, h , QImage::ScaleMin);
++        
++    if (img.save(fname ,extension))
++    {
++        VERBOSE(VB_GENERAL, "MythMainWindow::screenShot succeeded");
++	ret = true;
++    }
++    else 
++    {
++	VERBOSE(VB_GENERAL, "MythMainWindow::screenShot Failed!");
++	ret = false;
++    }
++
++    return ret;
++}
++
++bool MythMainWindow::screenShot(int x, int y, int x2, int y2)
++{
++    QString fPath = gContext->GetSetting("ScreenShotPath","/tmp/");
++    QString fName = QString("/%1/myth-screenshot-%2.png")
++	            .arg(gContext->GetSetting("ScreenShotPath","/tmp/"))
++	            .arg(QDateTime::currentDateTime().toString("yyyy-mm-ddThh-mm-ss.zzz"));
++
++    return screenShot(fName, x, y, x2, y2, 0, 0);
++}
++
++bool MythMainWindow::screenShot(QString fname, int w, int h)
++{
++    return screenShot(fname, 0, 0, -1, -1, w, h);
++}
++
++
++bool MythMainWindow::screenShot(void)
++{
++    return screenShot(0,0,-1,-1);
++}
++
+ #ifdef USING_APPLEREMOTE
+ // This may be possible via installEventFilter() instead?
+ 
+Index: libs/libmythui/mythmainwindow.h
+===================================================================
+--- libs/libmythui/mythmainwindow.h	(revision 15827)
++++ libs/libmythui/mythmainwindow.h	(working copy)
+@@ -101,6 +101,11 @@
+ 
+     MythPainter *GetCurrentPainter();
+ 
++    bool screenShot(QString fname, int x, int y, int x2, int y2, int w, int h);
++    bool screenShot(int x, int y, int x2, int y2);
++    bool screenShot(QString fname, int w, int h);
++    bool screenShot(void);
++
+     void AllowInput(bool allow);
+ 
+     QRect GetUIScreenRect();
+Index: programs/mythfrontend/mediarenderer.cpp
+===================================================================
+--- programs/mythfrontend/mediarenderer.cpp	(revision 15827)
++++ programs/mythfrontend/mediarenderer.cpp	(working copy)
+@@ -9,6 +9,7 @@
+ /////////////////////////////////////////////////////////////////////////////
+ 
+ #include "mediarenderer.h"
++#include "mythfexml.h"
+ #include "compat.h"
+ 
+ /////////////////////////////////////////////////////////////////////////////
+@@ -85,6 +86,11 @@
+                                  "http-get:*:video/mpeg:*,"
+                                  "http-get:*:video/nupplevideo:*,"
+                                  "http-get:*:video/x-ms-wmv:*";
++        // ------------------------------------------------------------------
++        // Register the MythFEXML protocol... 
++        // ------------------------------------------------------------------
++        VERBOSE(VB_UPNP, "MediaRenderer::Registering MythFEXML Service." );
++        m_pHttpServer->RegisterExtension( new MythFEXML( RootDevice() ));
+ 
+         // VERBOSE(VB_UPNP, QString( "MediaRenderer::Registering AVTransport Service." ));
+         // m_pHttpServer->RegisterExtension( m_pUPnpAVT = new UPnpAVTransport( RootDevice() ));
+Index: programs/mythfrontend/MFEXML_scpd.xml
+===================================================================
+--- programs/mythfrontend/MFEXML_scpd.xml	(revision 0)
++++ programs/mythfrontend/MFEXML_scpd.xml	(revision 0)
+@@ -0,0 +1,34 @@
++<?xml version="1.0" encoding="utf-8"?>
++<scpd xmlns="urn:schemas-upnp-org:service-1-0">
++   <specVersion>
++      <major>1</major>
++      <minor>0</minor>
++   </specVersion>
++   <actionList>
++      <action>
++         <name>GetScreenShot</name>
++         <argumentList>
++            <argument>
++               <name>Height</name>
++               <direction>in</direction>
++               <relatedStateVariable>A_ARG_TYPE_Height</relatedStateVariable>
++            </argument>
++            <argument>
++               <name>Width</name>
++               <direction>in</direction>
++               <relatedStateVariable>A_ARG_TYPE_Width</relatedStateVariable>
++            </argument>
++         </argumentList>
++      </action>
++   </actionList>
++   <serviceStateTable>
++      <stateVariable sendEvents="no">
++         <name>A_ARG_TYPE_Height</name>
++         <dataType>i2</dataType>
++      </stateVariable>
++      <stateVariable sendEvents="no">
++         <name>A_ARG_TYPE_Width</name>
++         <dataType>i2</dataType>
++      </stateVariable>
++   </serviceStateTable>
++</scpd>
+Index: programs/mythfrontend/globalsettings.cpp
+===================================================================
+--- programs/mythfrontend/globalsettings.cpp	(revision 15827)
++++ programs/mythfrontend/globalsettings.cpp	(working copy)
+@@ -2182,6 +2182,15 @@
+     return ge;
+ }
+ 
++static HostLineEdit *ScreenShotPath()
++{
++    HostLineEdit *ge = new HostLineEdit("ScreenShotPath");
++    ge->setLabel(QObject::tr("ScreenShotPath"));
++    ge->setValue("");
++    ge->setHelpText(QObject::tr("Path to screenshot storage location. Should be writable by the frontend"));
++    return ge;
++}
++
+ static HostCheckBox *UseArrowAccels()
+ {
+     HostCheckBox *gc = new HostCheckBox("UseArrowAccels");
+@@ -4455,6 +4464,7 @@
+     MythMediaSettings *mediaMon = new MythMediaSettings();
+ 
+     general->addChild(LircKeyPressedApp());
++    general->addChild(ScreenShotPath());
+     general->addChild(row);
+     general->addChild(NetworkControlPort());
+     general->addChild(mediaMon);
+Index: programs/mythfrontend/mythfexml.h
+===================================================================
+--- programs/mythfrontend/mythfexml.h	(revision 0)
++++ programs/mythfrontend/mythfexml.h	(revision 0)
+@@ -0,0 +1,66 @@
++//////////////////////////////////////////////////////////////////////////////
++// Program Name: mythxml.h
++//                                                                            
++// Purpose - Myth Frontend XML protocol HttpServerExtension 
++//                                                                            
++//////////////////////////////////////////////////////////////////////////////
++
++#ifndef MYTHFEXML_H_
++#define MYTHFEXML_H_
++
++#include <qdom.h>
++#include <qdatetime.h> 
++
++#include "upnp.h"
++#include "eventing.h"
++#include "mythcontext.h"
++
++typedef enum 
++{
++    MFEXML_Unknown                =  0,
++    MFEXML_GetScreenShot          =  1
++
++} MythFEXMLMethod;
++
++class MythFEXML : public Eventing
++{
++    private:
++
++        QString                      m_sControlUrl;
++        QString                      m_sServiceDescFileName;
++
++    protected:
++
++        // Implement UPnpServiceImpl methods that we can
++
++        virtual QString GetServiceType      () { return "urn:schemas-mythtv-org:service:MythTv:1"; }
++        virtual QString GetServiceId        () { return "urn:mythtv-org:serviceId:MYTHTV_1-0"; }
++        virtual QString GetServiceControlURL() { return m_sControlUrl.mid( 1 ); }
++        virtual QString GetServiceDescURL   () { return m_sControlUrl.mid( 1 ) + "/GetServDesc"; }
++
++    private:
++
++        MythFEXMLMethod GetMethod( const QString &sURI );
++
++	void    GetScreenShot    ( HTTPRequest *pRequest );
++
++    public:
++                 MythFEXML( UPnpDevice *pDevice );
++        virtual ~MythFEXML();
++
++        bool     ProcessRequest( HttpWorkerThread *pThread, HTTPRequest *pRequest );
++
++        // Static methods shared with HttpStatus
++
++};
++
++/////////////////////////////////////////////////////////////////////////////
++/////////////////////////////////////////////////////////////////////////////
++//
++// 
++//
++/////////////////////////////////////////////////////////////////////////////
++/////////////////////////////////////////////////////////////////////////////
++#endif
++
++
+Index: programs/mythfrontend/main.cpp
+===================================================================
+--- programs/mythfrontend/main.cpp	(revision 15827)
++++ programs/mythfrontend/main.cpp	(working copy)
+@@ -799,6 +799,11 @@
+     }
+ }
+ 
++void getScreenShot(void)
++{
++    (void) gContext->GetMainWindow()->screenShot();
++}
++
+ void InitJumpPoints(void)
+ {
+     REG_JUMP("Reload Theme", "", "", reloadTheme);
+@@ -817,6 +822,8 @@
+     REG_JUMP("Status Screen", "", "", showStatus);
+     REG_JUMP("Previously Recorded", "", "", startPrevious);
+ 
++    REG_JUMPEX("ScreenShot","","",getScreenShot,false);
++
+     REG_KEY("qt", "DELETE", "Delete", "D");
+     REG_KEY("qt", "EDIT", "Edit", "E");
+ 
+Index: programs/mythfrontend/mythfrontend.pro
+===================================================================
+--- programs/mythfrontend/mythfrontend.pro	(revision 15827)
++++ programs/mythfrontend/mythfrontend.pro	(working copy)
+@@ -15,7 +15,7 @@
+ setting.files += util_menu.xml info_settings.xml main_settings.xml
+ setting.files += recpriorities_settings.xml tv_search.xml tv_lists.xml
+ setting.files += library.xml manage_recordings.xml optical_menu.xml tvmenu.xml
+-setting.files += tv_settings.xml
++setting.files += tv_settings.xml MFEXML_scpd.xml
+ setting.extra = -ldconfig
+ 
+ INSTALLS += setting
+@@ -26,13 +26,13 @@
+ HEADERS += manualbox.h playbackbox.h viewscheduled.h globalsettings.h
+ HEADERS += manualschedule.h programrecpriority.h channelrecpriority.h
+ HEADERS += statusbox.h networkcontrol.h custompriority.h
+-HEADERS += mediarenderer.h
++HEADERS += mediarenderer.h mythfexml.h
+ HEADERS += mythappearance.h
+ 
+ SOURCES += main.cpp manualbox.cpp playbackbox.cpp viewscheduled.cpp
+ SOURCES += globalsettings.cpp manualschedule.cpp programrecpriority.cpp 
+ SOURCES += channelrecpriority.cpp statusbox.cpp networkcontrol.cpp
+-SOURCES += mediarenderer.cpp
++SOURCES += mediarenderer.cpp mythfexml.cpp
+ SOURCES += custompriority.cpp
+ SOURCES += mythappearance.cpp
+ 
+Index: programs/mythfrontend/mythfexml.cpp
+===================================================================
+--- programs/mythfrontend/mythfexml.cpp	(revision 0)
++++ programs/mythfrontend/mythfexml.cpp	(revision 0)
+@@ -0,0 +1,135 @@
++//////////////////////////////////////////////////////////////////////////////
++// Program Name: MythXML.cpp
++//                                                                            
++// Purpose - Html & XML status HttpServerExtension
++//                                                                            
++// Created By  : David Blain                    Created On : Oct. 24, 2005
++// Modified By : Daniel Kristjansson            Modified On: Oct. 31, 2007
++//                                                                            
++//////////////////////////////////////////////////////////////////////////////
++
++#include "mythfexml.h"
++
++#include "libmyth/mythcontext.h"
++#include "libmyth/util.h"
++#include "libmyth/mythdbcon.h"
++
++#include "mythmainwindow.h"
++
++#include <qtextstream.h>
++#include <qdir.h>
++#include <qfile.h>
++#include <qregexp.h>
++#include <qbuffer.h>
++#include <math.h>
++
++#include "../../config.h"
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXML::MythFEXML( UPnpDevice *pDevice ) : Eventing( "MythFEXML", "MYTHTV_Event" )
++{
++
++    QString sUPnpDescPath = UPnp::g_pConfig->GetValue( "UPnP/DescXmlPath", m_sSharePath );
++
++    m_sServiceDescFileName = sUPnpDescPath + "MFEXML_scpd.xml";
++    m_sControlUrl          = "/MythFE";
++
++    // Add our Service Definition to the device.
++
++    RegisterService( pDevice );
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXML::~MythFEXML()
++{
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXMLMethod MythFEXML::GetMethod( const QString &sURI )
++{
++    if (sURI == "GetScreenShot"        ) return MFEXML_GetScreenShot;
++
++    return( MFEXML_Unknown );
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++bool MythFEXML::ProcessRequest( HttpWorkerThread *pThread, HTTPRequest *pRequest )
++{
++    try
++    {
++        if (pRequest)
++        {
++            if (pRequest->m_sBaseUrl != m_sControlUrl)
++                return( false );
++
++            VERBOSE(VB_UPNP, QString("MythFEXML::ProcessRequest: %1 : %2")
++			             .arg(pRequest->m_sMethod)
++				     .arg(pRequest->m_sRawRequest));
++
++            switch( GetMethod( pRequest->m_sMethod ))
++            {
++		case MFEXML_GetScreenShot      : GetScreenShot    ( pRequest ); return true;
++
++
++                default: 
++                {
++                    UPnp::FormatErrorResponse( pRequest, UPnPResult_InvalidAction );
++
++                    return true;
++                }
++            }
++        }
++    }
++    catch( ... )
++    {
++        VERBOSE( VB_IMPORTANT, "MythFEXML::ProcessRequest() - Unexpected Exception" );
++    }
++
++    return( false );
++}           
++
++// ==========================================================================
++// Request handler Methods
++// ==========================================================================
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++void MythFEXML::GetScreenShot( HTTPRequest *pRequest )
++{
++    bool bDefaultPixmap = false;
++
++    pRequest->m_eResponseType   = ResponseTypeFile;
++
++    // Optional Parameters
++
++    int     nWidth    = pRequest->m_mapParams[ "Width"     ].toInt();
++    int     nHeight   = pRequest->m_mapParams[ "Height"    ].toInt();
++
++    // Read Icon file path from database
++
++    QString sFileName = "/tmp/moo.jpg";
++
++
++    if (!gContext->GetMainWindow()->screenShot(sFileName,nWidth, nHeight))
++    {
++        VERBOSE(VB_GENERAL, "MythFEXML: Failed to take screenshot. Aborting");
++	return;
++    }
++
++    pRequest->m_sFileName = sFileName;
++}
++
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots2.diff b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots2.diff
new file mode 100644
index 0000000..64ce08c
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/screenshots2.diff
@@ -0,0 +1,467 @@
+Index: libs/libmythui/mythmainwindow.cpp
+===================================================================
+--- libs/libmythui/mythmainwindow.cpp	(revision 16103)
++++ libs/libmythui/mythmainwindow.cpp	(working copy)
+@@ -8,6 +8,8 @@
+ #include <qpaintdevicemetrics.h>
+ #include <qdir.h>
+ #include <qfile.h>
++#include <math.h>
++
+ #ifdef QWS
+ #include <qwindowsystem_qws.h>
+ #endif
+@@ -504,6 +507,83 @@
+     d->repaintRegion = d->repaintRegion.unite(pe->region());
+ }
+ 
++bool MythMainWindow::screenShot(QString fname, int x, int y, int x2, int y2, int w, int h)
++{
++    bool ret = false;
++
++    QString extension = fname.section('.', -1, -1);
++    if (extension == "jpg")
++        extension = "JPEG";
++    else 
++        extension = "PNG";
++
++    VERBOSE(VB_GENERAL, QString("MythMainWindow::screenShot saving winId %1 to %2 (%3 x %4) [ %5/%6 - %7/%8] type %9")
++		        .arg(QApplication::desktop()->winId())
++			.arg(fname)
++			.arg(w)
++			.arg(h)
++			.arg(x)
++			.arg(y)
++			.arg(x2)
++			.arg(y2)
++			.arg(extension));
++
++    QPixmap p;
++    p = QPixmap::grabWindow( QApplication::desktop()->winId(), x, y, x2, y2);
++
++    QImage img = p.convertToImage();
++
++    if ( w == 0 )
++        w = img.width();
++
++    if ( h == 0 )
++        h = img.height();
++
++    VERBOSE(VB_GENERAL, QString("Scaling to %1 x %2 from %3 x %4")
++		    .arg(w)
++		    .arg(h)
++		    .arg(img.width())
++		    .arg(img.height()));
++
++    img = img.smoothScale( w, h , QImage::ScaleMin);
++        
++    if (img.save(fname ,extension,100))
++    {
++        VERBOSE(VB_GENERAL, "MythMainWindow::screenShot succeeded");
++	ret = true;
++    }
++    else 
++    {
++	VERBOSE(VB_GENERAL, "MythMainWindow::screenShot Failed!");
++	ret = false;
++    }
++
++    return ret;
++}
++
++bool MythMainWindow::screenShot(int x, int y, int x2, int y2)
++{
++    QString fPath = gContext->GetSetting("ScreenShotPath","/tmp/");
++    QString fName = QString("/%1/myth-screenshot-%2.png")
++	            .arg(fPath)
++	            .arg(QDateTime::currentDateTime().toString("yyyy-mm-ddThh-mm-ss.zzz"));
++
++    return screenShot(fName, x, y, x2, y2, 0, 0);
++}
++
++bool MythMainWindow::screenShot(QString fname, int w, int h)
++{
++    QRect sLoc = qApp->mainWidget()->geometry();
++    return screenShot(fname, sLoc.left(),sLoc.top(), sLoc.width(), sLoc.height(), w, h);
++}
++
++
++bool MythMainWindow::screenShot(void)
++{
++    QRect sLoc = qApp->mainWidget()->geometry();
++    return screenShot(sLoc.left(),sLoc.top(), sLoc.width(), sLoc.height());
++}
++
+ #ifdef USING_APPLEREMOTE
+ // This may be possible via installEventFilter() instead?
+ 
+Index: libs/libmythui/mythmainwindow.h
+===================================================================
+--- libs/libmythui/mythmainwindow.h	(revision 16103)
++++ libs/libmythui/mythmainwindow.h	(working copy)
+@@ -101,6 +101,11 @@
+ 
+     MythPainter *GetCurrentPainter();
+ 
++    bool screenShot(QString fname, int x, int y, int x2, int y2, int w, int h);
++    bool screenShot(int x, int y, int x2, int y2);
++    bool screenShot(QString fname, int w, int h);
++    bool screenShot(void);
++
+     void AllowInput(bool allow);
+ 
+     QRect GetUIScreenRect();
+Index: programs/mythfrontend/mediarenderer.cpp
+===================================================================
+--- programs/mythfrontend/mediarenderer.cpp	(revision 16103)
++++ programs/mythfrontend/mediarenderer.cpp	(working copy)
+@@ -9,6 +9,7 @@
+ /////////////////////////////////////////////////////////////////////////////
+ 
+ #include "mediarenderer.h"
++#include "mythfexml.h"
+ #include "compat.h"
+ 
+ /////////////////////////////////////////////////////////////////////////////
+@@ -89,6 +90,11 @@
+                                  "http-get:*:video/mpeg:*,"
+                                  "http-get:*:video/nupplevideo:*,"
+                                  "http-get:*:video/x-ms-wmv:*";
++        // ------------------------------------------------------------------
++        // Register the MythFEXML protocol... 
++        // ------------------------------------------------------------------
++        VERBOSE(VB_UPNP, "MediaRenderer::Registering MythFEXML Service." );
++        m_pHttpServer->RegisterExtension( new MythFEXML( RootDevice() ));
+ 
+         // VERBOSE(VB_UPNP, QString( "MediaRenderer::Registering AVTransport Service." ));
+         // m_pHttpServer->RegisterExtension( m_pUPnpAVT = new UPnpAVTransport( RootDevice() ));
+Index: programs/mythfrontend/MFEXML_scpd.xml
+===================================================================
+--- programs/mythfrontend/MFEXML_scpd.xml	(revision 0)
++++ programs/mythfrontend/MFEXML_scpd.xml	(revision 0)
+@@ -0,0 +1,34 @@
++<?xml version="1.0" encoding="utf-8"?>
++<scpd xmlns="urn:schemas-upnp-org:service-1-0">
++   <specVersion>
++      <major>1</major>
++      <minor>0</minor>
++   </specVersion>
++   <actionList>
++      <action>
++         <name>GetScreenShot</name>
++         <argumentList>
++            <argument>
++               <name>Height</name>
++               <direction>in</direction>
++               <relatedStateVariable>A_ARG_TYPE_Height</relatedStateVariable>
++            </argument>
++            <argument>
++               <name>Width</name>
++               <direction>in</direction>
++               <relatedStateVariable>A_ARG_TYPE_Width</relatedStateVariable>
++            </argument>
++         </argumentList>
++      </action>
++   </actionList>
++   <serviceStateTable>
++      <stateVariable sendEvents="no">
++         <name>A_ARG_TYPE_Height</name>
++         <dataType>i2</dataType>
++      </stateVariable>
++      <stateVariable sendEvents="no">
++         <name>A_ARG_TYPE_Width</name>
++         <dataType>i2</dataType>
++      </stateVariable>
++   </serviceStateTable>
++</scpd>
+Index: programs/mythfrontend/globalsettings.cpp
+===================================================================
+--- programs/mythfrontend/globalsettings.cpp	(revision 16103)
++++ programs/mythfrontend/globalsettings.cpp	(working copy)
+@@ -2220,6 +2220,15 @@
+     return ge;
+ }
+ 
++static HostLineEdit *ScreenShotPath()
++{
++    HostLineEdit *ge = new HostLineEdit("ScreenShotPath");
++    ge->setLabel(QObject::tr("ScreenShotPath"));
++    ge->setValue("/tmp/");
++    ge->setHelpText(QObject::tr("Path to screenshot storage location. Should be writable by the frontend"));
++    return ge;
++}
++
+ static HostCheckBox *UseArrowAccels()
+ {
+     HostCheckBox *gc = new HostCheckBox("UseArrowAccels");
+@@ -4502,6 +4511,7 @@
+     MythMediaSettings *mediaMon = new MythMediaSettings();
+ 
+     general->addChild(LircKeyPressedApp());
++    general->addChild(ScreenShotPath());
+     general->addChild(row);
+     general->addChild(NetworkControlPort());
+     general->addChild(mediaMon);
+Index: programs/mythfrontend/mythfexml.h
+===================================================================
+--- programs/mythfrontend/mythfexml.h	(revision 0)
++++ programs/mythfrontend/mythfexml.h	(revision 0)
+@@ -0,0 +1,66 @@
++//////////////////////////////////////////////////////////////////////////////
++// Program Name: mythxml.h
++//                                                                            
++// Purpose - Myth Frontend XML protocol HttpServerExtension 
++//                                                                            
++//////////////////////////////////////////////////////////////////////////////
++
++#ifndef MYTHFEXML_H_
++#define MYTHFEXML_H_
++
++#include <qdom.h>
++#include <qdatetime.h> 
++
++#include "upnp.h"
++#include "eventing.h"
++#include "mythcontext.h"
++
++typedef enum 
++{
++    MFEXML_Unknown                =  0,
++    MFEXML_GetScreenShot          =  1
++
++} MythFEXMLMethod;
++
++class MythFEXML : public Eventing
++{
++    private:
++
++        QString                      m_sControlUrl;
++        QString                      m_sServiceDescFileName;
++
++    protected:
++
++        // Implement UPnpServiceImpl methods that we can
++
++        virtual QString GetServiceType      () { return "urn:schemas-mythtv-org:service:MythTv:1"; }
++        virtual QString GetServiceId        () { return "urn:mythtv-org:serviceId:MYTHTV_1-0"; }
++        virtual QString GetServiceControlURL() { return m_sControlUrl.mid( 1 ); }
++        virtual QString GetServiceDescURL   () { return m_sControlUrl.mid( 1 ) + "/GetServDesc"; }
++
++    private:
++
++        MythFEXMLMethod GetMethod( const QString &sURI );
++
++	void    GetScreenShot    ( HTTPRequest *pRequest );
++
++    public:
++                 MythFEXML( UPnpDevice *pDevice );
++        virtual ~MythFEXML();
++
++        bool     ProcessRequest( HttpWorkerThread *pThread, HTTPRequest *pRequest );
++
++        // Static methods shared with HttpStatus
++
++};
++
++/////////////////////////////////////////////////////////////////////////////
++/////////////////////////////////////////////////////////////////////////////
++//
++// 
++//
++/////////////////////////////////////////////////////////////////////////////
++/////////////////////////////////////////////////////////////////////////////
++#endif
++
++
+Index: programs/mythfrontend/main.cpp
+===================================================================
+--- programs/mythfrontend/main.cpp	(revision 16103)
++++ programs/mythfrontend/main.cpp	(working copy)
+@@ -800,6 +800,11 @@
+     }
+ }
+ 
++void getScreenShot(void)
++{
++    (void) gContext->GetMainWindow()->screenShot();
++}
++
+ void InitJumpPoints(void)
+ {
+     REG_JUMP("Reload Theme", "", "", reloadTheme);
+@@ -818,6 +823,8 @@
+     REG_JUMP("Status Screen", "", "", showStatus);
+     REG_JUMP("Previously Recorded", "", "", startPrevious);
+ 
++    REG_JUMPEX("ScreenShot","","",getScreenShot,false);
++
+     REG_KEY("qt", "DELETE", "Delete", "D");
+     REG_KEY("qt", "EDIT", "Edit", "E");
+ 
+Index: programs/mythfrontend/mythfrontend.pro
+===================================================================
+--- programs/mythfrontend/mythfrontend.pro	(revision 16103)
++++ programs/mythfrontend/mythfrontend.pro	(working copy)
+@@ -15,7 +15,7 @@
+ setting.files += util_menu.xml info_settings.xml main_settings.xml
+ setting.files += recpriorities_settings.xml tv_search.xml tv_lists.xml
+ setting.files += library.xml manage_recordings.xml optical_menu.xml tvmenu.xml
+-setting.files += tv_settings.xml
++setting.files += tv_settings.xml MFEXML_scpd.xml
+ setting.extra = -ldconfig
+ 
+ INSTALLS += setting
+@@ -26,13 +26,13 @@
+ HEADERS += manualbox.h playbackbox.h viewscheduled.h globalsettings.h
+ HEADERS += manualschedule.h programrecpriority.h channelrecpriority.h
+ HEADERS += statusbox.h networkcontrol.h custompriority.h
+-HEADERS += mediarenderer.h
++HEADERS += mediarenderer.h mythfexml.h
+ HEADERS += mythappearance.h
+ 
+ SOURCES += main.cpp manualbox.cpp playbackbox.cpp viewscheduled.cpp
+ SOURCES += globalsettings.cpp manualschedule.cpp programrecpriority.cpp 
+ SOURCES += channelrecpriority.cpp statusbox.cpp networkcontrol.cpp
+-SOURCES += mediarenderer.cpp
++SOURCES += mediarenderer.cpp mythfexml.cpp
+ SOURCES += custompriority.cpp
+ SOURCES += mythappearance.cpp
+ 
+Index: programs/mythfrontend/mythfexml.cpp
+===================================================================
+--- programs/mythfrontend/mythfexml.cpp	(revision 0)
++++ programs/mythfrontend/mythfexml.cpp	(revision 0)
+@@ -0,0 +1,133 @@
++//////////////////////////////////////////////////////////////////////////////
++// Program Name: MythXML.cpp
++//                                                                            
++// Purpose - Html & XML status HttpServerExtension
++//                                                                            
++// Created By  : David Blain                    Created On : Oct. 24, 2005
++// Modified By : Daniel Kristjansson            Modified On: Oct. 31, 2007
++//                                                                            
++//////////////////////////////////////////////////////////////////////////////
++
++#include "mythfexml.h"
++
++#include "libmyth/mythcontext.h"
++#include "libmyth/util.h"
++#include "libmyth/mythdbcon.h"
++
++#include "mythmainwindow.h"
++
++#include <qtextstream.h>
++#include <qdir.h>
++#include <qfile.h>
++#include <qregexp.h>
++#include <qbuffer.h>
++#include <math.h>
++
++#include "../../config.h"
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXML::MythFEXML( UPnpDevice *pDevice ) : Eventing( "MythFEXML", "MYTHTV_Event" )
++{
++
++    QString sUPnpDescPath = UPnp::g_pConfig->GetValue( "UPnP/DescXmlPath", m_sSharePath );
++
++    m_sServiceDescFileName = sUPnpDescPath + "MFEXML_scpd.xml";
++    m_sControlUrl          = "/MythFE";
++
++    // Add our Service Definition to the device.
++
++    RegisterService( pDevice );
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXML::~MythFEXML()
++{
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++MythFEXMLMethod MythFEXML::GetMethod( const QString &sURI )
++{
++    if (sURI == "GetScreenShot"        ) return MFEXML_GetScreenShot;
++
++    return( MFEXML_Unknown );
++}
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++bool MythFEXML::ProcessRequest( HttpWorkerThread *pThread, HTTPRequest *pRequest )
++{
++    try
++    {
++        if (pRequest)
++        {
++            if (pRequest->m_sBaseUrl != m_sControlUrl)
++                return( false );
++
++            VERBOSE(VB_UPNP, QString("MythFEXML::ProcessRequest: %1 : %2")
++			             .arg(pRequest->m_sMethod)
++				     .arg(pRequest->m_sRawRequest));
++
++            switch( GetMethod( pRequest->m_sMethod ))
++            {
++		case MFEXML_GetScreenShot      : GetScreenShot    ( pRequest ); return true;
++
++
++                default: 
++                {
++                    UPnp::FormatErrorResponse( pRequest, UPnPResult_InvalidAction );
++
++                    return true;
++                }
++            }
++        }
++    }
++    catch( ... )
++    {
++        VERBOSE( VB_IMPORTANT, "MythFEXML::ProcessRequest() - Unexpected Exception" );
++    }
++
++    return( false );
++}           
++
++// ==========================================================================
++// Request handler Methods
++// ==========================================================================
++
++/////////////////////////////////////////////////////////////////////////////
++//
++/////////////////////////////////////////////////////////////////////////////
++
++void MythFEXML::GetScreenShot( HTTPRequest *pRequest )
++{
++    pRequest->m_eResponseType   = ResponseTypeFile;
++
++    // Optional Parameters
++
++    int     nWidth    = pRequest->m_mapParams[ "Width"     ].toInt();
++    int     nHeight   = pRequest->m_mapParams[ "Height"    ].toInt();
++
++    // Read Icon file path from database
++
++    QString sFileName = QString("/%1/myth-screenshot-XML.jpg")
++                    .arg(gContext->GetSetting("ScreenShotPath","/tmp/"));
++
++    if (!gContext->GetMainWindow()->screenShot(sFileName,nWidth, nHeight))
++    {
++        VERBOSE(VB_GENERAL, "MythFEXML: Failed to take screenshot. Aborting");
++	return;
++    }
++
++    pRequest->m_sFileName = sFileName;
++}
++
diff --git a/abs/mv-core/myth/release-fixes/mythtv-release-fixes/smolt_jump.patch b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/smolt_jump.patch
new file mode 100644
index 0000000..ca9bd08
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-release-fixes/smolt_jump.patch
@@ -0,0 +1,10 @@
+--- programs/mythfrontend/networkcontrol.cpp.orig	2008-03-23 23:00:25.000000000 +0000
++++ programs/mythfrontend/networkcontrol.cpp	2008-03-23 23:01:33.000000000 +0000
+@@ -81,6 +81,7 @@
+     jumpMap["zoneminderliveview"]    = "ZoneMinder Live View";
+     jumpMap["zoneminderevents"]      = "ZoneMinder Events";
+     jumpMap["snapshot"]              = "ScreenShot";
++    jumpMap["mythsmolt"]             = "MythSmolt";
+ 
+     // These jump point names match the (lowercased) locations from gContext
+     jumpMap["channelrecpriority"]    = "Channel Recording Priorities";
diff --git a/abs/mv-core/myth/release-fixes/mythtv-themes/PKGBUILD b/abs/mv-core/myth/release-fixes/mythtv-themes/PKGBUILD
new file mode 100755
index 0000000..5e6928c
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/mythtv-themes/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythtv-themes-release-fixes
+pkgver=15931                           
+pkgrel=4
+pkgdesc="themes for mythtv" 
+url="http://www.mythtv.org" 
+license="GPL" 
+depends=( ) 
+#makedepends=('sqlite3' 'sed') 
+conflicts=() 
+replaces=() 
+backup=() 
+#install='mythtv.install' 
+source=() 
+arch=('i686')
+md5sums=() 
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/myththemes
+_svnmod=myththemes
+
+build() { 
+echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+#svn co http://cvs.mythtv.org/svn/trunk/mythtv
+#svn co http://cvs.mythtv.org/svn/trunk/mythplugins
+#svn co http://cvs.mythtv.org/svn/trunk/myththemes
+cd $startdir/src/myththemes
+   make distclean
+    ./configure  
+    #./configure --disable-all --enable-mythweather --enable-fftw --disable-aac  
+   make  || return 1
+   make INSTALL_ROOT=$startdir/pkg install
+#   cd $startdir/src/$pkgname
+#   cd mythmovietime
+#   make || return 1
+#   make INSTALL_ROOT=$startdir/pkg install
+
+}
diff --git a/abs/mv-core/myth/release-fixes/plugins/mytharchive/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mytharchive/PKGBUILD
new file mode 100644
index 0000000..5a73f74
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mytharchive/PKGBUILD
@@ -0,0 +1,41 @@
+pkgname=mytharchive-release-fixes
+pkgver=17719
+pkgrel=5
+pkgdesc="MythTV plugin that lets you create DVDs from or archive your recorded shows."
+arch=('i686')
+url="http://www.mythtv.org"
+license=('GPL')
+depends=('mythtv-release-fixes' 'libxmu' 'mysql-python' 'pil' 'dvdauthor' 'cdrkit' 'dvd+rw-tools' 'mjpegtools' 'transcode' )
+source=()
+groups=('mythtv-all-plugins-release-fixes')
+#_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+
+build() {
+   	PLUGIN=mytharchive
+   	cd $startdir/src/
+   	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+   	cd $startdir/src/mythplugins
+
+   	PLUGIN=mytharchive
+   	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+		msg "appending program lib"
+	fi
+	msg "Correcting configure    kde3 to kde"
+	 sed -i 's#kde3#kde#' configure || return 1
+	make distclean
+   	./configure  --enable-opengl --disable-all   --enable-create-archive --enable-create-dvd --enable-mytharchive || return 1
+	qmake mythplugins.pro || return 1
+	make qmake || return 1
+	msg "Correcting Makefile    kde3 to kde"
+	sed -i 's#kde3#kde#' ./mytharchive/mytharchive/Makefile || return 1
+   	make -j 2 || return 1
+	make INSTALL_ROOT=$startdir/pkg install
+}
+
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythbrowser/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythbrowser/PKGBUILD
new file mode 100644
index 0000000..0a1b29e
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythbrowser/PKGBUILD
@@ -0,0 +1,34 @@
+
+pkgname=mythbrowser-release-fixes
+pkgver=17284
+pkgrel=2
+pkgdesc="Mini web browser for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes' 'wget' 'libxvmc' 'kdelibs3')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+build() {
+   cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+   cd $startdir/src/mythplugins
+   pwd
+   PLUGIN=mythbrowser
+   grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+   if [ $? != 0 ]
+   then
+	   	echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+			msg "appending program lib"
+		fi
+	make distclean
+   ./configure  --enable-opengl --disable-all --enable-mythbrowser || return 1
+ #  sed -i 's#kde3#kde#' ./mythbrowser/mythbrowser/Makefile || return 1
+   make || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythcontrols/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythcontrols/PKGBUILD
new file mode 100644
index 0000000..31b1e73
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythcontrols/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythcontrols-release-fixes
+pkgver=17719
+pkgrel=5
+pkgdesc="Experimental controls for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv'-release-fixes)
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+PLUGIN=mythcontrols
+grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+if [ $? != 0 ]
+then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+			msg "appending program lib"
+		fi
+	make distclean
+   ./configure  --disable-all --enable-opengl --enable-mythcontrols
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythflix/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythflix/PKGBUILD
new file mode 100644
index 0000000..3e49073
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythflix/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythflix-release-fixes
+pkgver=17719
+pkgrel=2
+pkgdesc="Netflix access plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+#_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+	PLUGIN=mythflix
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+			echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+				msg "appending program lib"
+			fi
+	make distclean
+   ./configure  --disable-all --enable-opengl --enable-mythflix 
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythgallery/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythgallery/PKGBUILD
new file mode 100644
index 0000000..4469148
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythgallery/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythgallery-release-fixes
+pkgver=17719
+pkgrel=3
+pkgdesc="Image gallery plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes' 'libexif' 'libtiff')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+	export QMAKESPEC='linux-g++'
+	PLUGIN=mythgallery
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+			echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+				msg "appending program lib"
+			fi
+	make distclean
+   ./configure  --disable-all --enable-opengl --enable-mythgallery --enable-exif
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythgame/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythgame/PKGBUILD
new file mode 100644
index 0000000..d572df1
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythgame/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythgame-release-fixes
+pkgver=17719
+pkgrel=4
+pkgdesc="Emulation plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes' 'zlib')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+PLUGIN=mythgame
+grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+if [ $? != 0 ]
+then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+		msg	 "appending program lib"
+		fi
+	export QMAKESPEC='linux-g++'
+	make distclean
+   ./configure  --disable-all --enable-opengl --enable-mythgame 
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythmovietime/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythmovietime/PKGBUILD
new file mode 100644
index 0000000..f6945af
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythmovietime/PKGBUILD
@@ -0,0 +1,35 @@
+pkgname=mythmovietime-release-fixes
+pkgver=17284
+pkgrel=6
+pkgdesc="Emulation plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes' 'zlib')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+PLUGIN=mythmovietime
+grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+if [ $? != 0 ]
+then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+			msg "appending program lib"
+		fi
+	export QMAKESPEC='linux-g++'
+	make distclean
+   ./configure  --disable-all --enable-mythmovies 
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythmusic/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythmusic/PKGBUILD
new file mode 100644
index 0000000..de26f57
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythmusic/PKGBUILD
@@ -0,0 +1,39 @@
+pkgname=mythmusic-release-fixes
+pkgver=17719
+pkgrel=9
+pkgdesc="Music playing plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686' 'x86_64')
+
+depends=('mythtv-release-fixes ' 'libid3tag' 'flac>=1.1.4 ' 'a52dec' 'libcdaudio' 'libcddb' 'libdvdread' 'libid3tag' 'libmad' 'libogg'  'libtheora' 'libvorbis' 'taglib' 'libvisual' 'cdparanoia'   'sdl' 'faad2' 'lame' 'fftw2')
+
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=(gcc4.3.patch)
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	make distclean
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins/mythmusic
+	patch -p1 < ../../gcc4.3.patch
+	cd $startdir/src/mythplugins
+     ./configure  --disable-all --enable-mythmusic --enable-fftw --enable-sdl --disable-aac --enable-opengl 
+PLUGIN=mythmusic
+grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+if [ $? != 0 ]
+then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+			msg "appending program lib"
+		fi
+
+#   ./configure  --disable-all --enable-mythmusic  
+
+   make  || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythmusic/gcc4.3.patch b/abs/mv-core/myth/release-fixes/plugins/mythmusic/gcc4.3.patch
new file mode 100644
index 0000000..564c434
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythmusic/gcc4.3.patch
@@ -0,0 +1,37 @@
+Index: mythmusic/mythmusic/aacdecoder.cpp
+===================================================================
+--- mythmusic/mythmusic/aacdecoder.cpp	(revision 17452)
++++ mythmusic/mythmusic/aacdecoder.cpp	(working copy)
+@@ -19,6 +19,7 @@
+ #include <qobject.h>
+ #include <qiodevice.h>
+ #include <qfile.h>
++#include <stdlib.h>
+ 
+ #include "aacdecoder.h"
+ #include "constants.h"
+Index: mythmusic/mythmusic/aacdecoder.h
+===================================================================
+--- mythmusic/mythmusic/aacdecoder.h	(revision 17452)
++++ mythmusic/mythmusic/aacdecoder.h	(working copy)
+@@ -51,7 +51,7 @@
+     bool done, finish;
+     long len, bitrate;
+     uchar channels;
+-    unsigned long sample_rate;
++    uint32_t sample_rate;
+     unsigned long output_size;
+     double totalTime, seekTime;
+ 
+Index: mythmusic/mythmusic/metaiomp4.cpp
+===================================================================
+--- mythmusic/mythmusic/metaiomp4.cpp	(revision 17452)
++++ mythmusic/mythmusic/metaiomp4.cpp	(working copy)
+@@ -3,6 +3,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/types.h>
++#include <stdlib.h>
+ 
+ using namespace std;
+ 
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythmusic/music_flac.patch b/abs/mv-core/myth/release-fixes/plugins/mythmusic/music_flac.patch
new file mode 100644
index 0000000..b152249
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythmusic/music_flac.patch
@@ -0,0 +1,293 @@
+--- flacdecoder.cpp.old	2007-03-11 18:14:37.000000000 -0400
++++ flacdecoder.cpp	2007-03-11 18:15:34.000000000 -0400
+@@ -17,7 +17,7 @@
+ 
+ #include <qtimer.h>
+ 
+-static FLAC__SeekableStreamDecoderReadStatus flacread(const FLAC__SeekableStreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data)
++static FLAC__StreamDecoderReadStatus flacread(const FLAC__StreamDecoder *decoder, FLAC__byte bufferp[], unsigned *bytes, void *client_data)
+ {
+     decoder = decoder;
+ 
+@@ -26,27 +26,27 @@
+ 
+     if (len == -1)
+     {
+-        return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_ERROR;
++        return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
+     }
+    
+     *bytes = len;
+-    return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK;
++    return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
+ }
+ 
+-static FLAC__SeekableStreamDecoderSeekStatus flacseek(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) 
++static FLAC__StreamDecoderSeekStatus flacseek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) 
+ {
+     decoder = decoder;
+     FlacDecoder *dflac = (FlacDecoder *)client_data;
+ 
+     if (!dflac->input()->isDirectAccess())
+-        return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
++        return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
+ 
+     if (dflac->input()->at(absolute_byte_offset))
+-        return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK;
+-    return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_ERROR;
++        return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
++    return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
+ }
+ 
+-static FLAC__SeekableStreamDecoderTellStatus flactell(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
++static FLAC__StreamDecoderTellStatus flactell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
+ {
+     decoder = decoder;
+     FlacDecoder *dflac = (FlacDecoder *)client_data;
+@@ -54,20 +54,20 @@
+     long t = dflac->input()->at();
+     *absolute_byte_offset = t;
+ 
+-    return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
++    return FLAC__STREAM_DECODER_TELL_STATUS_OK;
+ }
+ 
+-static FLAC__SeekableStreamDecoderLengthStatus flaclength(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
++static FLAC__StreamDecoderLengthStatus flaclength(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
+ {
+     decoder = decoder;
+ 
+     FlacDecoder *dflac = (FlacDecoder *)client_data;
+ 
+     *stream_length = dflac->input()->size();
+-    return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
++    return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
+ }
+ 
+-static FLAC__bool flaceof(const FLAC__SeekableStreamDecoder *decoder, void *client_data)
++static FLAC__bool flaceof(const FLAC__StreamDecoder *decoder, void *client_data)
+ {
+     decoder = decoder;
+ 
+@@ -76,7 +76,7 @@
+     return dflac->input()->atEnd();
+ }
+ 
+-static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
++static FLAC__StreamDecoderWriteStatus flacwrite(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data)
+ {
+     decoder = decoder;
+ 
+@@ -132,7 +132,7 @@
+     }
+ }
+ 
+-static void flacmetadata(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
++static void flacmetadata(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
+ {
+     decoder = decoder;
+ 
+@@ -156,11 +156,11 @@
+     }
+ }
+ 
+-static void flacerror(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
++static void flacerror(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
+ {
+     decoder = decoder;
+ 
+-    FLAC__FileDecoder *file_decoder = (FLAC__FileDecoder *)client_data;
++    FLAC__StreamDecoder *file_decoder = (FLAC__StreamDecoder *)client_data;
+ 
+     file_decoder = file_decoder;
+     status = status;
+@@ -262,17 +262,8 @@
+         }
+     }
+ 
+-    decoder = FLAC__seekable_stream_decoder_new();
+-    FLAC__seekable_stream_decoder_set_md5_checking(decoder, false);
+-    FLAC__seekable_stream_decoder_set_read_callback(decoder, flacread);
+-    FLAC__seekable_stream_decoder_set_seek_callback(decoder, flacseek);
+-    FLAC__seekable_stream_decoder_set_tell_callback(decoder, flactell);
+-    FLAC__seekable_stream_decoder_set_length_callback(decoder, flaclength);
+-    FLAC__seekable_stream_decoder_set_eof_callback(decoder, flaceof);
+-    FLAC__seekable_stream_decoder_set_write_callback(decoder, flacwrite);
+-    FLAC__seekable_stream_decoder_set_metadata_callback(decoder, flacmetadata);
+-    FLAC__seekable_stream_decoder_set_error_callback(decoder, flacerror);
+-    FLAC__seekable_stream_decoder_set_client_data(decoder, this);
++    decoder = FLAC__stream_decoder_new();
++    FLAC__stream_decoder_set_md5_checking(decoder, false);
+ 
+     freq = 0;
+     bitrate = 0;
+@@ -281,8 +272,17 @@
+     totalTime = 0; 
+     totalTime = totalTime < 0 ? 0 : totalTime;
+ 
+-    FLAC__seekable_stream_decoder_init(decoder);
+-    FLAC__seekable_stream_decoder_process_until_end_of_metadata(decoder);
++    FLAC__stream_decoder_init_stream(decoder,
++                                     flacread,
++                                     flacseek,
++                                     flactell,
++                                     flaclength,
++                                     flaceof,
++                                     flacwrite,
++                                     flacmetadata,
++                                     flacerror,
++                                     this);
++    FLAC__stream_decoder_process_until_end_of_metadata(decoder);
+ 
+     inited = TRUE;
+     return TRUE;
+@@ -295,8 +295,8 @@
+ 
+ void FlacDecoder::deinit()
+ {
+-    FLAC__seekable_stream_decoder_finish(decoder);
+-    FLAC__seekable_stream_decoder_delete(decoder);
++    FLAC__stream_decoder_finish(decoder);
++    FLAC__stream_decoder_delete(decoder);
+ 
+     if (input()->isOpen())
+         input()->close();
+@@ -330,7 +330,7 @@
+     }
+ 
+     bool flacok = true;
+-    FLAC__SeekableStreamDecoderState decoderstate;
++    FLAC__StreamDecoderState decoderstate;
+ 
+     while (! done && ! finish) {
+         lock();
+@@ -340,12 +340,12 @@
+             FLAC__uint64 sample = (FLAC__uint64)(seekTime * 44100.0);
+             if (sample > totalsamples - 50)
+                 sample = totalsamples - 50;
+-            FLAC__seekable_stream_decoder_seek_absolute(decoder, sample);
++            FLAC__stream_decoder_seek_absolute(decoder, sample);
+             seekTime = -1.0;
+         }
+ 
+-        flacok = FLAC__seekable_stream_decoder_process_single(decoder);
+-        decoderstate = FLAC__seekable_stream_decoder_get_state(decoder);
++        flacok = FLAC__stream_decoder_process_single(decoder);
++        decoderstate = FLAC__stream_decoder_get_state(decoder);
+ 
+         if (decoderstate == 0 || decoderstate == 1)
+         {
+--- flacdecoder.h.old	2007-03-11 18:14:37.000000000 -0400
++++ flacdecoder.h	2007-03-11 18:14:12.000000000 -0400
+@@ -35,7 +35,7 @@
+     char *output_buf;
+     ulong output_bytes, output_at;
+ 
+-    FLAC__SeekableStreamDecoder *decoder;
++    FLAC__StreamDecoder *decoder;
+ 
+     unsigned int bks;
+     bool done, finish;
+--- flacencoder.cpp.old	2007-03-11 18:14:37.000000000 -0400
++++ flacencoder.cpp	2007-03-11 18:14:12.000000000 -0400
+@@ -9,7 +9,7 @@
+ #include "flacencoder.h"
+ #include "metaioflacvorbiscomment.h"
+ 
+-#include <FLAC/file_encoder.h>
++#include <FLAC/stream_encoder.h>
+ #include <FLAC/assert.h>
+ #include <mythtv/mythcontext.h>
+ 
+@@ -29,32 +29,32 @@
+     int rice_parameter_search_dist = 0;
+     int max_lpc_order = 8;
+ 
+-    encoder = FLAC__file_encoder_new();
++    encoder = FLAC__stream_encoder_new();
+ 
+-    FLAC__file_encoder_set_streamable_subset(encoder, true);
+-    FLAC__file_encoder_set_do_mid_side_stereo(encoder, do_mid_side);
+-    FLAC__file_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side);
+-    FLAC__file_encoder_set_channels(encoder, NUM_CHANNELS);
+-    FLAC__file_encoder_set_bits_per_sample(encoder, 16);
+-    FLAC__file_encoder_set_sample_rate(encoder, 44100);
+-    FLAC__file_encoder_set_blocksize(encoder, blocksize);
+-    FLAC__file_encoder_set_max_lpc_order(encoder, max_lpc_order);
+-    FLAC__file_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision);
+-    FLAC__file_encoder_set_do_qlp_coeff_prec_search(encoder, false);
+-    FLAC__file_encoder_set_do_escape_coding(encoder, do_escape_coding);
+-    FLAC__file_encoder_set_do_exhaustive_model_search(encoder, 
++    FLAC__stream_encoder_set_streamable_subset(encoder, true);
++    FLAC__stream_encoder_set_do_mid_side_stereo(encoder, do_mid_side);
++    FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, loose_mid_side);
++    FLAC__stream_encoder_set_channels(encoder, NUM_CHANNELS);
++    FLAC__stream_encoder_set_bits_per_sample(encoder, 16);
++    FLAC__stream_encoder_set_sample_rate(encoder, 44100);
++    FLAC__stream_encoder_set_blocksize(encoder, blocksize);
++    FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order);
++    FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision);
++    FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, false);
++    FLAC__stream_encoder_set_do_escape_coding(encoder, do_escape_coding);
++    FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, 
+                                                     do_exhaustive_model_search);
+-    FLAC__file_encoder_set_min_residual_partition_order(encoder, 
++    FLAC__stream_encoder_set_min_residual_partition_order(encoder, 
+                                                   min_residual_partition_order);
+-    FLAC__file_encoder_set_max_residual_partition_order(encoder, 
++    FLAC__stream_encoder_set_max_residual_partition_order(encoder, 
+                                                   max_residual_partition_order);
+-    FLAC__file_encoder_set_rice_parameter_search_dist(encoder, 
++    FLAC__stream_encoder_set_rice_parameter_search_dist(encoder, 
+                                                     rice_parameter_search_dist);
+ 
+-    FLAC__file_encoder_set_filename(encoder, outfile.local8Bit());
++    
+ 
+-    int ret = FLAC__file_encoder_init(encoder);
+-    if (ret != FLAC__FILE_ENCODER_OK)
++    int ret = FLAC__stream_encoder_init_file(encoder, outfile.local8Bit(), NULL, NULL);
++    if (ret != FLAC__STREAM_ENCODER_OK)
+     {
+         VERBOSE(VB_GENERAL, QString("Error initializing FLAC encoder."
+                                     " Got return code: %1").arg(ret));
+@@ -70,8 +70,8 @@
+ 
+     if (encoder)
+     {
+-        FLAC__file_encoder_finish(encoder);
+-        FLAC__file_encoder_delete(encoder);
++        FLAC__stream_encoder_finish(encoder);
++        FLAC__stream_encoder_delete(encoder);
+     }
+ 
+     if (metadata)
+@@ -102,7 +102,7 @@
+ 
+         if(sampleindex == MAX_SAMPLES || (length == 0 && sampleindex > 0) ) 
+         {
+-            if (!FLAC__file_encoder_process(encoder,
++            if (!FLAC__stream_encoder_process(encoder,
+                                             (const FLAC__int32 * const *) input,
+                                             sampleindex))
+             {
+--- flacencoder.h.old	2007-03-11 18:14:37.000000000 -0400
++++ flacencoder.h	2007-03-11 18:14:12.000000000 -0400
+@@ -4,7 +4,7 @@
+ #include <qstring.h>
+ 
+ #define HAVE_INTTYPES_H
+-#include <FLAC/file_encoder.h>
++#include <FLAC/stream_encoder.h>
+ 
+ #include "encoder.h"
+ 
+@@ -21,7 +21,7 @@
+     int addSamples(int16_t *bytes, unsigned int len);
+ 
+   private:
+-    FLAC__FileEncoder *encoder;
++    FLAC__StreamEncoder *encoder;
+     unsigned int sampleindex;
+     FLAC__int32 inputin[NUM_CHANNELS][MAX_SAMPLES];
+     FLAC__int32 *input[NUM_CHANNELS];
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythnews/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythnews/PKGBUILD
new file mode 100644
index 0000000..ef46fd9
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythnews/PKGBUILD
@@ -0,0 +1,34 @@
+pkgname=mythnews-release-fixes
+pkgver=17719
+pkgrel=4
+pkgdesc="News checking plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+	PLUGIN=mythnews
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+			echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+				msg "appending program lib"
+			fi
+	make distclean
+   ./configure --disable-all --enable-mythnews
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db')
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythphone/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythphone/PKGBUILD
new file mode 100644
index 0000000..0311916
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythphone/PKGBUILD
@@ -0,0 +1,42 @@
+pkgname=mythphone-release-fixes
+pkgver=17719
+pkgrel=3
+pkgdesc="Plugin that allows phone calls to be made to MythTv"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+	make distclean
+	PLUGIN=mythphone
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+		echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+		msg  "appending program lib"
+	fi
+	
+	msg "Correcting configure    kde3 to kde"
+   	sed -i 's#kde3#kde#' configure || return 1
+   	./configure  --enable-opengl --disable-all --enable-mythphone || return 1
+	qmake mythplugins.pro || return 1
+	make qmake || return 1
+	
+	msg "Correcting Makefile    kde3 to kde"
+ 	sed -i 's#kde3#kde#' ./mythphone/mythphone/Makefile || return 1
+   	
+	make -j 2 || return 1
+	make INSTALL_ROOT=$startdir/pkg install
+}
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythsmolt/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythsmolt/PKGBUILD
new file mode 100644
index 0000000..021d270
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythsmolt/PKGBUILD
@@ -0,0 +1,27 @@
+pkgname=mythsmolt-release-fixes
+pkgver=0.21
+pkgrel=4
+pkgdesc="mythsmolt, a hardware profileing tool"
+arch=('i686' 'x86_64')
+url="http://www.mythvantage.com"
+license=('GPL')
+depends=("mythtv-release-fixes" urlgrabber hal)
+source=("http://www.mythvantage.com/request.php?4")
+
+groups=('mythtv-extras')
+
+build() {
+   cd $startdir/src/mythsmolt_src/mythsmolt
+   . /etc/profile.d/qt3.sh
+   
+   # use QT3 qmake
+   export PATH=$QTDIR/bin:$PATH
+   echo "INCLUDEPATH += /usr/local/include/mythtv" >> mythsmolt.pro.local 
+   qmake mythsmolt.pro.local
+   make qmake || return 1
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+
+
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythvideo/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythvideo/PKGBUILD
new file mode 100644
index 0000000..cdc8dea
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythvideo/PKGBUILD
@@ -0,0 +1,36 @@
+pkgname=mythvideo-release-fixes
+pkgver=17719
+pkgrel=2
+pkgdesc="Video playback and browsing plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes'  'perlxml' 'perl-libwww' 'perl-uri' 'perl-xml-simple' 'ffmpeg')
+license="GPL"
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+
+source=()
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+  	make distclean 
+	PLUGIN=mythvideo
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+			echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+				msg "appending program lib"
+			fi
+   ./configure  --disable-all --enable-mythvideo  --enable-transcode  
+
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db')
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythweather/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythweather/PKGBUILD
new file mode 100644
index 0000000..997f78a
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythweather/PKGBUILD
@@ -0,0 +1,37 @@
+pkgname=mythweather-release-fixes
+pkgver=17719
+pkgrel=6
+pkgdesc="Weather checking plugin for MythTV"
+url="http://www.mythtv.org"
+arch=('i686')
+depends=('mythtv-release-fixes' 'wget' 'perl-xml-sax' 'perl-soap-lite' 'perl-image-size'  'imagemagick')
+conflicts=('mythtv-plugins-release-fixes')
+groups=('mythtv-all-plugins-release-fixes')
+license="GPL"
+source=()
+#_svntrunk=http://cvs.mythtv.org/svn/trunk/mythplugins
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+
+build() {
+	cd $startdir/src/
+	echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ 	svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+	cd $startdir/src/mythplugins
+	make distclean
+	PLUGIN=mythweather
+	grep -q  programs-libs.pro  $PLUGIN/$PLUGIN/$PLUGIN.pro
+	if [ $? != 0 ]
+	then
+			echo "include ( ../../programs-libs.pro )" >> $PLUGIN/$PLUGIN/$PLUGIN.pro
+				msg "appending program lib"
+			fi
+   ./configure  --enable-opengl --disable-all --enable-mythweather
+ 
+   make -j 2 || return 1
+
+   make INSTALL_ROOT=$startdir/pkg install
+}
+md5sums=('2a9fbf45ae58a3a35857ce8d7c4d12db')
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythweb/PKGBUILD b/abs/mv-core/myth/release-fixes/plugins/mythweb/PKGBUILD
new file mode 100755
index 0000000..9bddf1c
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythweb/PKGBUILD
@@ -0,0 +1,34 @@
+pkgname=mythweb-release-fixes
+pkgver=17724
+pkgrel=21
+pkgdesc="mythweb" 
+url="http://www.mythtv.org" 
+license="GPL" 
+arch=('i686')
+depends=(php fcgi libmysqlclient ) 
+conflicts=('mythweb' 'mythweb-fixes') 
+replaces=() 
+backup=() 
+install='mythweb.install' 
+source=(mythweblighttpd.patch dblogininit.inc ) 
+md5sums=() 
+_svntrunk=http://svn.mythtv.org/svn/branches/release-0-21-fixes/mythplugins
+_svnmod=mythplugins
+build() { 
+echo svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+#svn co http://cvs.mythtv.org/svn/trunk/mythtv
+#svn co http://cvs.mythtv.org/svn/trunk/mythplugins
+#svn co http://cvs.mythtv.org/svn/trunk/myththemes
+cd $startdir/src/mythplugins
+
+#take care of fing mythweb
+mkdir -p $startdir/pkg/data/srv/httpd/htdocs/
+cp -rp mythweb $startdir/pkg/data/srv/httpd/htdocs/
+cp -f $startdir/src/dblogininit.inc $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes/
+cd  $startdir/pkg/data/srv/httpd/htdocs/mythweb/includes
+patch -p0 < $startdir/src/mythweblighttpd.patch
+
+chown -R nobody:nobody $startdir/pkg/data/srv/httpd/htdocs/mythweb
+chmod -R  775 $startdir/pkg/data/srv/httpd/htdocs/mythweb
+}
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythweb/dblogininit.inc b/abs/mv-core/myth/release-fixes/plugins/mythweb/dblogininit.inc
new file mode 100755
index 0000000..c5395c5
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythweb/dblogininit.inc
@@ -0,0 +1,6 @@
+<?
+ $_SERVER["db_server"] = "localhost";
+ $_SERVER["db_name"] = "mythconverg";
+ $_SERVER["db_login"] = "mythtv";
+ $_SERVER["db_password"] = "mythtv";
+?>
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweb.install b/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweb.install
new file mode 100755
index 0000000..e135b6c
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweb.install
@@ -0,0 +1,37 @@
+
+# arg 1:  the new package version
+pre_install () {
+/bin/true
+}
+
+post_install() {
+	#cp /etc/lighttpd/lighttpd.conf /tmp
+#	sed -e "s/# .*  \"mod_fastcgi\",/\"mod_fastcgi\"\,/g" /tmp/lighttpd.conf > /etc/lighttpd/lighttpd.conf
+ /bin/true
+
+}
+pre_upgrade () {
+ pre_install
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_upgrade() {
+  post_install
+
+  /bin/true
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+/bint/true
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweblighttpd.patch b/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweblighttpd.patch
new file mode 100755
index 0000000..6403a88
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/plugins/mythweb/mythweblighttpd.patch
@@ -0,0 +1,13 @@
+--- database.php.orig	2007-12-31 21:25:30.000000000 +0000
++++ database.php	2007-12-31 21:25:50.000000000 +0000
+@@ -18,6 +18,10 @@
+         custom_error("Please install the MySQL libraries for PHP.\n"
+                     .'The package is usually called something like php-mysql.');
+     }
++     if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) {
++	      require_once 'dblogininit.inc';
++	      }
++	
+ 
+ // No database connection info defined?
+     if (empty($_SERVER['db_server']) || empty($_SERVER['db_name']) || empty($_SERVER['db_login'])) {
diff --git a/abs/mv-core/myth/release-fixes/syth-lacquer-clean/PKGBUILD b/abs/mv-core/myth/release-fixes/syth-lacquer-clean/PKGBUILD
new file mode 100755
index 0000000..1f47a47
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/syth-lacquer-clean/PKGBUILD
@@ -0,0 +1,22 @@
+pkgname=syth-lacquer-clean-wide
+pkgver=1
+pkgrel=9
+pkgdesc=""
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+#source=($pkgname.tar.bz2)
+source=(http://jmeyer.us/e107_files/downloads/SVN/$pkgname.tar.bz2)
+
+md5sums=()
+
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/myth/release-fixes/syth-lacquer-wide/PKGBUILD b/abs/mv-core/myth/release-fixes/syth-lacquer-wide/PKGBUILD
new file mode 100755
index 0000000..e160f46
--- /dev/null
+++ b/abs/mv-core/myth/release-fixes/syth-lacquer-wide/PKGBUILD
@@ -0,0 +1,23 @@
+pkgname=syth-lacquer-wide
+pkgver=4
+pkgrel=1
+pkgdesc="Syth for mythtv .21"
+url=""
+license=""
+depends=()
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+arch='i686'
+
+source=(http://www.mythvantage.com/src/syth-lacquer-wide.tgz)
+
+md5sums=()
+
+build() {
+  cd $startdir/src
+  mkdir -p $startdir/pkg/usr/local/share/mythtv/themes
+  cp -rp $pkgname $startdir/pkg/usr/local/share/mythtv/themes/
+
+}
diff --git a/abs/mv-core/mythvantage-live/PKGBUILD b/abs/mv-core/mythvantage-live/PKGBUILD
new file mode 100644
index 0000000..6f3a02d
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/PKGBUILD
@@ -0,0 +1,30 @@
+pkgname=mythvantage-live
+pkgver=5.3.3
+pkgrel=7
+provides="linhes-live"
+pkgdesc="components for the Live System."
+
+depends=()
+arch=( i586 i686 x86_64 )
+license=('GPL')
+
+build() {
+    # setup the local environment:
+    local rDir=bin  eDir=etc  lDir=lib  sDir=session-save  oDir=opt/$pkgname
+    local srcDir=${startdir}/src   pkgDir=${startdir}/pkg
+    local insDir=${pkgDir}/$oDir   proDir=${pkgDir}/${eDir}/profile.d
+
+    mkdir -p $pkgDir $insDir $proDir
+    cp -dr ${startdir}/$eDir $pkgDir
+    local pthDir=
+    echo 'export PATH=${PATH}:'"/$oDir/$rDir" > ${proDir}/${pkgname}.sh
+    cp -dr ${startdir}/$lDir $pkgDir
+    cp -dr ${startdir}/$rDir $insDir
+    [ -d ${startdir}/$sDir ] && cp -dr ${startdir}/$sDir $insDir
+    chown -R root.root $pkgDir
+    return 0
+}
+
+# End
+#change hook1 to wait for usb cdroms
+#removed the word cdrom from sysinit
\ No newline at end of file
diff --git a/abs/mv-core/mythvantage-live/bin/gen_fstab b/abs/mv-core/mythvantage-live/bin/gen_fstab
new file mode 100755
index 0000000..db36546
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/bin/gen_fstab
@@ -0,0 +1,122 @@
+#! /bin/sh
+#
+# gen_fstab  - make new fstab for larch live system based on detected devices
+#
+# Author: Michael Towers <gradgrind[at]online[dot]de>
+#
+# This file is part of the larch project.
+#
+#    larch is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    larch is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with larch; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+#----------------------------------------------------------------------------
+# 2007.12.17
+
+# Note that the results are, by default, not copied into place
+# They end up here:
+DEST="/tmp/fstab"
+MNT="/tmp/mnt"
+
+# However, passing '-l' as command-line option will install them.
+# The old fstab will then be backed up to fstab~.
+LOAD=""
+if [ "$1" = "-l" ]; then LOAD="-l"; fi
+
+if [ -n "$( df | grep " ${MNT}" )" ]; then
+    echo "ERROR: Mounted filesystem at/within ${MNT}"
+    exit 1
+fi
+mkdir -p ${MNT}
+rm -rf ${MNT}/*
+
+tmpfile="/tmp/fstab2"
+: >${tmpfile}
+
+echo "# fstab generated by gen_fstab" >${DEST}
+echo "#<file system>   <dir>         <type>      <options>    <dump> <pass>" >>${DEST}
+echo >>${DEST}
+
+echo "none            /dev/pts      devpts      defaults        0     0" >>${DEST}
+echo "none            /dev/shm      tmpfs       defaults        0     0" >>${DEST}
+echo >>${DEST}
+
+# Get all other partitions
+sfdisk -d | grep "^/dev/" | sed "s|\(.*\):.*Id=\(..\).*|\1 \2|" | \
+    while read dev id; do
+        # Ignore if id is "Extended" or "LVM", these are not usable partitions
+        if [ "${id}" = "5" -o "${id}" = "8e" ]; then continue; fi
+        # See if swap
+        if [ "${id}" = "82" ]; then
+            printf "%-12s %-12s %-8s defaults,noatime 0     0\n" \
+                ${dev} swap swap >>${DEST}
+            continue
+        fi
+        removable=""
+        part=$( basename ${dev} )
+        if [ $( cat /sys/block/${part:0:3}/removable 2>/dev/null ) -ne 0 ]; then
+            removable="_rmv"
+        fi
+        mountdir=${part}${removable}
+        printf "%-12s %-12s %-8s user,noauto,noatime 0     0\n" \
+                ${dev} /mnt/${mountdir} auto >>${tmpfile}
+        mkdir -p ${MNT}/${mountdir}
+    done
+
+# LVM
+for lvmd in $( ls /dev/mapper 2>/dev/null | grep -v control ); do
+    printf "%-30s %-22s %-8s user,noauto,noatime 0     0\n" \
+           /dev/mapper/${lvmd} /mnt/${lvmd} auto >>${tmpfile}
+    mkdir -p ${MNT}/${lvmd}
+done
+
+echo >>${DEST}
+cat ${tmpfile} >>${DEST}
+rm ${tmpfile}
+echo >>${DEST}
+
+# CD devices
+for dev in $( cat /proc/sys/dev/cdrom/info 2>/dev/null | head -n 3 | \
+        tail -n 1 | cut -d ":" -f 2 ); do
+    mountdir="${dev}_cd"
+    mkdir ${MNT}/${mountdir}
+    printf "%-12s %-12s %-8s user,noauto,exec,unhide 0     0\n" \
+            /dev/${dev} /mnt/${mountdir} auto >>${DEST}
+done
+
+echo >>${DEST}
+echo "# This would do for a floppy" >>${DEST}
+echo "#/dev/fd0        /mnt/floppy    vfat,ext2 rw,user,noauto    0     0" >>${DEST}
+echo "#    +   mkdir /mnt/floppy" >>${DEST}
+echo >>${DEST}
+echo "# E.g. for USB storage:" >>${DEST}
+echo "#/dev/sdb1        /mnt/usb      auto      rw,user,noauto   0     0" >>${DEST}
+echo "#    +   mkdir /mnt/usb" >>${DEST}
+
+if [ -n "${LOAD}" ]; then
+    # test if the script is started by root user. If not, exit
+    if [ $UID -ne 0 ]; then
+        echo "Only root can run ${APP}"; exit 1
+    fi
+
+    cp -b ${DEST} /etc/fstab
+    # Delete removeable mount points which are not currently mounted
+    for m in $( ls /mnt | grep ^[hs]d ); do
+        if [ -z "$( df | grep " /mnt/${m}$" )" ]; then
+            rmdir /mnt/${m}
+        fi
+    done
+    for m in $( ls ${MNT} ); do
+        mkdir -p /mnt/${m}
+    done
+fi
diff --git a/abs/mv-core/mythvantage-live/bin/km b/abs/mv-core/mythvantage-live/bin/km
new file mode 100755
index 0000000..386d966
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/bin/km
@@ -0,0 +1,76 @@
+#!/bin/sh
+# $Id: km,v 1.2 2005/12/13 04:14:53 judd Exp $
+# Modified by gradgrind to deal only with i386 keymaps
+#     and BASEDIR changed
+#  - also saves results to /etc/rc.conf
+
+# test if the script is started by root user. If not, exit
+if [ $UID -ne 0 ]; then
+    echo "This should be run as root"; exit 1
+fi
+
+ANSWER="/tmp/.km"
+BASEDIR="/usr/share/kbd"
+
+domenu()
+{
+	menutype=$1 ; shift
+	text=$1     ; shift
+	height=$1   ; shift
+	width=$1    ; shift
+	mheight=$1  ; shift
+	
+	dialog --cancel-label "Skip" --$menutype "$text" $height $width $mheight $*
+}
+
+if [ ! -d $BASEDIR/keymaps ]; then
+	echo "Cannot load keymaps, as none were found in $BASEDIR/keymaps" >&2
+	exit 1
+else
+	echo "Scanning for keymaps..."
+	KEYMAPS=
+	for t in qwerty qwertz azerty dvorak; do
+	    for i in `find $BASEDIR/keymaps/i386/$t -follow -name "*.gz"`; do
+		fn=`echo $i | sed "s|$BASEDIR/keymaps/i386/||"`
+		KEYMAPS="$KEYMAPS $fn -"
+	    done
+	done
+	domenu menu "Select A Keymap" 22 60 16 $KEYMAPS 2>$ANSWER
+	keymap=`cat $ANSWER`
+fi
+
+if [ ! -d $BASEDIR/consolefonts ]; then
+	echo "Cannot load consolefonts, as none were found in $BASEDIR/consolefonts" >&2
+else
+	echo "Scanning for fonts..."
+	FONTS=
+	for i in `find $BASEDIR/consolefonts -follow -name "*.gz"`; do
+		fn=`echo $i | sed "s|$BASEDIR/consolefonts/||"`
+		FONTS="$FONTS $fn -"
+	done
+	domenu menu "Select A Console Font" 22 60 16 $FONTS 2>$ANSWER
+	font=`cat $ANSWER`
+fi
+
+if [ "$keymap" ]; then
+	echo "Loading keymap: $keymap"
+	loadkeys -q $BASEDIR/keymaps/i386/$keymap
+	sed -i "s|^KEYMAP=.*|KEYMAP=\"$( echo $keymap | \
+	       cut -d'.' -f1 )\"|" /etc/rc.conf
+fi
+
+if [ "$font" ]; then
+	echo "Loading font: $font"
+	for i in `seq 1 4`; do
+		if [ -d /dev/vc ]; then
+			setfont $BASEDIR/consolefonts/$font -C /dev/vc/${i}
+		else
+			setfont $BASEDIR/consolefonts/$font -C /dev/tty${i}
+		fi
+	done
+	sed -i "s|^CONSOLEFONT=.*|CONSOLEFONT=\"$( echo $font | \
+	       cut -d'.' -f1 )\"|" /etc/rc.conf
+fi
+
+exit 0
+
diff --git a/abs/mv-core/mythvantage-live/etc/live-shutdown b/abs/mv-core/mythvantage-live/etc/live-shutdown
new file mode 100644
index 0000000..99c4c10
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/live-shutdown
@@ -0,0 +1,50 @@
+# Functions used by rc.shutdown
+# Modified versions for mythvantage live systems
+
+f_saveclock ()
+{
+    :
+}
+
+f_swapoff ()
+{
+    ############################# Include session saving functions
+    . /opt/mythvantage-live/session-save/shutdown2
+    if [ -f /tmp/checkse ]; then
+        . /tmp/checkse
+    else
+        checkse
+    fi
+
+    if [ -n "${saving}" ] && ! session_save; then
+        echo
+        echo "If you know what you are doing, you may be able to recover"
+        echo "something from this unpleasant situation."
+        echo
+        echo "You may use the command line to investigate further ..."
+        echo
+        echo "When finished please enter 'exit', the shutdown process will"
+        echo "then continue."
+        sh -i
+    fi
+
+    #############################
+
+    stat_busy "Deactivating Swap"
+    /sbin/swapoff -a
+    stat_done
+}
+
+f_remountro ()
+{
+    if [ -n "${ejectdev}" ]; then
+        echo "Ejecting live CD"
+        eject ${ejectdev}
+        echo "========================================"
+        echo "It's safe to switch the computer off now"
+        echo -ne "Press Enter to continue"
+        read junk
+    fi
+}
+
+# End
diff --git a/abs/mv-core/mythvantage-live/etc/live-sysinit b/abs/mv-core/mythvantage-live/etc/live-sysinit
new file mode 100644
index 0000000..8e2813b
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/live-sysinit
@@ -0,0 +1,54 @@
+# Functions used by rc.sysinit
+# Modified versions for mythvantage live systems
+
+f_header ()
+{
+    cR='\e[31m' cY='\e[1;33m'  cN='\e[0m'  cW='\e[1;37m'
+    echo " "
+    printsep
+    printf "   ${cR}MythVantage ${cY}Installation${cN}/${cY}Live${cW}. "
+    printsep
+    echo " "
+}
+
+f_fscheck ()
+{
+    stat_busy "Initializing /etc/mtab"
+    #/bin/mount -n -o remount,rw /
+
+    /bin/rm -f /etc/mtab*
+
+    # Make entries for aufs/unionfs, tmpfs and live medium in /etc/mtab
+    grep "^aufs */ " /proc/mounts >>/etc/mtab
+    grep "^unionfs */ " /proc/mounts >>/etc/mtab
+    grep "^tmpfs */.livesys " /proc/mounts >>/etc/mtab
+    if [ -d /.livesys/medium/live ]; then
+        grep " /.livesys/medium " /proc/mounts >>/etc/mtab
+    fi
+
+    f_mountlocal
+    stat_done
+
+    if [ -z "$( cat /etc/fstab | grep "^#KEEP" )" ]; then
+        stat_busy "Generating fresh /etc/fstab"
+        /opt/mythvantage-live/bin/gen_fstab -l
+        stat_done
+    fi
+
+    # now mount all the local filesystems
+    stat_busy "Mounting Local Filesystems"
+    /bin/mount -a -t $NETFS
+    stat_done
+}
+
+f_swapon ()
+{
+    #+*** Copy session-save flag-file (if it exists)
+    [ -f /live/nosave ] && cp /live/nosave /.livesys
+    #-***
+
+    #*** Conditional swap activation
+    if [ -e /.livesys/swapon ]; then
+        status "Activating Swap" /sbin/swapon -a
+    fi
+}
diff --git a/abs/mv-core/mythvantage-live/etc/loginroot b/abs/mv-core/mythvantage-live/etc/loginroot
new file mode 100755
index 0000000..e3153c6
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/loginroot
@@ -0,0 +1,3 @@
+#! /bin/sh
+login -f root
+# End
diff --git a/abs/mv-core/mythvantage-live/etc/rc.shutdown-live b/abs/mv-core/mythvantage-live/etc/rc.shutdown-live
new file mode 100755
index 0000000..bba263c
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/rc.shutdown-live
@@ -0,0 +1,167 @@
+#!/bin/bash
+#
+# /etc/rc.shutdown
+#
+
+###
+# Based on initscripts 2008.05-1
+###
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+###############################################################
+### These functions have been separated out, so that they can be
+### replaced in mythvantage live systems.
+
+f_saveclock ()
+{
+    stat_busy "Saving System Clock"
+    if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
+        /bin/rm -f /etc/localtime
+        /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
+    fi
+
+    HWCLOCK_PARAMS="--systohc"
+    if [ "$HARDWARECLOCK" = "UTC" ]; then
+        HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
+    else
+        HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
+    fi
+    if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
+        HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
+    fi
+    /sbin/hwclock $HWCLOCK_PARAMS
+    stat_done
+}
+
+f_swapoff ()
+{
+    stat_busy "Deactivating Swap"
+    /sbin/swapoff -a
+    stat_done
+}
+
+f_remountro ()
+{
+    stat_busy "Remounting Root Filesystem Read-only"
+    /bin/mount -n -o remount,ro /
+    stat_done
+}
+
+###############################################################
+
+### Override above functions if running mythvantage live system
+[ -f /etc/live-shutdown ] && . /etc/live-shutdown
+
+# avoid staircase effect
+/bin/stty onlcr
+
+echo " "
+printhl "Initiating Shutdown..."
+echo " "
+
+# avoid NIS hanging syslog-ng on shutdown by unsetting the domainname
+if [ -x /bin/domainname ]; then
+    /bin/domainname ""
+fi
+
+if [ -x /etc/rc.local.shutdown ]; then
+    /etc/rc.local.shutdown
+fi
+
+if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then
+    # Shutdown daemons
+    let i=${#DAEMONS[@]}
+    while [ $i -ge 0 ]; do
+        if [ "${DAEMONS[$i]:0:1}" != '!' ]; then
+            ck_daemon ${DAEMONS[$i]#@} || /etc/rc.d/${DAEMONS[$i]#@} stop
+        fi
+        let i=i-1
+    done
+    # find any leftover daemons and shut them down in reverse order
+    if [ -d /var/run/daemons ]; then
+        for daemon in $(/bin/ls -1t /var/run/daemons); do
+            /etc/rc.d/$daemon stop
+        done
+    fi
+fi
+
+# Terminate all processes
+stat_busy "Sending SIGTERM To Processes"
+/sbin/killall5 -15 &> /dev/null
+/bin/sleep 5
+stat_done
+
+stat_busy "Sending SIGKILL To Processes"
+/sbin/killall5 -9 &> /dev/null
+/bin/sleep 1
+stat_done
+
+stat_busy "Saving Random Seed"
+/bin/dd if=/dev/urandom of=/var/run/random-seed count=1 bs=512 2> /dev/null
+stat_done
+
+#F Save system time
+f_saveclock
+
+# removing psmouse module to fix some reboot issues on newer laptops
+/sbin/modprobe -r psmouse >/dev/null 2>&1
+
+# Write to wtmp file before unmounting
+/sbin/halt -w
+
+#F Deactivate swaps
+f_swapoff
+
+stat_busy "Unmounting Filesystems"
+/bin/umount -a -t noramfs,notmpfs,nosysfs,noproc
+stat_done
+
+# Kill non-root encrypted partition mappings
+if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then
+    stat_busy "Deactivating encrypted volumes:"
+    CS=/sbin/cryptsetup.static
+    do_uncrypt() {
+        if [ $# -ge 3 ]; then
+            stat_append "${1}.."
+            $CS remove $1 >/dev/null 2>&1
+            if [ $? -ne 0 ]; then
+                stat_append "failed "
+            else
+                stat_append "ok "
+            fi
+        fi
+    }
+    while read line; do
+        eval do_uncrypt "$line"
+    done </etc/crypttab
+    stat_done
+fi
+
+if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
+    if [ -x /sbin/lvm -a -d /sys/block ]; then
+        stat_busy "Deactivating LVM2 groups"
+        /sbin/lvm vgchange --ignorelockingfailure -an >/dev/null 2>&1
+        stat_done
+    fi
+fi
+
+#F Remount / ro
+f_remountro
+
+# Power off or reboot
+if [ "$RUNLEVEL" = "0" ]; then
+    printsep
+    printhl "${C_H2}POWER OFF"
+    /sbin/poweroff -d -f -h -i
+else
+    printsep
+    printhl "${C_H2}REBOOTING"
+    # if kexec is installed and a kernel is loaded, use it
+    [ -x /sbin/kexec ] && /sbin/kexec -e > /dev/null 2>&1
+    /sbin/reboot -d -f -i
+fi
+
+# vim: set ts=2 sw=2 noet:
+# End
diff --git a/abs/mv-core/mythvantage-live/etc/rc.sysinit-live b/abs/mv-core/mythvantage-live/etc/rc.sysinit-live
new file mode 100755
index 0000000..3f72a50
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/rc.sysinit-live
@@ -0,0 +1,466 @@
+#!/bin/bash
+#
+# /etc/rc.sysinit
+#
+
+###
+# Based on initscripts 2008.05-1
+###
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+###############################################################
+### These functions have been separated out, so that they can be
+### replaced in linhes live systems.
+
+f_header ()
+{
+    echo " "
+    printhl "Arch Linux $C_OTHER(${C_H2}Core Dump$C_OTHER)\n"
+    printhl "${C_H2}http://www.archlinux.org"
+    printhl "Copyright 2002-2007 Judd Vinet"
+    printhl "Copyright 2007-2008 Aaron Griffin"
+    printhl "Distributed under the GNU General Public License (GPL)"
+    printsep
+}
+
+f_fscheck ()
+{
+    status "Mounting Root Read-only" /bin/mount -n -o remount,ro /
+
+    if [ -x /sbin/fsck ]; then
+        stat_busy "Checking Filesystems"
+        if /bin/grep -qw quiet /proc/cmdline; then
+            /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >/dev/null 2>&1
+        else
+            /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK 2>/dev/null
+        fi
+        fsckret=$?
+        if [ ${fsckret} -gt 1 ]; then
+            stat_fail
+            if [ $((${fsckret}&2)) -eq 2 ]; then
+                echo
+                echo "********************** REBOOT REQUIRED *********************"
+                echo "*                                                          *"
+                echo "* The system will be rebooted automatically in 15 seconds. *"
+                echo "*                                                          *"
+                echo "************************************************************"
+                echo
+                /bin/sleep 15
+            else
+                echo
+                echo "*****************  FILESYSTEM CHECK FAILED  ****************"
+                echo "*                                                          *"
+                echo "*  Please repair manually and reboot. Note that the root   *"
+                echo "*  file system is currently mounted read-only. To remount  *"
+                echo "*  it read-write type: mount -n -o remount,rw /            *"
+                echo "*  When you exit the maintenance shell the system will     *"
+                echo "*  reboot automatically.                                   *"
+                echo "*                                                          *"
+                echo "************************************************************"
+                echo
+                /sbin/sulogin -p
+            fi
+            echo "Automatic reboot in progress..."
+            /bin/umount -a
+            /bin/mount -n -o remount,ro /
+            /sbin/reboot -f
+            exit 0
+        fi
+        stat_done
+    fi
+
+    stat_busy "Mounting Local Filesystems"
+    /bin/mount -n -o remount,rw /
+    /bin/rm -f /etc/mtab*
+    # make sure / gets written to /etc/mtab
+    /bin/mount -o remount,rw /
+
+    f_mountlocal
+    stat_done
+}
+
+f_mountlocal ()
+{
+    # Write /proc, /sys and /dev to /etc/mtab
+    if [ -e /proc/mounts ]; then
+        /bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
+    fi
+    # now mount all the local filesystems
+    /bin/mount -a -t $NETFS
+}
+
+f_swapon ()
+{
+    status "Activating Swap" /sbin/swapon -a
+}
+
+###############################################################
+
+### Override above functions if running linhes live system
+[ -f /etc/live-sysinit ] && . /etc/live-sysinit
+
+#F Print header
+f_header
+
+# mount /proc, /sys and our RAM /dev
+/bin/mount -n -t ramfs none /dev
+/bin/mount -n -t proc none /proc
+/bin/mount -n -t sysfs none /sys
+
+# Create our default nodes that minilogd may need
+/bin/mknod /dev/null c 1 3
+/bin/mknod /dev/zero c 1 5
+/bin/mknod /dev/console c 5 1
+
+# More initial /dev setup that udev doesn't do
+/bin/ln -snf /proc/self/fd /dev/fd
+/bin/ln -snf /proc/self/fd/0 /dev/stdin
+/bin/ln -snf /proc/self/fd/1 /dev/stdout
+/bin/ln -snf /proc/self/fd/2 /dev/stderr
+/bin/ln -snf /proc/kcore /dev/core
+/bin/mkdir /dev/pts
+/bin/mkdir /dev/shm
+
+# start up our mini logger until syslog takes over
+/sbin/minilogd
+
+# anything more serious than KERN_WARNING goes to the console
+# 'verbose' cmdline parameter enables more messages
+if /bin/grep -q " verbose" /proc/cmdline; then
+    /bin/dmesg -n 8
+else
+    /bin/dmesg -n 3
+fi
+
+# enable rtc access
+/sbin/modprobe rtc-cmos >/dev/null 2>&1
+RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null); RTC_MAJOR="${RTC_MAJOR%% *}"
+if [ -n "$RTC_MAJOR" ]; then
+    /bin/mkdir /dev/misc/
+    /bin/mknod /dev/misc/rtc0 c $RTC_MAJOR 0
+    /bin/ln -s /dev/misc/rtc0 /dev/rtc
+fi
+
+HWCLOCK_PARAMS="--hctosys"
+if [ "$HARDWARECLOCK" = "UTC" ]; then
+    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
+else
+    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
+fi
+if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
+    HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
+fi
+
+# Set clock early to fix some bugs with filesystem checks
+# Clock is set again later to match rc.conf
+if [ -f /etc/localtime ]; then
+    /sbin/hwclock $HWCLOCK_PARAMS --noadjfile
+fi
+
+echo > /proc/sys/kernel/hotplug
+
+if [ -x /sbin/udevadm -a -d /sys/block ]; then
+    # We have udev and /sys appears to be mounted, use UDev
+    #status "Starting UDev Daemon" /etc/start_udev init
+
+    stat_busy "Starting UDev Daemon"
+    /sbin/udevd --daemon
+    stat_done
+else
+    # Static /dev, our last resort
+    status "Using static /dev filesystem" true
+fi
+
+# Load modules from the MODULES array defined in rc.conf
+if ! [ "$load_modules" = "off" ]; then
+    if [ -f /proc/modules ]; then
+        stat_busy "Loading Modules"
+        for mod in "${MODULES[@]}"; do
+            if [ "$mod" = "${mod#!}" ]; then
+                /sbin/modprobe $mod
+            fi
+        done
+        stat_done
+    fi
+    if [ -d /proc/acpi ]; then
+        stat_busy "Loading standard ACPI modules"
+        ACPI_MODULES="ac battery button fan processor thermal"
+        k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
+        j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
+        #add disabled MODULES (!) to blacklist - much requested feature
+        for m in ${j}; do
+                [ "$m" != "${m#!}" ] && k="${k} ${m#!}"
+        done
+        # add disablemodules= from commandline to blacklist
+        k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
+        for n in ${ACPI_MODULES}; do
+            if ! echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then
+                /sbin/modprobe $n > /dev/null 2>&1
+            fi
+        done
+        stat_done
+    fi
+fi
+
+# run udev uevents
+if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
+    #status "Loading UDev uevents" /etc/start_udev uevents
+    stat_busy "Loading UDev uevents"
+    udevstart="$(/bin/date +%s%0N)"
+    /sbin/udevadm trigger
+    /sbin/udevadm settle
+    stat_done
+    udevend="$(/bin/date +%s%0N)"
+    printhl "   UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms"
+fi
+
+# bring up the loopback interface
+if [ -d /sys/class/net/lo ]; then
+    stat_busy "Bringing up loopback interface"
+    /sbin/ifconfig lo 127.0.0.1 up
+    if [ $? -ne 0 ]; then
+        stat_fail
+    else
+        stat_done
+    fi
+fi
+
+# If necessary, find md devices and manually assemble RAID arrays
+if [ -f /etc/mdadm.conf -a "$(/bin/grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then
+    # udev won't create these md nodes, so we do it ourselves
+    for dev in $(/bin/grep ^ARRAY /etc/mdadm.conf | /bin/awk '{print $2}'); do
+        path=$(echo $dev | /bin/sed 's|/[^/]*$||')
+        node=$(echo $dev | /bin/sed "s|^$path/||")
+        minor=$(echo $node | /bin/sed 's|^[^0-9]*||')
+        [ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor
+    done
+    status "Activating RAID arrays" /sbin/mdadm --assemble --scan
+fi
+
+if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
+    if [ -x /sbin/lvm -a -d /sys/block ]; then
+        # Kernel 2.6.x, LVM2 groups
+        /sbin/modprobe -q dm-mod 2>/dev/null
+        stat_busy "Activating LVM2 groups"
+        /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
+        /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
+        if [ $? -ne 0 ]; then
+            stat_fail
+        else
+            stat_done
+        fi
+    fi
+fi
+
+# Set up non-root encrypted partition mappings
+if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then
+    /sbin/modprobe -q dm-mod 2>/dev/null
+    stat_busy "Unlocking encrypted volumes:"
+    csfailed=0
+    CS=/sbin/cryptsetup.static
+    do_crypt() {
+        if [ $# -ge 3 ]; then
+            cname="$1"
+            csrc="$2"
+            cpass="$3"
+            shift 3
+            copts="$*"
+            stat_append "${cname}.."
+            # For some fun reason, the parameter ordering varies for
+            # LUKS and non-LUKS devices.  Joy.
+            if [ "${cpass}" = "SWAP" ]; then
+                # This is DANGEROUS! The only possible safety check
+                # is to not proceed in case we find a LUKS device
+                # This may cause dataloss if it is not used carefully
+                if $CS isLuks $csrc 2>/dev/null; then
+                    false
+                else
+                    $CS -d /dev/urandom $copts create $cname $csrc >/dev/null
+                    if [ $? -eq 0 ]; then
+                        stat_append "creating swapspace.."
+                        /sbin/mkswap -L $cname /dev/mapper/$cname >/dev/null
+                    fi
+                fi
+            elif [ "${cpass}" = "ASK" ]; then
+                printf "\nOpening '${cname}' volume:\n"
+
+                if $CS isLuks $csrc 2>/dev/null; then
+                    $CS $copts luksOpen $csrc $cname < /dev/console
+                else
+                    $CS $copts create $cname $csrc < /dev/console
+                fi
+            elif [ "${cpass:0:1}" != "/" ]; then
+                if $CS isLuks $csrc 2>/dev/null; then
+                    echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null
+                else
+                    echo "$cpass" | $CS $copts create $cname $csrc >/dev/null
+                fi
+            else
+                if $CS isLuks $csrc 2>/dev/null; then
+                    $CS -d $cpass $copts luksOpen $csrc $cname >/dev/null
+                else
+                    $CS -d $cpass $copts create $cname $csrc >/dev/null
+                fi
+            fi
+            if [ $? -ne 0 ]; then
+                csfailed=1
+                stat_append "failed "
+            else
+                stat_append "ok "
+            fi
+        fi
+    }
+    while read line; do
+        eval do_crypt "$line"
+    done </etc/crypttab
+    if [ $csfailed -eq 0 ]; then
+        stat_done
+    else
+        stat_fail
+    fi
+    # Maybe someone has LVM on an encrypted block device
+    if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then
+        if [ -x /sbin/lvm -a -d /sys/block ]; then
+            /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null
+            /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null
+        fi
+    fi
+fi
+
+FORCEFSCK=
+[ -f /forcefsck ] && FORCEFSCK="-- -f"
+NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"
+
+#F Check filesystems
+f_fscheck
+
+#F Activate swaps
+f_swapon
+
+stat_busy "Configuring System Clock"
+if [ ! -f /var/lib/hwclock/adjtime ]; then
+    echo "0.0 0 0.0" > /var/lib/hwclock/adjtime
+fi
+if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then
+    /bin/rm -f /etc/localtime
+    /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime
+fi
+
+/sbin/hwclock $HWCLOCK_PARAMS
+stat_done
+
+if [ -f /var/run/random-seed ]; then
+    stat_busy "Initializing Random Seed"
+    /bin/cat /var/run/random-seed >/dev/urandom
+    stat_done
+fi
+
+stat_busy "Removing Leftover Files"
+/bin/rm -f /etc/nologin &>/dev/null
+/bin/rm -f /etc/shutdownpid &>/dev/null
+/bin/rm -f /var/lock/* &>/dev/null
+/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
+/bin/rm -f /forcefsck &>/dev/null
+(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; )
+: > /var/run/utmp
+# Keep {x,k,g}dm happy with xorg
+/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
+/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
+stat_done
+
+#status "Updating Shared Library Links" /sbin/ldconfig
+
+if [ "$HOSTNAME" != "" ]; then
+    status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME
+fi
+
+# Set the NIS domain name, if necessary
+[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname
+if [ "$NISDOMAINNAME" != "" ]; then
+    status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME
+fi
+
+status "Updating Module Dependencies" /sbin/depmod -A
+
+# Flush old locale settings
+: >/etc/profile.d/locale.sh
+/bin/chmod 755 /etc/profile.d/locale.sh
+# Set user defined locale
+[ -z "$LOCALE" ] && LOCALE="en_US"
+stat_busy "Setting Locale: $LOCALE"
+echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
+stat_done
+
+if echo "$LOCALE" | /bin/grep -qi utf ; then
+    stat_busy "Setting Consoles to UTF-8 mode"
+    # UTF-8 consoles are default since 2.6.24 kernel
+    # this code is needed not only for older kernels,
+    # but also when user has set vt.default_utf8=0 but LOCALE is *.UTF-8.
+    /usr/bin/kbd_mode -u
+    for i in $(/usr/bin/seq 0 63); do
+        printf "\e%%G" > /dev/vc/${i}
+    done
+    # the $CONSOLE check helps us avoid this when running scripts from cron
+    echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e%%G"; fi' >>/etc/profile.d/locale.sh
+    stat_done
+    [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q -u $KEYMAP
+else
+    stat_busy "Setting Consoles to legacy mode"
+    # make non-UTF-8 consoles work on 2.6.24 and newer kernels
+    /usr/bin/kbd_mode -a
+    for i in $(/usr/bin/seq 0 63); do
+        printf "\e%%@" > /dev/vc/${i}
+    done
+    # the $CONSOLE check helps us avoid this when running scripts from cron
+    echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e%%@"; fi' >>/etc/profile.d/locale.sh
+    stat_done
+    [ -n "$KEYMAP" ] && status "Loading Keyboard Map: $KEYMAP" /bin/loadkeys -q $KEYMAP
+fi
+
+if [ -n "$CONSOLEFONT" ]; then
+    stat_busy "Loading Console Font: $CONSOLEFONT"
+    #CONSOLEMAP in UTF-8 shouldn't be used
+    if [ -n "$CONSOLEMAP" ] && echo "$LOCALE" | /bin/grep -qi utf ; then
+        CONSOLEMAP=""
+    fi
+    for i in $(/usr/bin/seq 0 63); do
+        if [ -n "$CONSOLEMAP" ]; then
+            /usr/bin/setfont -m $CONSOLEMAP $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
+        else
+            /usr/bin/setfont $CONSOLEFONT -C /dev/vc/${i} >/dev/null 2>&1
+        fi
+    done
+    if [ $? -ne 0 ]; then
+        stat_fail
+    else
+        for i in $(/usr/bin/seq 0 63); do
+            printf "\e(K" > /dev/vc/${i}
+        done
+        # the $CONSOLE check helps us avoid this when running scripts from cron
+        echo 'if [ "$CONSOLE" = "" -a "$TERM" = "linux" -a -t 1 ]; then printf "\e(K"; fi' >>/etc/profile.d/locale.sh
+        stat_done
+    fi
+fi
+
+# Adding persistent network/cdrom generated rules
+if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then
+    stat_busy "Adding persistent cdrom udev rules"
+    /bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules
+    stat_done
+fi
+if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then
+    stat_busy "Adding persistent network udev rules"
+    /bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules
+    stat_done
+fi
+
+# Save our dmesg output from this boot
+if [ -f /var/log/dmesg.log ]; then
+    /bin/rm /var/log/dmesg.log
+fi
+/bin/dmesg > /var/log/dmesg.log
+
+# vim: set ts=2 noet:
+# End
diff --git a/abs/mv-core/mythvantage-live/etc/ulogin b/abs/mv-core/mythvantage-live/etc/ulogin
new file mode 100755
index 0000000..085c431
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/etc/ulogin
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# ulogin  - A script for autologin of a selected user (and more)
+#-----------------------------------------------------------------
+# 2008.04.06
+
+user=$( cat /tmp/newuser 2>/dev/null )
+
+rm -f /tmp/newuser
+rm -f /tmp/xlogout
+
+if [ -n "${user}" ]; then
+    login -f ${user}
+else
+    # offer choice of user
+    ulist="$( cat /etc/passwd | grep ':/home/.*sh$' )"
+    echo -e "\nLogin a user or quit:"
+    echo "   0 : root"
+    echo "   1 : REBOOT"
+    echo "   2 : HALT"
+
+    i=2
+    for entry in ${ulist}; do
+        i=$(( ${i} + 1 ))
+        user="$( echo ${entry} | cut -d':' -f1 )"
+        users[${i}]=${user}
+        printf "%4d : %s\n" ${i} ${user}
+    done
+    while true; do
+        read -p "Enter a number from 0 to ${i} : " n
+        if [ "${n}" = 0 ]; then
+            login -f root
+        elif [ "${n}" = 1 ]; then
+            exec reboot
+        elif [ "${n}" = 2 ]; then
+            exec halt
+        elif [ -n "$( echo "${n}" | grep "^[0-9]\+$" )" ] && \
+                [ -n "${users[${n}]}" ]; then
+            login -f ${users[${n}]}
+        else
+            echo "  *** Invalid choice ..."
+            continue
+        fi
+        break
+    done
+fi
+
+if grep "r" /tmp/xlogout &>/dev/null; then
+    reboot
+elif grep "h" /tmp/xlogout &>/dev/null; then
+    halt
+fi
+
+# This file is only needed for shutting down
+rm -f /tmp/checkse
+
+# End
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/gen_larch_init b/abs/mv-core/mythvantage-live/lib/initcpio/gen_larch_init
new file mode 100755
index 0000000..d834e8f
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/gen_larch_init
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+# gen_larch_init
+#
+# Author: Michael Towers <gradgrind[at]online[dot]de>
+
+# Create an initramfs for a larch live system
+#  $1  - kernel version
+
+# The cpio.gz image is generated in larch.img
+
+/sbin/mkinitcpio -c /lib/initcpio/mkinitcpio.conf -k $1 -g larch.img
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch1 b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch1
new file mode 100644
index 0000000..88ccc3e
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch1
@@ -0,0 +1,125 @@
+# vim: set ft=sh:
+
+# larch1 -  live 'hook' for mkinitcpio: set up tmpfs and find boot device
+
+# Author: Michael Towers (gradgrind) <mt.42@web.de>
+#
+# This file is part of the larch project.
+#
+#    larch is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    larch is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with larch; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+#----------------------------------------------------------------------------
+#2008.02.11
+
+# Replacement for msg which includes leading and trailing spaces
+msg_ () { [ "${quiet}" != "y" ] && echo "$@"; }
+
+# Try to mount a disk, partition or cdrom and look for the file
+# 'larchboot' in the /larch directory.
+# If LiveCD system found in the device, return 0, else return 1
+# and leave the device mounted.
+# $1 = device name (e.g. "/dev/hda2")
+# $2 = directory where devices will be mounted
+#
+test_live_data_dir ()
+{
+    /bin/mount -r -t iso9660 "$1" $2 >/dev/null 2>/dev/null || \
+    /bin/mount -r -t vfat -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null || \
+    /bin/mount -r -t ext2 -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null
+    if [ $? -eq 0 ]; then
+        if [ -f "$2/larch/larchboot" ]; then
+            LDEV="$1"
+            msg_ " ... found at $1"
+            return 0
+        else
+            /bin/umount $2 2>/dev/null
+            msg_ " ... $1 mounted, but no 'larch/larchboot' found"
+        fi
+    else
+        msg_ "  ... not $1"
+    fi
+    return 1
+}
+
+run_hook ()
+{
+    msg_ ":: Creating writeable filesystem (tmpfs)"
+    /bin/mkdir "/tfs"
+    # Boot option copy-to-ram (c2r)
+    if [ "${c2r}" = "y" ]; then
+        TFSSIZE="90%"
+    else
+        TFSSIZE="60%"
+    fi
+    /bin/mount -t tmpfs -o "size=${TFSSIZE}" tmpfs "/tfs"
+
+    # Directory for test mounts (and then for live CD)
+    cdmount="/livecd"
+    /bin/mkdir "${cdmount}"
+
+    # look for livecd data directory, first try ${root}
+    LDEV="${root}"
+    if [ "x${LDEV}" != "x" ]; then
+        /bin/mount -r -t iso9660 "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null || \
+        /bin/mount -r -t vfat -o noatime,nodiratime "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null || \
+        /bin/mount -r -t ext2 -o noatime,nodiratime "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null
+        if [ $? -eq 0 ]; then
+            if [ -d "${cdmount}/larch" ]; then
+                msg_ ":: larch system at ${LDEV}"
+            else
+                /bin/umount "${cdmount}" 2>/dev/null
+                echo "!! No larch system at ${LDEV}"
+                LDEV=""
+            fi
+        else
+            echo "!! Couldn't mount ${LDEV}"
+            LDEV=""
+        fi
+    fi
+
+    # then try cdroms
+    if [ "x${LDEV}" = "x" ]; then
+        msg_ ":: Looking for boot device"
+        cdroms=$( /bin/cat /proc/sys/dev/cdrom/info | { while read a b c; do
+                if [ "${a}" = "drive" -a "${b}" = "name:" ]; then
+                    echo "${c}"
+                    break
+                fi
+            done
+        } )
+        for i in ${cdroms}; do
+            test_live_data_dir "/dev/${i}" "${cdmount}"
+            if [ $? -eq 0 ]; then break; fi
+        done
+    fi
+
+    # test USB devices (and disks) repeatedly until timed out
+    if [ "x${LDEV}" = "x" ]; then
+        msg_ ":: Searching for usb (and disk) devices .."
+        for i in 1 2 3 4 5; do
+            msg_ " :wait ${i} :::"
+            /bin/sleep ${i}
+            for d in /dev/sd[a-z][0-9]*; do
+                test_live_data_dir "${d}" "${cdmount}"
+                if [ $? -eq 0 ]; then break 2; fi
+            done
+            msg_ ":: Searching for usb cdroms .."
+            for d in /dev/sr[0-9]*; do
+                test_live_data_dir "${d}" "${cdmount}"
+                if [ $? -eq 0 ]; then break 2; fi
+            done
+        done
+    fi
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2 b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2
new file mode 100644
index 0000000..74b4e64
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2
@@ -0,0 +1,33 @@
+# larch2 -  live 'hook' for mkinitcpio: unionfs specific
+
+# Author: Michael Towers (gradgrind) <mt.42@web.de>
+#
+# This file is part of the larch project.
+#
+#    larch is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    larch is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with larch; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+#----------------------------------------------------------------------------
+#2007.12.13
+
+run_hook ()
+{
+    #!!! --- unionfs specific
+    # Need unionfs module
+    /bin/modprobe unionfs
+    ovlmnt="ro"
+    bropt="dirs="
+    sqfmnt="ro"
+    utype="unionfs"
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2_aufs b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2_aufs
new file mode 100644
index 0000000..ac8e40b
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch2_aufs
@@ -0,0 +1,33 @@
+# larch2_aufs -  live 'hook' for mkinitcpio: aufs specific
+
+# Author: Michael Towers (gradgrind) <mt.42@web.de>
+#
+# This file is part of the larch project.
+#
+#    larch is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    larch is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with larch; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+#----------------------------------------------------------------------------
+# 2008.02.29
+
+run_hook ()
+{
+   #!!! --- aufs specific
+    # Need aufs module
+    /bin/modprobe aufs
+    ovlmnt="rr+wh"
+    sqfmnt="rr"
+    bropt="br:"
+    utype="aufs"
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch3 b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch3
new file mode 100644
index 0000000..47be81a
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/hooks/larch3
@@ -0,0 +1,192 @@
+# larch3 -  live 'hook' for mkinitcpio:
+#                 deal with c2r,
+#                 mount base system,
+#                 load overlay,
+#                 set up unioned root filesystem.
+#                 Also manages overlay merging.
+
+# Author: Michael Towers <gradgrind[at]online[dot]de>
+#
+# This file is part of the larch project.
+#
+#    larch is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    larch is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with larch; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+#----------------------------------------------------------------------------
+# 2008.04.04
+
+run_hook ()
+{
+    if [ "x${LDEV}" = "x" ]; then
+        err "Sorry, couldn't find boot medium ..."
+        break="y"
+        return
+    fi
+
+    /sbin/modprobe loop
+
+    # Path to compressed base system
+    sysSqf=${cdmount}/system.sqf
+
+    ovlpath=${cdmount}
+
+    # A possibility to use alternative files:
+    if [ -f ${cdmount}/larch/boot-init ]; then
+        . ${cdmount}/larch/boot-init
+    fi
+
+    # Path to compressed 'modifications' archive
+    modsSqf=${ovlpath}/mods.sqf
+    # Default overlay file and directory
+    overlay=${ovlpath}/overlay.ovl
+
+    # Make union root
+    /bin/mkdir /union
+
+    # Deal with new archives
+    if [ -f ${overlay}_ ]; then
+        /bin/mount -o remount,rw ${LDEV} ${cdmount}
+        /bin/mv ${overlay} ${overlay}~
+        /bin/mv ${overlay}_ ${overlay}
+
+        if [ -f ${modsSqf}_ ]; then
+            /bin/mv ${modsSqf} ${modsSqf}~
+            /bin/mv ${modsSqf}_ ${modsSqf}
+        fi
+        /bin/mount -o remount,ro ${LDEV} ${cdmount}
+    fi
+
+    # Boot option copy-to-ram (c2r)
+    if [ "${c2r}" = "y" ]; then
+        msg_ ":: Copying base system to RAM, this will take a while ..."
+        /bin/cat ${sysSqf} > /tfs/system.sqf
+        if [ $? -ne 0 ]; then
+            err "Sorry, not enough RAM"
+            break="y"
+            return
+        fi
+        sysSqf=/tfs/system.sqf
+
+        msg_ ":: Copying mods archive to RAM, this might take a while ..."
+        /bin/cat ${modsSqf} > /tfs/mods.sqf
+        if [ $? -ne 0 ]; then
+            err "Sorry, not enough RAM"
+            break="y"
+            return
+        fi
+        modsSqf=/tfs/mods.sqf
+
+        # force use of swap (if available)
+        :> /tfs/swapon
+
+    elif [ "${swap}" = "y" ]; then
+        :> /tfs/swapon
+    fi
+
+    msg_ ":: Mounting squashed images"
+    /bin/mkdir /tfs/system
+    # The klibc mount command doesn't support '-o loop'
+    /bin/losetup /dev/loop0 ${sysSqf}
+    /bin/mount -r -t squashfs /dev/loop0 /tfs/system
+
+    # Make stuff in 'system' available by providing the loader and
+    # library path
+    ldli=$( cd /tfs/system; echo lib/ld-linux*.so.2 )
+    /bin/ln -s /tfs/system/${ldli} /${ldli}
+    export LD_LIBRARY_PATH=/tfs/system/lib:/tfs/system/usr/lib
+
+    /bin/mkdir /tfs/mods
+    # The klibc mount command doesn't support '-o loop'
+    /bin/losetup /dev/loop1 ${modsSqf}
+    /bin/mount -r -t squashfs /dev/loop1 /tfs/mods
+
+    # Unpack the overlay
+    msg_ ":: Initializing writable layer for union (overlay)"
+    /tfs/system/usr/bin/lzop -d < ${overlay} | \
+            /tfs/system/bin/tar -C /tfs -xf -
+
+    # Copy the installation tidy-up script (for removing custom live-only stuff),
+    # and any other files in 'larch/copy' directory
+    if [ -d ${ovlpath}/larch/copy ]; then
+        cd ${ovlpath}/larch/copy
+        for f in *; do
+            cat ${f} >/tfs/${f}
+        done
+    fi
+
+    msg_ ":: Setting up union file system"
+
+    layers="/tfs/overlay=rw:/tfs/mods=${ovlmnt}:/tfs/system=${sqfmnt}"
+    /bin/mount -t ${utype} -o ${bropt}${layers} ${utype} /union
+
+    echo "${utype}" > /tfs/utype
+
+    # Minimal device nodes needed before udev does its work
+    /bin/mkdir /union/dev
+    /bin/mknod /union/dev/console c 5 1
+    /bin/mknod /union/dev/null c 1 3
+    /bin/mknod /union/dev/zero c 1 5
+
+    # Make special directories
+    /bin/mkdir -m 1777 /union/tmp
+    /bin/mkdir /union/media
+    /bin/mkdir /union/sys
+    /bin/mkdir /union/proc
+
+    # Make the tmpfs stuff accessible within the union
+    /bin/mkdir /union/.livesys
+    /bin/mount -o bind /tfs /union/.livesys
+
+    /bin/mkdir /union/.livesys/medium
+
+    /bin/mount -o bind /tfs/system /union/.livesys/system
+    /bin/mount -o bind /tfs/overlay /union/.livesys/overlay
+    /bin/mount -o bind ${cdmount} /union/.livesys/medium
+
+    if [ "x${modsSqf}" != "x" ]; then
+        /bin/mount -o move /tfs/mods /union/.livesys/mods
+    fi
+
+    # Remember the boot device
+    echo "${LDEV}" > /tfs/bootdevice
+
+    if [ "${c2r}" = "y" ]; then
+        # Set flag to inform system of copy-to-ram
+        :> /tfs/c2r
+
+        # Unmount boot device
+        /bin/umount ${cdmount}
+    fi
+
+    msg_ ":: End of live system set-up"
+
+    # Now some tweaks to alter 'init' actions from non-larch hooks, etc.
+    # Override rootdelay from usb hook
+    if [ "x${larchdelay}" = "x"  ]; then
+        # To avoid spurious udevd pid numbers
+        export rootdelay=1
+    else
+        # Allow adjustment via boot option
+        export rootdelay=${larchdelay}
+    fi
+    # root must be set to something or other, even though larch doesn't
+    # need it ...
+    export root="/dev/loop0"
+}
+
+#######
+# The actual root switch occurs later, when 'init' execs 'kinit'.
+# I handle this by overwriting the 'kinit' binary with my own script.
+# This will unmount dev, sys and proc and then exec run-init.
+#######
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/install/larch1 b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch1
new file mode 100644
index 0000000..56baf48
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch1
@@ -0,0 +1,15 @@
+install ()
+{
+    MODULES="vfat isofs ext2 ext3 nls_cp437"
+    BINARIES=""
+    FILES=""
+    SCRIPT="larch1"
+}
+
+help ()
+{
+cat<<HELPEOF
+  This hook deals with booting a larch live CD. It is the first larch hook,
+creating a tmpfs and seeking the boot medium.
+HELPEOF
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2 b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2
new file mode 100644
index 0000000..a906227
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2
@@ -0,0 +1,15 @@
+install ()
+{
+    MODULES="unionfs"
+    BINARIES=""
+    FILES=""
+    SCRIPT="larch2"
+}
+
+help ()
+{
+cat<<HELPEOF
+  This hook deals with booting a larch live CD. It handles selection of the
+desired unioning file system, here unionfs.
+HELPEOF
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2_aufs b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2_aufs
new file mode 100644
index 0000000..0e19de9
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch2_aufs
@@ -0,0 +1,15 @@
+install ()
+{
+    MODULES="aufs"
+    BINARIES=""
+    FILES=""
+    SCRIPT="larch2_aufs"
+}
+
+help ()
+{
+cat<<HELPEOF
+  This hook deals with booting a larch live CD. It handles selection of the
+desired unioning file system, here aufs.
+HELPEOF
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/install/larch3 b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch3
new file mode 100644
index 0000000..7dad03c
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/install/larch3
@@ -0,0 +1,18 @@
+install ()
+{
+    MODULES="squashfs loop reiserfs"
+    BINARIES=""
+    FILES=""
+    SCRIPT="larch3"
+#    add_file "/lib/initcpio/kinit" "/bin/kinit"  ##### This doesn't work, so:
+    sed -i 's|.*/usr/lib/klibc/bin/kinit\.shared.*||' "${FILELIST}"
+    sed -i 's|/usr/lib/klibc/bin/kinit|/lib/initcpio/kinit|' "${FILELIST}"
+}
+
+help ()
+{
+cat<<HELPEOF
+  This hook deals with booting a larch live CD. It is the last larch hook,
+setting up the tmpfs root file system.
+HELPEOF
+}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/kinit b/abs/mv-core/mythvantage-live/lib/initcpio/kinit
new file mode 100755
index 0000000..7c86f4b
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/kinit
@@ -0,0 +1,6 @@
+#! /bin/sh
+
+umount /sys
+umount /proc
+umount /dev
+exec run-init -c /dev/console /union /sbin/init ${CMDLINE}
diff --git a/abs/mv-core/mythvantage-live/lib/initcpio/mkinitcpio.conf b/abs/mv-core/mythvantage-live/lib/initcpio/mkinitcpio.conf
new file mode 100644
index 0000000..79cca21
--- /dev/null
+++ b/abs/mv-core/mythvantage-live/lib/initcpio/mkinitcpio.conf
@@ -0,0 +1,54 @@
+# vim:set ft=sh
+# MODULES
+# The following modules are loaded before any boot hooks are
+# run.  Advanced users may wish to specify all system modules
+# in this array.  For instance:
+#     MODULES="piix ide_disk reiserfs"
+MODULES=""
+
+# BINARIES
+# This setting includes, into the CPIO image, and additional
+# binaries a given user may wish.  This is run first, so may
+# be used to override the actual binaries used in a given hook.
+# (Existing files are NOT overwritten is already added)
+# BINARIES are dependancy parsed, so you may safely ignore libraries
+#BINARIES=""
+
+# FILES
+# This setting is similar to BINARIES above, however, files are added
+# as-is and are not parsed in anyway.  This is useful for config files.
+# Some users may wish to include modprobe.conf for custom module options,
+# like so:
+#    FILES="/etc/modprobe.conf"
+FILES=""
+
+# HOOKS
+# This is the most important setting in this file.  The HOOKS control the
+# modules and scripts added to the image, and what happens at boot time.
+# Order is important, and it is recommended that you do not change the
+# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
+# help on a given hook.
+# 'base' is _required_ unless you know precisely what you are doing.
+# 'udev' is _required_ in order to automatically load modules
+# 'modload' may be used in place of 'udev', but is not recommended
+# 'filesystems' is _required_ unless you specify your fs modules in MODULES
+# Examples:
+#    This setup specifies all modules in the MODULES setting above.
+#    No raid, lvm, or encrypted root is needed.
+#    HOOKS="base"
+#
+#    This setup will autodetect all modules for your system and should
+#    work as a sane default
+#    HOOKS="base udev autodetect ide scsi sata filesystems"
+#
+#    This setup will generate a 'full' image which supports most systems.
+#    No autodetection is done.
+#    HOOKS="base udev ide scsi sata usb filesystems"
+#
+#    This setup assembles an ide raid array with an encrypted root FS.
+#    Note: See 'mkinitcpio -H raid' for more information on raid devices.
+#    HOOKS="base udev ide filesystems raid encrypt"
+#
+#    This setup loads an LVM volume group on a usb device.
+#    HOOKS="base udev usb filesystems lvm"
+HOOKS="base udev pata scsi sata usb larch1 larch2___aufs___ larch3"
diff --git a/abs/mv-core/oss-sound/PKGBUILD b/abs/mv-core/oss-sound/PKGBUILD
new file mode 100755
index 0000000..f9135f0
--- /dev/null
+++ b/abs/mv-core/oss-sound/PKGBUILD
@@ -0,0 +1,147 @@
+pkgname=oss-linux-free
+pkgver=4.0_1016
+pkgrel=12
+_realname=oss-v4.0-build1016-src-gpl
+pkgdesc="OSS/Open source driver"
+arch=('i686' 'x86_64')
+url="http://www.opensound.com/"
+license=('GPL2')
+depends=('gcc' 'make' 'gtk2' 'libtool' 'bc' 'sed')
+makedepends=('gawk' 'pkgconfig')
+conflicts=('oss-linux')
+provides=('oss')
+install=oss.install
+source=(rc.oss-linux-free http://www.4front-tech.com/developer/sources/stable/gpl/$_realname.tar.bz2 oss4_1016-kernel2626.diff oss4_1016-moduleinc.diff)
+md5sums=('f343bb70a4dbd1aabefabbea0f76e886'
+         'b8c3409b477387dbe87118caf46773ed'
+         '376fce5cfd92d7793ee90d7352c1cafa'
+         '4077a972a6b26ae960ce15cfec8aa34f')
+
+build() {
+
+rm -rf build ; mkdir build ; cd build
+
+sed -i "s|export HAVE_ALSA=1|# export HAVE_ALSA=1|g" $srcdir/$_realname/configure
+sed -i "s|700|755|g" $srcdir/$_realname/setup/Linux/build.sh
+unset CFLAGS
+
+# Thanks to majeru of the OSS forums for this patch
+cd $srcdir/$_realname
+patch -p0 -i $srcdir/oss4_1016-kernel2626.diff || return 1
+# Thanks to cesium of the OSS forums for this patch
+patch -p1 -i $srcdir/oss4_1016-moduleinc.diff || return 1
+cd $srcdir/build
+$srcdir/$_realname/configure || return 1
+make build || return 1
+
+cp -r prototype/{etc,usr} $pkgdir/
+install -Dm755 ../rc.oss-linux-free $pkgdir/etc/rc.d/oss-linux-free
+
+if [ `uname -m` == "i686" ]; then
+cd setup/Linux/oss/lib
+gcc -m32 -shared -fPIC -O2 -Wall -Werror -lssl flashsupport.c -o libflashsupport.so || return 1
+cp libflashsupport.so $pkgdir/usr/lib/oss/lib/
+fi
+
+#building modules
+  PREFIX=$startdir/pkg
+  OSSLIBDIR=$PREFIX/usr/lib/oss
+cd $OSSLIBDIR/build
+REGPARM=REGPARM
+pushd $OSSLIBDIR
+rm -rf objects
+ln -s objects.regparm objects
+rm -rf modules
+ln -s modules.regparm modules
+popd
+
+
+if ! test -f $OSSLIBDIR/objects/osscore.o
+then
+	echo Error: OSS core module for $REGPARM kernel are not available
+	exit 1
+fi
+
+if ! test -f $OSSLIBDIR/modules/ich.o
+then
+	echo Error: OSS driver modules for $REGPARM kernel are not available
+	exit 1
+fi
+
+echo
+echo OSS build environment set up for $REGPARM kernels
+BASEKERNEL=/lib/modules/2.6.26-ARCH
+PKGKERNEL=$startdir/pkg$BASEKERNEL
+KERNELDIR=$BASEKERNEL/build
+
+cp -f ../objects/osscore.o osscore_mainline.o
+
+ln -sf ../include/sys/*.h ../include/sys/ossddk .
+
+rm -f Makefile
+ln -s Makefile.osscore Makefile
+
+if ! test -d $OSSLIBDIR/logs
+then
+	mkdir $OSSLIBDIR/logs
+fi
+
+echo Building module osscore
+
+if ! make KERNELDIR=$KERNELDIR> build.list 2>&1
+then
+	echo Failed to compile OSS
+	cat build.list
+	exit 2
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+  mkdir -p $PKGKERNEL/kernel/oss
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+	echo OSS module directory $PKGKERNEL/kernel/oss does not exist.
+	exit 3
+fi
+
+if ! ld -r osscore.ko osscore_mainline.o -o $PKGKERNEL/kernel/oss/osscore.ko
+then
+	echo Linking the osscore module failed
+	exit 5
+fi
+
+#depmod -a
+
+for n in ../modules/*.o
+do
+	N=`basename $n .o`
+	echo Building module $N 
+
+	rm -f $N_mainline.o Makefile
+
+	sed "s/MODNAME/$N/" < Makefile.tmpl > Makefile
+	ln -s $n $N_mainline.o
+
+	if ! make KERNELDIR=$KERNELDIR > build.list 2>&1
+	then
+		echo Compiling module $N failed
+		cat build.list
+		exit 4
+	fi
+
+	if ! ld -r $N.ko $N_mainline.o -o $PKGKERNEL/kernel/oss/$N.ko
+	then
+		echo Linking $N module failed
+		exit 6
+	fi
+
+	rm -f $N_mainline.o
+	make clean
+done 
+
+rm -f Makefile
+
+
+}
diff --git a/abs/mv-core/oss-sound/PKGBUILD.keep b/abs/mv-core/oss-sound/PKGBUILD.keep
new file mode 100755
index 0000000..f9135f0
--- /dev/null
+++ b/abs/mv-core/oss-sound/PKGBUILD.keep
@@ -0,0 +1,147 @@
+pkgname=oss-linux-free
+pkgver=4.0_1016
+pkgrel=12
+_realname=oss-v4.0-build1016-src-gpl
+pkgdesc="OSS/Open source driver"
+arch=('i686' 'x86_64')
+url="http://www.opensound.com/"
+license=('GPL2')
+depends=('gcc' 'make' 'gtk2' 'libtool' 'bc' 'sed')
+makedepends=('gawk' 'pkgconfig')
+conflicts=('oss-linux')
+provides=('oss')
+install=oss.install
+source=(rc.oss-linux-free http://www.4front-tech.com/developer/sources/stable/gpl/$_realname.tar.bz2 oss4_1016-kernel2626.diff oss4_1016-moduleinc.diff)
+md5sums=('f343bb70a4dbd1aabefabbea0f76e886'
+         'b8c3409b477387dbe87118caf46773ed'
+         '376fce5cfd92d7793ee90d7352c1cafa'
+         '4077a972a6b26ae960ce15cfec8aa34f')
+
+build() {
+
+rm -rf build ; mkdir build ; cd build
+
+sed -i "s|export HAVE_ALSA=1|# export HAVE_ALSA=1|g" $srcdir/$_realname/configure
+sed -i "s|700|755|g" $srcdir/$_realname/setup/Linux/build.sh
+unset CFLAGS
+
+# Thanks to majeru of the OSS forums for this patch
+cd $srcdir/$_realname
+patch -p0 -i $srcdir/oss4_1016-kernel2626.diff || return 1
+# Thanks to cesium of the OSS forums for this patch
+patch -p1 -i $srcdir/oss4_1016-moduleinc.diff || return 1
+cd $srcdir/build
+$srcdir/$_realname/configure || return 1
+make build || return 1
+
+cp -r prototype/{etc,usr} $pkgdir/
+install -Dm755 ../rc.oss-linux-free $pkgdir/etc/rc.d/oss-linux-free
+
+if [ `uname -m` == "i686" ]; then
+cd setup/Linux/oss/lib
+gcc -m32 -shared -fPIC -O2 -Wall -Werror -lssl flashsupport.c -o libflashsupport.so || return 1
+cp libflashsupport.so $pkgdir/usr/lib/oss/lib/
+fi
+
+#building modules
+  PREFIX=$startdir/pkg
+  OSSLIBDIR=$PREFIX/usr/lib/oss
+cd $OSSLIBDIR/build
+REGPARM=REGPARM
+pushd $OSSLIBDIR
+rm -rf objects
+ln -s objects.regparm objects
+rm -rf modules
+ln -s modules.regparm modules
+popd
+
+
+if ! test -f $OSSLIBDIR/objects/osscore.o
+then
+	echo Error: OSS core module for $REGPARM kernel are not available
+	exit 1
+fi
+
+if ! test -f $OSSLIBDIR/modules/ich.o
+then
+	echo Error: OSS driver modules for $REGPARM kernel are not available
+	exit 1
+fi
+
+echo
+echo OSS build environment set up for $REGPARM kernels
+BASEKERNEL=/lib/modules/2.6.26-ARCH
+PKGKERNEL=$startdir/pkg$BASEKERNEL
+KERNELDIR=$BASEKERNEL/build
+
+cp -f ../objects/osscore.o osscore_mainline.o
+
+ln -sf ../include/sys/*.h ../include/sys/ossddk .
+
+rm -f Makefile
+ln -s Makefile.osscore Makefile
+
+if ! test -d $OSSLIBDIR/logs
+then
+	mkdir $OSSLIBDIR/logs
+fi
+
+echo Building module osscore
+
+if ! make KERNELDIR=$KERNELDIR> build.list 2>&1
+then
+	echo Failed to compile OSS
+	cat build.list
+	exit 2
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+  mkdir -p $PKGKERNEL/kernel/oss
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+	echo OSS module directory $PKGKERNEL/kernel/oss does not exist.
+	exit 3
+fi
+
+if ! ld -r osscore.ko osscore_mainline.o -o $PKGKERNEL/kernel/oss/osscore.ko
+then
+	echo Linking the osscore module failed
+	exit 5
+fi
+
+#depmod -a
+
+for n in ../modules/*.o
+do
+	N=`basename $n .o`
+	echo Building module $N 
+
+	rm -f $N_mainline.o Makefile
+
+	sed "s/MODNAME/$N/" < Makefile.tmpl > Makefile
+	ln -s $n $N_mainline.o
+
+	if ! make KERNELDIR=$KERNELDIR > build.list 2>&1
+	then
+		echo Compiling module $N failed
+		cat build.list
+		exit 4
+	fi
+
+	if ! ld -r $N.ko $N_mainline.o -o $PKGKERNEL/kernel/oss/$N.ko
+	then
+		echo Linking $N module failed
+		exit 6
+	fi
+
+	rm -f $N_mainline.o
+	make clean
+done 
+
+rm -f Makefile
+
+
+}
diff --git a/abs/mv-core/oss-sound/PKGBUILD.orig b/abs/mv-core/oss-sound/PKGBUILD.orig
new file mode 100755
index 0000000..e0e695b
--- /dev/null
+++ b/abs/mv-core/oss-sound/PKGBUILD.orig
@@ -0,0 +1,147 @@
+pkgname=oss
+pkgver=4.0_1016
+_pkgver=v4.0-1016
+pkgrel=14
+pkgdesc="OSS/Commercial driver"
+url="http://www.opensound.com/"
+license=""
+depends=('glibc' 'gtk2')
+makedepends=('make')
+conflicts=('oss-linux')
+provides=('oss-linux')
+replaces=()
+backup=()
+#http://www.4front-tech.com/release/oss-linux-v4.0-1012-i386.tar.bz2
+install=oss.install
+source=(http://www.4front-tech.com/release/oss-linux-v4.0-1016-i386.tar.bz2 install_sh.diff)
+arch=('i686')
+
+
+build() {
+  PREFIX=$startdir/pkg
+  OSSLIBDIR=$PREFIX/usr/lib/oss
+
+  cd $startdir/src
+  find . -type d -exec chmod 755 '{}' ';'
+  patch -p0 < ../install_sh.diff || return 1
+
+  ## Install
+  cp -rp  etc $PREFIX/
+  cp -rp  usr $PREFIX/
+  cp -rp  $PREFIX/usr/share/man $PREFIX/usr/
+  rmdir $PREFIX/usr/share
+  mkdir $PREFIX/usr/lib/oss/logs
+ # mkdir -p $PREFIX/etc/rc.d
+ # install oss-linux $PREFIX/etc/rc.d/
+
+  mv $OSSLIBDIR/conf.tmpl $OSSLIBDIR/conf
+  mkdir -p $PREFIX/usr/lib
+  cd $PREFIX/usr/lib
+  ln -sf oss/lib/libOSSlib.so || return 1
+
+#building modules
+cd $OSSLIBDIR/build
+REGPARM=REGPARM
+pushd $OSSLIBDIR
+rm -rf objects
+ln -s objects.regparm objects
+rm -rf modules
+ln -s modules.regparm modules
+popd
+
+
+if ! test -f $OSSLIBDIR/objects/osscore.o
+then
+	echo Error: OSS core module for $REGPARM kernel are not available
+	exit 1
+fi
+
+if ! test -f $OSSLIBDIR/modules/ich.o
+then
+	echo Error: OSS driver modules for $REGPARM kernel are not available
+	exit 1
+fi
+
+echo
+echo OSS build environment set up for $REGPARM kernels
+BASEKERNEL=/lib/modules/2.6.26-ARCH
+PKGKERNEL=$startdir/pkg$BASEKERNEL
+KERNELDIR=$BASEKERNEL/build
+
+cp -f ../objects/osscore.o osscore_mainline.o
+
+ln -sf ../include/sys/*.h ../include/sys/ossddk .
+
+rm -f Makefile
+ln -s Makefile.osscore Makefile
+
+if ! test -d $OSSLIBDIR/logs
+then
+	mkdir $OSSLIBDIR/logs
+fi
+
+echo Building module osscore
+
+if ! make KERNELDIR=$KERNELDIR> build.list 2>&1
+then
+	echo Failed to compile OSS
+	cat build.list
+	exit 2
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+  mkdir -p $PKGKERNEL/kernel/oss
+fi
+
+if ! test -d $PKGKERNEL/kernel/oss
+then
+	echo OSS module directory $PKGKERNEL/kernel/oss does not exist.
+	exit 3
+fi
+
+if ! ld -r osscore.ko osscore_mainline.o -o $PKGKERNEL/kernel/oss/osscore.ko
+then
+	echo Linking the osscore module failed
+	exit 5
+fi
+
+#depmod -a
+
+for n in ../modules/*.o
+do
+	N=`basename $n .o`
+	echo Building module $N 
+
+	rm -f $N_mainline.o Makefile
+
+	sed "s/MODNAME/$N/" < Makefile.tmpl > Makefile
+	ln -s $n $N_mainline.o
+
+	if ! make KERNELDIR=$KERNELDIR > build.list 2>&1
+	then
+		echo Compiling module $N failed
+		cat build.list
+		exit 4
+	fi
+
+	if ! ld -r $N.ko $N_mainline.o -o $PKGKERNEL/kernel/oss/$N.ko
+	then
+		echo Linking $N module failed
+		exit 6
+	fi
+
+	rm -f $N_mainline.o
+	make clean
+done 
+
+rm -f Makefile
+
+
+
+
+
+
+
+
+}
diff --git a/abs/mv-core/oss-sound/PKGBUILD.oss-free b/abs/mv-core/oss-sound/PKGBUILD.oss-free
new file mode 100755
index 0000000..b652603
--- /dev/null
+++ b/abs/mv-core/oss-sound/PKGBUILD.oss-free
@@ -0,0 +1,45 @@
+pkgname=oss-linux-free
+pkgver=4.0_1016
+pkgrel=3
+_realname=oss-v4.0-build1016-src-gpl
+pkgdesc="OSS/Open source driver"
+arch=('i686' 'x86_64')
+url="http://www.opensound.com/"
+license=('GPL2')
+depends=('gcc' 'make' 'gtk2' 'libtool' 'bc' 'sed')
+makedepends=('gawk' 'pkgconfig')
+conflicts=('oss-linux')
+provides=('oss')
+install=oss.install
+source=(rc.oss-linux-free http://www.4front-tech.com/developer/sources/stable/gpl/$_realname.tar.bz2 oss4_1016-kernel2626.diff oss4_1016-moduleinc.diff)
+md5sums=('f343bb70a4dbd1aabefabbea0f76e886'
+         'b8c3409b477387dbe87118caf46773ed'
+         '376fce5cfd92d7793ee90d7352c1cafa'
+         '4077a972a6b26ae960ce15cfec8aa34f')
+
+build() {
+
+rm -rf build ; mkdir build ; cd build
+
+sed -i "s|export HAVE_ALSA=1|# export HAVE_ALSA=1|g" $srcdir/$_realname/configure
+sed -i "s|700|755|g" $srcdir/$_realname/setup/Linux/build.sh
+unset CFLAGS
+
+# Thanks to majeru of the OSS forums for this patch
+cd $srcdir/$_realname
+patch -p0 -i $srcdir/oss4_1016-kernel2626.diff || return 1
+# Thanks to cesium of the OSS forums for this patch
+patch -p1 -i $srcdir/oss4_1016-moduleinc.diff || return 1
+cd $srcdir/build
+$srcdir/$_realname/configure || return 1
+make build || return 1
+
+cp -r prototype/{etc,usr} $pkgdir/
+install -Dm755 ../rc.oss-linux-free $pkgdir/etc/rc.d/oss-linux-free
+
+if [ `uname -m` == "i686" ]; then
+cd setup/Linux/oss/lib
+gcc -m32 -shared -fPIC -O2 -Wall -Werror -lssl flashsupport.c -o libflashsupport.so || return 1
+cp libflashsupport.so $pkgdir/usr/lib/oss/lib/
+fi
+}
diff --git a/abs/mv-core/oss-sound/install_sh.diff b/abs/mv-core/oss-sound/install_sh.diff
new file mode 100755
index 0000000..7276285
--- /dev/null
+++ b/abs/mv-core/oss-sound/install_sh.diff
@@ -0,0 +1,50 @@
+--- usr/lib/oss/build/install.sh.old	2007-02-15 17:02:16.000000000 +0800
++++ usr/lib/oss/build/install.sh	2007-03-02 11:34:05.000000000 +0800
+@@ -10,21 +10,14 @@
+ 
+ rm -f $OSSLIBDIR/.cuckoo_installed
+ 
+-# Check if we should use REGPARM or non-REGPARM modules
+-if /usr/sbin/ossvermagic -r || /sbin/modinfo ext3|grep -q REGPARM
+-then
++# Always use REGPARM (for kernel 2.6.20+)
+    REGPARM=REGPARM
+-   rm -rf $OSSLIBDIR/objects
+-   ln -s $OSSLIBDIR/objects.regparm $OSSLIBDIR/objects
+-   rm -rf $OSSLIBDIR/modules
+-   ln -s $OSSLIBDIR/modules.regparm $OSSLIBDIR/modules
+-else
+-   REGPARM=NOREGPARM
+-   rm -rf $OSSLIBDIR/objects
+-   ln -s $OSSLIBDIR/objects.noregparm $OSSLIBDIR/objects
+-   rm -rf $OSSLIBDIR/modules
+-   ln -s $OSSLIBDIR/modules.noregparm $OSSLIBDIR/modules
+-fi
++pushd $OSSLIBDIR
++rm -rf objects
++ln -s objects.regparm objects
++rm -rf modules
++ln -s modules.regparm modules
++popd
+ 
+ if ! test -f $OSSLIBDIR/objects/osscore.o
+ then
+@@ -291,12 +284,12 @@
+ fi
+ 
+ # Install ALSA interface module (Cuckoo)
+-#(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+-#if (cd $OSSLIBDIR/cuckoo && make install) > $OSSLIBDIR/logs/cuckoo.log 2>&1
+-#then
+-#  touch $OSSLIBDIR/.cuckoo_installed
+-#fi
+-#(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
++(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
++if (cd $OSSLIBDIR/cuckoo && make install) > $OSSLIBDIR/logs/cuckoo.log 2>&1
++then
++  touch $OSSLIBDIR/.cuckoo_installed
++fi
++(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+ 
+ # Remove bogus char major 14 device files left from earlier OSS versions.
+ 
diff --git a/abs/mv-core/oss-sound/oss-linux-free/PKGBUILD b/abs/mv-core/oss-sound/oss-linux-free/PKGBUILD
new file mode 100644
index 0000000..b652603
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss-linux-free/PKGBUILD
@@ -0,0 +1,45 @@
+pkgname=oss-linux-free
+pkgver=4.0_1016
+pkgrel=3
+_realname=oss-v4.0-build1016-src-gpl
+pkgdesc="OSS/Open source driver"
+arch=('i686' 'x86_64')
+url="http://www.opensound.com/"
+license=('GPL2')
+depends=('gcc' 'make' 'gtk2' 'libtool' 'bc' 'sed')
+makedepends=('gawk' 'pkgconfig')
+conflicts=('oss-linux')
+provides=('oss')
+install=oss.install
+source=(rc.oss-linux-free http://www.4front-tech.com/developer/sources/stable/gpl/$_realname.tar.bz2 oss4_1016-kernel2626.diff oss4_1016-moduleinc.diff)
+md5sums=('f343bb70a4dbd1aabefabbea0f76e886'
+         'b8c3409b477387dbe87118caf46773ed'
+         '376fce5cfd92d7793ee90d7352c1cafa'
+         '4077a972a6b26ae960ce15cfec8aa34f')
+
+build() {
+
+rm -rf build ; mkdir build ; cd build
+
+sed -i "s|export HAVE_ALSA=1|# export HAVE_ALSA=1|g" $srcdir/$_realname/configure
+sed -i "s|700|755|g" $srcdir/$_realname/setup/Linux/build.sh
+unset CFLAGS
+
+# Thanks to majeru of the OSS forums for this patch
+cd $srcdir/$_realname
+patch -p0 -i $srcdir/oss4_1016-kernel2626.diff || return 1
+# Thanks to cesium of the OSS forums for this patch
+patch -p1 -i $srcdir/oss4_1016-moduleinc.diff || return 1
+cd $srcdir/build
+$srcdir/$_realname/configure || return 1
+make build || return 1
+
+cp -r prototype/{etc,usr} $pkgdir/
+install -Dm755 ../rc.oss-linux-free $pkgdir/etc/rc.d/oss-linux-free
+
+if [ `uname -m` == "i686" ]; then
+cd setup/Linux/oss/lib
+gcc -m32 -shared -fPIC -O2 -Wall -Werror -lssl flashsupport.c -o libflashsupport.so || return 1
+cp libflashsupport.so $pkgdir/usr/lib/oss/lib/
+fi
+}
diff --git a/abs/mv-core/oss-sound/oss-linux-free/oss.install b/abs/mv-core/oss-sound/oss-linux-free/oss.install
new file mode 100644
index 0000000..e17dd0e
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss-linux-free/oss.install
@@ -0,0 +1,40 @@
+post_install() {
+  echo "Probing soundcards, change /usr/lib/oss/etc/installed_drivers as needed afterwards if
+  you want to disable any of the OSS modules. You can run '/usr/sbin/ossdetect -v' at any time
+  if you have changed soundcards."
+  /usr/sbin/ossdetect -v
+  /sbin/ldconfig
+  /bin/true
+}
+
+pre_upgrade() {
+  /etc/rc.d/oss-linux-free stop
+  /bin/true
+}
+
+post_upgrade() {
+  /etc/rc.d/oss-linux-free start
+  echo "If you changed your soundcard, reprobe for soundcards using '/usr/sbin/ossdetect -v'."
+  /sbin/ldconfig # We need to run this since libflashsupport.so is installed on x86
+  /bin/true
+}
+
+pre_remove() {
+  /etc/rc.d/oss-linux-free stop
+  sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+  echo "/usr/lib/oss/ will still contain files after removal as those files were generated by OSS
+  after instalation. Delete them manually unless you want to keep them for later use."
+  if [ `uname -m` == "i686" ]; then
+    rm -f /usr/lib/libflashsupport.so
+  fi
+  /bin/true
+}
+
+op=$1
+shift
+[ "$(type -t "$op")" = "function" ] && $op "$@"
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-kernel2626.diff b/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-kernel2626.diff
new file mode 100644
index 0000000..730c19e
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-kernel2626.diff
@@ -0,0 +1,21 @@
+diff -uNr setup/Linux/oss/build/osscore.c setup/Linux/oss/build/osscore.c
+--- setup/Linux/oss/build/osscore.c	2008-05-24 04:54:28.000000000 +0200
++++ setup/Linux/oss/build/osscore.c	2008-07-31 19:47:53.000000000 +0200
+@@ -285,7 +285,7 @@
+ init_proc_fs (void)
+ {
+   if ((oss_proc_root =
+-       create_proc_entry ("opensound", 0700 | S_IFDIR, &proc_root)) == NULL)
++       create_proc_entry ("opensound", 0700 | S_IFDIR, NULL)) == NULL)
+     {
+       oss_cmn_err (CE_CONT, "Cannot create /proc/opensound\n");
+       return;
+@@ -308,7 +308,7 @@
+     {
+       if (oss_proc_devfiles)
+ 	remove_proc_entry ("devfiles", oss_proc_root);
+-      remove_proc_entry ("opensound", &proc_root);
++      remove_proc_entry ("opensound", NULL);
+     }
+ }
+
diff --git a/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-moduleinc.diff b/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-moduleinc.diff
new file mode 100644
index 0000000..4595ead
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss-linux-free/oss4_1016-moduleinc.diff
@@ -0,0 +1,44 @@
+diff -uNr oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/install.sh oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/install.sh
+--- oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/install.sh	2008-02-05 18:58:46.000000000 +0100
++++ oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/install.sh	2008-07-31 10:36:09.000000000 +0200
+@@ -159,6 +159,7 @@
+ ln -sf ../include/sys/*.h ../include/sys/ossddk .
+ 
+ rm -f Makefile
++cp module.inc module.inc.orig
+ ln -s Makefile.osscore Makefile
+ 
+ if ! test -d $OSSLIBDIR/logs
+@@ -221,7 +222,8 @@
+ 	make clean
+ done 
+ 
+-rm -f Makefile
++cp module.inc.orig module.inc
++rm -f Makefile module.inc.orig
+ 
+ echo "depmod -a"
+ depmod -a
+diff -uNr oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/Makefile.osscore oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/Makefile.osscore
+--- oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/Makefile.osscore	2005-11-23 23:52:32.000000000 +0100
++++ oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/Makefile.osscore	2008-07-31 10:34:23.000000000 +0200
+@@ -7,11 +7,17 @@
+ 
+ 	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+ 	PWD := $(shell pwd)
++endif
+ 
+ default:
+ 	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+-
+-endif
++	@#Take generated symbol information and add it to module.inc
++	@echo >> module.inc
++	@echo "static const struct modversion_info ____versions[]" >> module.inc
++	@echo " __attribute__((used))" >> module.inc
++	@echo "__attribute__((section(\"__versions\"))) = {" >> module.inc
++	@sed -e "s:^:{:" -e "s:\t:, \":" -e "s:\t\(.\)*:\"},:" < Module.symvers >> module.inc
++	@echo "};" >> module.inc
+ 
+ clean:
+ 	rm -f *.o *.ko *.mod.c *.mod.o .*.cmd core core.* x y z
diff --git a/abs/mv-core/oss-sound/oss-linux-free/rc.oss-linux-free b/abs/mv-core/oss-sound/oss-linux-free/rc.oss-linux-free
new file mode 100755
index 0000000..48b65e0
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss-linux-free/rc.oss-linux-free
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+terminateapps() {
+    # Thanks to the Gentoo ebuild/start script for the following
+    # http://bugs.gentoo.org/show_bug.cgi?id=184123
+    # http://bugs.gentoo.org/attachment.cgi?id=153689
+    devs=`perl -e '{while (<>) {m/^(\S*)/; print "/dev/$1\n"}}' \
+		< /proc/opensound/devfiles`
+    fuser -k ${devs}  >/dev/null 2>/dev/null
+}
+
+case "$1" in
+  start)
+    stat_busy "Starting OSS/Open source driver"
+    # start
+    /usr/sbin/soundon
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      grep '^softoss' /proc/modules >/dev/null 2>/dev/null
+      if [ $? -eq 0 ]; then
+        stat_busy "Replacing old \"softoss\" module with \"vmix\""
+        rmmod softoss
+        modprobe vmix
+        sed -i 's/^softoss.*$/vmix/' /usr/lib/oss/etc/installed_drivers
+      fi
+      add_daemon oss-linux-free
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Saving OSS mixer"
+    /usr/sbin/savemixer
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      stat_done
+    fi
+    grep '^"cuckoo"' /proc/modules >/dev/null 2>/dev/null
+    if [ $? -eq 0 ]; then
+      stat_busy "Removing \"cuckoo\" module"
+      rmmod cuckoo
+    fi
+    stat_busy "Killing processes using OSS"
+    terminateapps
+    stat_done
+    # It doesn't matter if it didnt kill anything!
+    stat_busy "Stopping OSS/Open source driver"
+    /usr/sbin/soundoff
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon oss-linux-free
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 1
+    $0 start
+    ;;
+  terminateapps)
+    stat_busy "Killing processes using OSS"
+    terminateapps
+    stat_done
+    # It doesn't matter if it didnt kill anything!
+  ;;
+  *)
+    echo "usage: $0 {start|stop|restart|terminateapps}"
+esac
diff --git a/abs/mv-core/oss-sound/oss.install b/abs/mv-core/oss-sound/oss.install
new file mode 100755
index 0000000..57a8ec6
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss.install
@@ -0,0 +1,56 @@
+pre_install() {
+#make a backup copy of the alsa modules
+KERNAL=`uname -r`
+MODULE=/lib/modules/$KERNAL/kernel/sound
+
+if [ -e $MODULE ]
+then
+	echo "creating archive of alsa modules"
+	cd $MODULE
+	cd ..
+	tar -cvf /lib/modules/$KERNAL/kernel/alsa-$KERNAL.tar sound
+	rm -rf $MODULE
+fi
+}
+
+post_install() {
+  echo "Probing soundcards, change /usr/lib/oss/etc/installed_drivers as needed afterwards if
+  you want to disable any of the OSS modules. You can run '/usr/sbin/ossdetect -v' at any time
+  if you have changed soundcards."
+  /usr/sbin/ossdetect -v
+  /sbin/ldconfig
+  /bin/true
+}
+
+pre_upgrade() {
+  sv stop oss
+   pre_install
+  
+}
+
+post_upgrade() {
+ sv start oss
+  echo "If you changed your soundcard, reprobe for soundcards using '/usr/sbin/ossdetect -v'."
+  /sbin/ldconfig # We need to run this since libflashsupport.so is installed on x86
+  /bin/true
+}
+
+pre_remove() {
+  sv stop off
+  #sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+  echo "/usr/lib/oss/ will still contain files after removal as those files were generated by OSS
+  after instalation. Delete them manually unless you want to keep them for later use."
+  if [ `uname -m` == "i686" ]; then
+    rm -f /usr/lib/libflashsupport.so
+  fi
+  /bin/true
+}
+
+op=$1
+shift
+[ "$(type -t "$op")" = "function" ] && $op "$@"
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/mv-core/oss-sound/oss4_1016-kernel2626.diff b/abs/mv-core/oss-sound/oss4_1016-kernel2626.diff
new file mode 100644
index 0000000..730c19e
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss4_1016-kernel2626.diff
@@ -0,0 +1,21 @@
+diff -uNr setup/Linux/oss/build/osscore.c setup/Linux/oss/build/osscore.c
+--- setup/Linux/oss/build/osscore.c	2008-05-24 04:54:28.000000000 +0200
++++ setup/Linux/oss/build/osscore.c	2008-07-31 19:47:53.000000000 +0200
+@@ -285,7 +285,7 @@
+ init_proc_fs (void)
+ {
+   if ((oss_proc_root =
+-       create_proc_entry ("opensound", 0700 | S_IFDIR, &proc_root)) == NULL)
++       create_proc_entry ("opensound", 0700 | S_IFDIR, NULL)) == NULL)
+     {
+       oss_cmn_err (CE_CONT, "Cannot create /proc/opensound\n");
+       return;
+@@ -308,7 +308,7 @@
+     {
+       if (oss_proc_devfiles)
+ 	remove_proc_entry ("devfiles", oss_proc_root);
+-      remove_proc_entry ("opensound", &proc_root);
++      remove_proc_entry ("opensound", NULL);
+     }
+ }
+
diff --git a/abs/mv-core/oss-sound/oss4_1016-moduleinc.diff b/abs/mv-core/oss-sound/oss4_1016-moduleinc.diff
new file mode 100644
index 0000000..4595ead
--- /dev/null
+++ b/abs/mv-core/oss-sound/oss4_1016-moduleinc.diff
@@ -0,0 +1,44 @@
+diff -uNr oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/install.sh oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/install.sh
+--- oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/install.sh	2008-02-05 18:58:46.000000000 +0100
++++ oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/install.sh	2008-07-31 10:36:09.000000000 +0200
+@@ -159,6 +159,7 @@
+ ln -sf ../include/sys/*.h ../include/sys/ossddk .
+ 
+ rm -f Makefile
++cp module.inc module.inc.orig
+ ln -s Makefile.osscore Makefile
+ 
+ if ! test -d $OSSLIBDIR/logs
+@@ -221,7 +222,8 @@
+ 	make clean
+ done 
+ 
+-rm -f Makefile
++cp module.inc.orig module.inc
++rm -f Makefile module.inc.orig
+ 
+ echo "depmod -a"
+ depmod -a
+diff -uNr oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/Makefile.osscore oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/Makefile.osscore
+--- oss-v4.0-build1016-src-gpl/setup/Linux/oss/build/Makefile.osscore	2005-11-23 23:52:32.000000000 +0100
++++ oss-v4.0-build1016-src-gpl.bak/setup/Linux/oss/build/Makefile.osscore	2008-07-31 10:34:23.000000000 +0200
+@@ -7,11 +7,17 @@
+ 
+ 	KERNELDIR ?= /lib/modules/$(shell uname -r)/build
+ 	PWD := $(shell pwd)
++endif
+ 
+ default:
+ 	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+-
+-endif
++	@#Take generated symbol information and add it to module.inc
++	@echo >> module.inc
++	@echo "static const struct modversion_info ____versions[]" >> module.inc
++	@echo " __attribute__((used))" >> module.inc
++	@echo "__attribute__((section(\"__versions\"))) = {" >> module.inc
++	@sed -e "s:^:{:" -e "s:\t:, \":" -e "s:\t\(.\)*:\"},:" < Module.symvers >> module.inc
++	@echo "};" >> module.inc
+ 
+ clean:
+ 	rm -f *.o *.ko *.mod.c *.mod.o .*.cmd core core.* x y z
diff --git a/abs/mv-core/oss-sound/rc.oss-linux-free b/abs/mv-core/oss-sound/rc.oss-linux-free
new file mode 100755
index 0000000..48b65e0
--- /dev/null
+++ b/abs/mv-core/oss-sound/rc.oss-linux-free
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+terminateapps() {
+    # Thanks to the Gentoo ebuild/start script for the following
+    # http://bugs.gentoo.org/show_bug.cgi?id=184123
+    # http://bugs.gentoo.org/attachment.cgi?id=153689
+    devs=`perl -e '{while (<>) {m/^(\S*)/; print "/dev/$1\n"}}' \
+		< /proc/opensound/devfiles`
+    fuser -k ${devs}  >/dev/null 2>/dev/null
+}
+
+case "$1" in
+  start)
+    stat_busy "Starting OSS/Open source driver"
+    # start
+    /usr/sbin/soundon
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      grep '^softoss' /proc/modules >/dev/null 2>/dev/null
+      if [ $? -eq 0 ]; then
+        stat_busy "Replacing old \"softoss\" module with \"vmix\""
+        rmmod softoss
+        modprobe vmix
+        sed -i 's/^softoss.*$/vmix/' /usr/lib/oss/etc/installed_drivers
+      fi
+      add_daemon oss-linux-free
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Saving OSS mixer"
+    /usr/sbin/savemixer
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      stat_done
+    fi
+    grep '^"cuckoo"' /proc/modules >/dev/null 2>/dev/null
+    if [ $? -eq 0 ]; then
+      stat_busy "Removing \"cuckoo\" module"
+      rmmod cuckoo
+    fi
+    stat_busy "Killing processes using OSS"
+    terminateapps
+    stat_done
+    # It doesn't matter if it didnt kill anything!
+    stat_busy "Stopping OSS/Open source driver"
+    /usr/sbin/soundoff
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon oss-linux-free
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 1
+    $0 start
+    ;;
+  terminateapps)
+    stat_busy "Killing processes using OSS"
+    terminateapps
+    stat_done
+    # It doesn't matter if it didnt kill anything!
+  ;;
+  *)
+    echo "usage: $0 {start|stop|restart|terminateapps}"
+esac
diff --git a/abs/mv-core/runit-scripts-mv/PKGBUILD b/abs/mv-core/runit-scripts-mv/PKGBUILD
new file mode 100755
index 0000000..89848c9
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/PKGBUILD
@@ -0,0 +1,28 @@
+pkgname=runit-scripts-mv
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="collection of startup scripts for runit MythVantage styel"
+url="http://smarden.org/runit/"
+license="BSD"
+depends=('glibc' 'util-linux' 'initscripts' 'runit' )
+makedepends=()
+conflicts=()
+replaces=()
+backup=()
+install=runit.install
+source=()
+arch=('i686')
+
+build() {
+  rsync -a --exclude=.svn $startdir/runitscripts $startdir/src
+  cd $startdir/src/runitscripts
+  install -d $startdir/pkg/etc/
+  install -d $startdir/pkg/etc/runit/
+  install -d $startdir/pkg/var/service
+  install -d $startdir/pkg/etc/sv
+  install -d $startdir/pkg/sbin
+  install -m0700 1 2 3 ctrlaltdel $startdir/pkg/etc/runit
+
+  install -m0755 reboot-runit halt-runit logger $startdir/pkg/sbin
+  rsync -a --exclude=.svn services/* $startdir/pkg/etc/sv
+}
diff --git a/abs/mv-core/runit-scripts-mv/runit.install b/abs/mv-core/runit-scripts-mv/runit.install
new file mode 100755
index 0000000..4652368
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runit.install
@@ -0,0 +1,57 @@
+# arg 1:  the new package version
+
+pre_install () {
+if [ ! -f /sbin/halt-init ]
+then
+   mv /sbin/halt  /sbin/halt-init
+   rm -f /sbin/reboot
+   rm -f /sbin/poweroff
+fi
+
+}
+
+pre_upgrade () {
+if [ ! -f /sbin/halt-init ]
+then
+   mv /sbin/halt  /sbin/halt-init
+   rm -f /sbin/reboot
+   rm -f /sbin/poweroff
+fi
+
+}
+
+post_install () {
+ 
+ mkdir /var/service
+  ln -s /etc/sv/tty* /var/service
+  servicelist="acpid cron  frontend  lircd ntpd alsa-utils  avahi   dbus   portmap  sshd"
+  for i in $servicelist
+  do
+   ln -s /etc/sv/$i /var/service/$i
+  done
+
+  ln -s /sbin/halt.script /sbin/halt
+  ln -s /sbin/reboot.script /sbin/reboot
+  ln -s /sbin/poweroff.script /sbin/poweroff
+  ln -s /sbin/halt-init /sbin/reboot.init
+  ln -s /sbin/halt-init /sbin/poweroff.init
+
+
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+
+post_upgrade(){
+  ln -s /sbin/halt.script /sbin/halt
+  ln -s /sbin/reboot.script /sbin/reboot
+  ln -s /sbin/poweroff.script /sbin/poweroff
+  ln -s /sbin/halt-init /sbin/reboot.init
+  ln -s /sbin/halt-init /sbin/poweroff.init
+
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/1 b/abs/mv-core/runit-scripts-mv/runitscripts/1
new file mode 100755
index 0000000..748930f
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/1
@@ -0,0 +1,14 @@
+#!/bin/bash
+/etc/rc.sysinit
+hostname `cat /etc/hostname`
+/sbin/sysctl -p 2>/dev/null >/dev/null
+#/usr/bin/load-modules-mythvantage.sh
+rm /etc/dhcpc/dhcpcd*.pid  2>/dev/null
+rm -f /etc/sv/frontend/.runtime/* 2>/dev/null
+rm -f /etc/runit/reboot 2>/dev/null
+/etc/net/scripts/network.init start 2>/var/log/network.init.error >/var/log/network.init
+/usr/sbin/ethtool -s  eth0 wol g 2>/dev/null
+/usr/sbin/ethtool -s  eth1 wol g 2>/dev/null
+/usr/sbin/ethtool -s  eth2 wol g 2>/dev/null
+
+#/bin/su mythtv -c /usr/bin/grabkey.py 2>/dev/null 1>/devn/null &
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/2 b/abs/mv-core/runit-scripts-mv/runitscripts/2
new file mode 100755
index 0000000..079b644
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/2
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+PATH=/bin:/sbin:/usr/bin:/usr/sbin
+
+#runsvchdir default >/dev/null
+
+exec env - PATH=$PATH \
+runsvdir -P /var/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/3 b/abs/mv-core/runit-scripts-mv/runitscripts/3
new file mode 100755
index 0000000..0fa3abc
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/3
@@ -0,0 +1,4 @@
+#!/bin/sh
+#
+export PREVLEVEL=3
+/etc/rc.shutdown
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/ctrlaltdel b/abs/mv-core/runit-scripts-mv/runitscripts/ctrlaltdel
new file mode 100755
index 0000000..2550d3c
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/ctrlaltdel
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin
+MSG="System is going down in 10 seconds..."
+
+# echo 'disabled.' ; exit
+touch /etc/runit/stopit
+chmod 100 /etc/runit/stopit && echo "$MSG" | wall
+/bin/sleep 10
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/halt-runit b/abs/mv-core/runit-scripts-mv/runitscripts/halt-runit
new file mode 100755
index 0000000..7c07b05
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/halt-runit
@@ -0,0 +1,2 @@
+#!/bin/sh
+runit-init 0
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/logger b/abs/mv-core/runit-scripts-mv/runitscripts/logger
new file mode 100755
index 0000000..6888f6f
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/logger
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+svname=$( cd .. && basename $( pwd ) )
+if [ ! -d /var/log/$svname ]
+then
+	mkdir /var/log/$svname
+	chown root.root /var/log/$svname
+	chmod 700 /var/log/$svname
+fi
+
+exec /sbin/svlogd -tt /var/log/$svname
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/reboot-runit b/abs/mv-core/runit-scripts-mv/runitscripts/reboot-runit
new file mode 100755
index 0000000..be831ec
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/reboot-runit
@@ -0,0 +1,2 @@
+#!/bin/sh
+runit-init 6
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/finish
new file mode 100755
index 0000000..14cd831
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/finish
@@ -0,0 +1,12 @@
+#!/bin/bash
+. /etc/profile
+VIRTUAL_DISPLAY=":50"
+Xvfb_parm="$VIRTUAL_DISPLAY -screen 0 800x600x16"
+pid=`ps -eaf | grep Xvfb | grep $VIRTUAL_DISPLAY | awk '{print $2}'`
+ if [ $pid ] 
+ then
+ 	kill -9 $pid 
+#	echo $pid
+fi
+rm -f /tmp/.X${VIRTUAL_DISPLAY}-lock
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/run
new file mode 100755
index 0000000..823916d
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/run
@@ -0,0 +1,5 @@
+#!/bin/bash
+. /etc/profile
+VIRTUAL_DISPLAY=":50"
+Xvfb_parm="$VIRTUAL_DISPLAY -screen 0 800x600x16"
+Xvfb $Xvfb_parm 
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/lock b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/lock
new file mode 100644
index 0000000..e69de29
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/pid b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/pid
new file mode 100644
index 0000000..e69de29
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/stat b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/stat
new file mode 100644
index 0000000..eb0e904
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/stat
@@ -0,0 +1 @@
+down
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/status b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/status
new file mode 100644
index 0000000..2254c38
Binary files /dev/null and b/abs/mv-core/runit-scripts-mv/runitscripts/services/Xvfb/supervise/status differ
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/acpid/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/acpid/run
new file mode 100755
index 0000000..daf9859
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/acpid/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/acpid  -f -c /etc/acpi/events 2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/finish
new file mode 100755
index 0000000..d6f3897
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/finish
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+sv down alsa-utils
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/run
new file mode 100755
index 0000000..0a97cfa
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/alsa-utils/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /etc/rc.d/alsa-utils start all
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/apache/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/apache/run
new file mode 100755
index 0000000..130d870
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/apache/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/local/apache/bin/httpd -DNO_DETACH
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/avahi/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/avahi/run
new file mode 100755
index 0000000..323d242
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/avahi/run
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/avahi-daemon  >/dev/null 2>/dev/null
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/certmaster/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/certmaster/run
new file mode 100755
index 0000000..745b1b3
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/certmaster/run
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec  /usr/bin/certmaster
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/cron/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/cron/run
new file mode 100755
index 0000000..99dc014
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/cron/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/crond -f  >/dev/null 2>/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/dbus/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/dbus/run
new file mode 100755
index 0000000..872ca77
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/dbus/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/bin/dbus-daemon --system --nofork 2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/dnsmasq/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/dnsmasq/run
new file mode 100755
index 0000000..451dda4
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/dnsmasq/run
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/dnsmasq -k   >/dev/null 2>/dev/null
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/finish
new file mode 100755
index 0000000..0dd33de
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/finish
@@ -0,0 +1,4 @@
+#!/bin/bash
+. /etc/profile
+DISPLAY=localhost:50 evrouter -q 
+rm -rf /tmp/.evrouter*
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/run
new file mode 100755
index 0000000..1d7389a
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/run
@@ -0,0 +1,5 @@
+#!/bin/bash
+. /etc/profile
+sv start Xvfb
+su mythtv -c "DISPLAY=localhost:50 evrouter -c /etc/evrouter.cfg -f /dev/input/event*"
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/lock b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/lock
new file mode 100644
index 0000000..e69de29
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/pid b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/pid
new file mode 100644
index 0000000..e69de29
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/stat b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/stat
new file mode 100644
index 0000000..eb0e904
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/stat
@@ -0,0 +1 @@
+down
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/status b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/status
new file mode 100644
index 0000000..742989c
Binary files /dev/null and b/abs/mv-core/runit-scripts-mv/runitscripts/services/evrouter/supervise/status differ
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/finish
new file mode 100755
index 0000000..3bbd374
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/finish
@@ -0,0 +1,24 @@
+#!/bin/bash
+exec 2>&1
+grep -q  noautologin /proc/cmdline
+STATUS=$?
+ if  [ $STATUS = 0 ]
+      then
+        chvt 2
+else
+
+chvt 1
+touch /etc/sv/frontend/.runtime/`date +%s`
+sleep 0.5
+ps -ef |grep "xinit /etc/X11/Sessions/STB"|grep -v grep|awk ' { print $2 } '|xargs kill  2> /dev/null
+cdate=`date`
+#numfiles=`/usr/bin/fbd  -d "$cdate" -a 10s /etc/sv/frontend/.runtime  2>/dev/null |wc -l`
+numfiles=`/usr/bin/file_time_offset.py   -s10 -d/etc/sv/frontend/.runtime`   
+
+if [ $numfiles -gt 2 ]
+then
+ sv stop frontend
+ rm -f /etc/sv/frontend/.runtime/*
+ echo "Frontend is not able to start, disabling it"
+fi
+fi
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/log/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/log/run
new file mode 100755
index 0000000..463045f
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/log/run
@@ -0,0 +1,5 @@
+#!/bin/sh
+exec 2>&1
+. /etc/systemconfig
+ /usr/bin/logger -p local6.info -t mythfrontend 
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/run
new file mode 100755
index 0000000..3b43b4f
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/frontend/run
@@ -0,0 +1,13 @@
+#!/bin/sh
+exec 2>&1
+ grep -q  noautologin /proc/cmdline
+ STATUS=$?
+  if  [ $STATUS = 0 ]
+   then
+    sv down frontend
+    exit 0
+  fi
+
+#exec /usr/bin/openvt -fec 7 -- /bin/su - mythtv -l -c STB-start
+exec  /bin/su - mythtv -l -c STB-start
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/funcd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/funcd/run
new file mode 100755
index 0000000..f807822
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/funcd/run
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec  /usr/bin/funcd
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/ghosd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/ghosd/run
new file mode 100755
index 0000000..fbe8ba0
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/ghosd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+DISPLAY=localhost:0.0 exec  /usr/bin/osdServer.pl 5000  
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/gpm/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/gpm/run
new file mode 100755
index 0000000..361fc43
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/gpm/run
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+. /etc/sysconfig/mouse
+exec gpm -D -m $MDEVICE -t $PROTOCOL
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/hal/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/hal/run
new file mode 100755
index 0000000..f1362b2
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/hal/run
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+sv waitup dbus 2>/dev/null 1>/dev/null
+exec /usr/sbin/hald --daemon=no --use-syslog 2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit-client/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit-client/run
new file mode 100755
index 0000000..e45173d
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit-client/run
@@ -0,0 +1,68 @@
+#!/bin/sh
+#----------------------------------------------------------------------------#
+# Hobbit client bootup script.                                               #
+#                                                                            #
+# This invokes hobbitlaunch, which in turn runs the Hobbit client and any    #
+# extensions configured.                                                     #
+#                                                                            #
+# Copyright (C) 2005-2006 Henrik Storner <henrik@hswn.dk>                    #
+# "status" section (C) Scott Smith 2006                                      #
+#                                                                            #
+# This program is released under the GNU General Public License (GPL),       #
+# version 2. See the file "COPYING" for details.                             #
+#                                                                            #
+#----------------------------------------------------------------------------#
+#
+# $Id: runclient.sh,v 1.13 2006/07/14 21:25:19 henrik Rel $
+
+# Default settings for this client
+MACHINEDOTS="`uname -n`"			# This systems hostname
+BBOSTYPE="`uname -s | tr '[A-Z]' '[a-z]'`"	# This systems operating system in lowercase
+BBOSSCRIPT="hobbitclient-$BBOSTYPE.sh"
+
+# Commandline mods for the defaults
+while test "$1" != ""
+do
+	case "$1" in
+	  --hostname=*)
+	  	MACHINEDOTS="`echo $1 | sed -e 's/--hostname=//'`"
+		;;
+	  --os=*)
+	  	BBOSTYPE="`echo $1 | sed -e 's/--os=//' | tr '[A-Z]' '[a-z]'`"
+		;;
+	  --class=*)
+	        CONFIGCLASS="`echo $1 | sed -e 's/--class=//' | tr '[A-Z]' '[a-z]'`"
+		;;
+	  --help)
+	  	echo "Usage: $0 [--hostname=CLIENTNAME] [--os=rhel3|linux22] [--class=CLASSNAME] start|stop"
+		exit 0
+		;;
+	  start)
+	  	CMD=$1
+		;;
+	  stop)
+	  	CMD=$1
+		;;
+	  restart)
+	  	CMD=$1
+		;;
+	  status)
+	  	CMD=$1
+		;;
+	esac
+
+	shift
+done
+
+OLDDIR="`pwd`"
+cd "`dirname $0`"
+HOBBITCLIENTHOME="/data/srv/hobbit/client"
+cd "$OLDDIR"
+
+MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
+
+export MACHINE MACHINEDOTS BBOSTYPE BBOSSCRIPT HOBBITCLIENTHOME CONFIGCLASS
+
+
+su nobody -c "$HOBBITCLIENTHOME/bin/hobbitlaunch --config=$HOBBITCLIENTHOME/etc/clientlaunch.cfg --log=$HOBBITCLIENTHOME/logs/clientlaunch.log --pidfile=$HOBBITCLIENTHOME/logs/clientlaunch.$MACHINEDOTS.pid --no-daemon"
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit/run
new file mode 100755
index 0000000..24ad9fe
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/hobbit/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec su nobody -c "/data/srv/hobbit/server/bin/hobbitlaunch --config=/data/srv/hobbit/server/etc/hobbitlaunch.cfg --env=/data/srv/hobbit/server/etc/hobbitserver.cfg --log=/var/log/hobbit/hobbitlaunch.log --pidfile=/var/log/hobbit/hobbitlaunch.pid --no-daemon"
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/lcdd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/lcdd/run
new file mode 100755
index 0000000..df71bf8
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/lcdd/run
@@ -0,0 +1,9 @@
+#!/bin/sh
+. /etc/systemconfig
+exec 2>&1
+if [ x$LCDtype = xxosd ]
+then
+	DISPLAY=127.0.0.1:0 /usr/sbin/LCDd -f -c /etc/LCDd.conf 2>/dev/null >/dev/null
+else
+	exec /usr/sbin/LCDd -f -c /etc/LCDd.conf 2>/dev/null >/dev/null
+fi
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/lighttpd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/lighttpd/run
new file mode 100755
index 0000000..70cb0a5
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/lighttpd/run
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/finish
new file mode 100755
index 0000000..3545b07
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/finish
@@ -0,0 +1,12 @@
+#!/bin/bash
+killall -9 lircd
+rm -f /var/run/lirc*.pid 
+touch /etc/sv/lircd/.runtime/`date +%s`    
+numfiles=`/usr/bin/file_time_offset.py   -s4 -d/etc/sv/lircd/.runtime ` 
+if [ $numfiles -gt 3 ]
+then
+	 rm -f /etc/sv/lircd/.runtime/*
+	 ls -la /etc/sv/lircd/.runtime/*
+	 sv stop lircd
+	 echo "lircd is not able to start, disabling it"
+fi     
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/run
new file mode 100755
index 0000000..4457b37
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/lircd/run
@@ -0,0 +1,39 @@
+#!/bin/bash
+exec 2>&1
+run_lircd2=false
+. /etc/systemconfig
+function imon_detect {
+if [ -e /dev/lirc_imon ]
+then
+lircd2_cmd="/usr/sbin/lircd -d /dev/lirc_imon --output=/dev/lircd --pidfile=/var/run/lircd2.pid --connect=localhost:8765"
+run_lircd2=true
+fi
+}
+
+
+
+case $ReceiverType in 
+	Serial)
+   		/usr/bin/setserial /dev/$ReceiverSerialport uart none
+	        /sbin/modprobe lirc_serial
+		DEVICE=`ls  /dev/lirc[0-9] 2>/dev/null |sort |sed '/./,$!d'|head -n 1 `
+		imon_detect		
+		;;
+	Usb-imon)
+		DEVICE=/dev/lirc_imon	
+	;;
+
+	*) 
+
+		DEVICE=`ls  /dev/lirc[0-9] 2>/dev/null |sort |sed '/./,$!d'|head -n 1 `
+		imon_detect
+	;;
+esac
+
+if [ "$run_lircd2" = "true" ] 
+then
+	$lircd2_cmd 2>/dev/null 1>/dev/null
+	exec /usr/sbin/lircd -n -d $DEVICE --output /dev/lircd1 --listen 2>/dev/null 1>/dev/null
+else
+	exec /usr/sbin/lircd -n -d $DEVICE 2>/dev/null 1>/dev/null
+fi
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/mysql/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/mysql/run
new file mode 100755
index 0000000..569230e
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/mysql/run
@@ -0,0 +1,29 @@
+#!/bin/bash
+exec 2>&1
+
+MYSQLD_ROOT="/data/srv/mysql"
+# source application-specific settings
+[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld
+if [ ! `egrep '^mysql:' /etc/group` ]; then
+  stat_busy "Adding mysql group"
+  groupadd -g 89 mysql
+  stat_done
+fi
+if [ ! `egrep '^mysql:' /etc/passwd` ]; then
+  stat_busy "Adding mysql user"
+  useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql
+  [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT
+  stat_done
+fi
+
+if [ ! -d $MYSQLD_ROOT ]; then
+  mkdir $MYSQLD_ROOT
+  /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql
+  chown -R mysql.mysql $MYSQLD_ROOT
+fi
+
+if [ ! -e /var/log/mysqld.log ]; then
+  touch /var/log/mysqld.log
+  chown mysql /var/log/mysqld.log
+fi
+exec /usr/sbin/mysqld -u mysql 2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/log/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/log/run
new file mode 100755
index 0000000..6ed5184
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/log/run
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+ /usr/bin/logger -p local7.info -t mythbackend  
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/run
new file mode 100755
index 0000000..1315006
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/mythbackend/run
@@ -0,0 +1,25 @@
+#!/bin/sh
+exec 2>&1
+. /etc/profile
+. /etc/systemconfig
+export HOME=/root
+if [ ! x$SystemType = xSlave_backend ]
+then
+	sv start mysql > /dev/null 2>/dev/null
+        #run mythfilldatabase
+        /usr/MythVantage/bin/initial_db_run &
+fi
+mkfifo /tmp/mbefifo >/dev/null 2>/dev/null
+echo "Starting mythbackend"
+	if [ -f /tmp/debug ]
+		then
+			echo "using gbd/debug"
+			gdb /usr/local/bin/mythbackend -x $MV_ROOT/mbegdbcommands.txt
+			bash -c "osdClient.pl localhost 5000 'Restart gdb mbe  :::SYS' "&
+			mv gdb.txt /data/home/mythtv/gdb.txt.mythbackend
+			chown mythtv:mythtv /data/home/mythtv/gdb.txt.mythbackend
+			sleep 10
+
+		else
+			exec /usr/local/bin/mythbackend
+		fi
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/ncid/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/ncid/run
new file mode 100755
index 0000000..8a90707
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/ncid/run
@@ -0,0 +1,5 @@
+#!/bin/sh
+exec 2>&1
+sv start ncidd
+exec /usr/bin/ncid --no-gui --all  --call-prog --program /usr/bin/ncid.py 127.0.0.1 3333
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/ncidd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/ncidd/run
new file mode 100755
index 0000000..6b032db
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/ncidd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/ncidd -D 2>&1 
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/finish
new file mode 100755
index 0000000..43be94c
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/finish
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+sv down netfs
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/run
new file mode 100755
index 0000000..f2c0813
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/netfs/run
@@ -0,0 +1,5 @@
+#!/bin/sh
+exec 2>&1
+sv start portmap
+/etc/rc.d/netfs start
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/nfsd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/nfsd/run
new file mode 100755
index 0000000..6610fe9
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/nfsd/run
@@ -0,0 +1,22 @@
+#!/bin/bash
+exec 2>&1
+
+# Make sure the statd daemon is up
+# (the statd service must ensure portmap is running first)
+svwaitup /var/service/nfslock >/dev/null 2>/dev/null
+
+source /etc/conf.d/nfsd
+
+# Re-export all directories in /etc/exports
+/usr/sbin/exportfs -ra > /dev/null 2>/dev/null
+
+# start some nfsd threads
+/usr/sbin/rpc.nfsd -p  ${NFSD_OPTS} >/dev/null 2>/dev/null  
+
+# since we are running kernel 2.6 we should also
+# mount the nfsd virtual filesystem
+/bin/mount -t nfsd none /proc/fs/nfsd >/dev/null 2>/dev/null
+
+# Start the rpc.mountd daemon
+exec /usr/sbin/rpc.mountd --foreground  >/dev/null 2>/dev/null   
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/nfslock/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/nfslock/run
new file mode 100755
index 0000000..0ec6f75
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/nfslock/run
@@ -0,0 +1,4 @@
+#!/bin/bash
+exec 2>&1
+sv start portmap  >/dev/null 2>/dev/null   
+/usr/sbin/rpc.statd -F  >/dev/null 2>/dev/null   
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/nmbd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/nmbd/run
new file mode 100755
index 0000000..9aa27ec
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/nmbd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec nmbd -F -S -d1  2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/ntpd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/ntpd/run
new file mode 100755
index 0000000..97302f1
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/ntpd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+ntpdate pool.ntp.org
+exec ntpd -n -p /var/run/ntpd.pid
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/finish b/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/finish
new file mode 100755
index 0000000..f929f39
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/finish
@@ -0,0 +1,4 @@
+#!/bin/sh
+exec 2>&1
+sv down oss
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/run
new file mode 100755
index 0000000..687de8f
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/oss/run
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+rm -f /usr/lib/oss/starting
+#exec /etc/rc.d/alsa-utils start all
+exec /usr/sbin/soundon
+
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/portmap/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/portmap/run
new file mode 100755
index 0000000..561d65b
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/portmap/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /sbin/portmap -d >/dev/null 2>/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/smbd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/smbd/run
new file mode 100755
index 0000000..af77dcb
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/smbd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec smbd -F -S -d3 2>/dev/null >/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/sshd/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/sshd/run
new file mode 100755
index 0000000..a019e5d
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/sshd/run
@@ -0,0 +1,20 @@
+#!/bin/bash
+exec 2>&1
+nobodydir=/data/srv/.nobody_ssh
+
+[ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
+    [ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
+    [ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
+
+if [ ! -f $nobodydir/id_dsa.pub ] 
+then
+	mkdir -p $nobodydir 
+	ssh-keygen -t dsa -N '' -f $nobodydir/id_dsa
+	mkdir -p /data/home/mythtv/.ssh
+	cp $nobodydir/id_dsa.pub /data/home/mythtv/.ssh/authorized_keys
+	chmod 700  /data/home/mythtv/.ssh/
+	chown -R mythtv:mythtv  /data/home/mythtv/.ssh/
+fi
+chown -R  nobody:nobody $nobodydir 
+chmod 700 $nobodydir 
+exec /usr/sbin/sshd -D >/dev/null 2>/dev/null
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/syslog-ng/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/syslog-ng/run
new file mode 100755
index 0000000..eb56ace
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/syslog-ng/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+exec 2>&1
+exec /usr/sbin/syslog-ng -F
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/tty2/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/tty2/run
new file mode 100755
index 0000000..3782aed
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/tty2/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /sbin/agetty 38400 vc/2 linux
diff --git a/abs/mv-core/runit-scripts-mv/runitscripts/services/tty3/run b/abs/mv-core/runit-scripts-mv/runitscripts/services/tty3/run
new file mode 100755
index 0000000..ce66b0d
--- /dev/null
+++ b/abs/mv-core/runit-scripts-mv/runitscripts/services/tty3/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /sbin/agetty 38400 vc/3 linux
-- 
cgit v0.12

