From 199ea329decf9acddd004b17aea3bc901121032a Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verison.net>
Date: Tue, 23 Mar 2010 02:16:10 +0000
Subject: mythtv-contrib: initial inclusion. A collection of mythtv user
 scripts and utils.

---
 .../community/mythtv-contrib/6200ch.c.r21651.patch | 181 +++++++++++++++++++++
 .../community/mythtv-contrib/PKGBUILD              | 118 ++++++++++++++
 .../mythtv-contrib/dct-channel_make.patch          |  16 ++
 .../mythtv-contrib/mythchanger.10f.beta.tar        |   1 +
 .../mythtv-contrib/mythchanger_make.patch          |   8 +
 .../mythtv-contrib/mythtv-contrib.install          |   7 +
 .../community/mythtv-contrib/sa3250cmd_make.patch  |  10 ++
 7 files changed, 341 insertions(+)
 create mode 100644 abs/extra-testing/community/mythtv-contrib/6200ch.c.r21651.patch
 create mode 100644 abs/extra-testing/community/mythtv-contrib/PKGBUILD
 create mode 100644 abs/extra-testing/community/mythtv-contrib/dct-channel_make.patch
 create mode 120000 abs/extra-testing/community/mythtv-contrib/mythchanger.10f.beta.tar
 create mode 100644 abs/extra-testing/community/mythtv-contrib/mythchanger_make.patch
 create mode 100644 abs/extra-testing/community/mythtv-contrib/mythtv-contrib.install
 create mode 100644 abs/extra-testing/community/mythtv-contrib/sa3250cmd_make.patch

diff --git a/abs/extra-testing/community/mythtv-contrib/6200ch.c.r21651.patch b/abs/extra-testing/community/mythtv-contrib/6200ch.c.r21651.patch
new file mode 100644
index 0000000..f883ecb
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/6200ch.c.r21651.patch
@@ -0,0 +1,181 @@
+--- contrib/channel_changers/6200ch/6200ch.c.orig	2009-09-03 19:51:11.913853152 +0000
++++ contrib/channel_changers/6200ch/6200ch.c	2009-09-04 05:11:44.212465932 +0000
+@@ -88,6 +88,9 @@
+ #define QIP7100_MODEL_ID1  0x00008100
+ #define QIP7100_MODEL_ID2  0x00000001
+ 
++#define QIP6200_VENDOR_ID1 0x0000211e
++#define QIP6200_MODEL_ID1  0x00007100
++
+ #define MOT_UNKNOWN_VENDOR_ID1 0x04db
+ #define MOT_UNKNOWN_VENDOR_ID2 0x0406
+ #define MOT_UNKNOWN_VENDOR_ID3 0x0ce5
+@@ -99,17 +102,16 @@
+ #define MOT_UNKNOWN_VENDOR_ID9 0x1ade
+ #define MOT_UNKNOWN_VENDOR_ID10 0x1cfb
+ #define MOT_UNKNOWN_VENDOR_ID11 0x2040
+-#define MOT_UNKNOWN_VENDOR_ID12 0x211e
+-#define MOT_UNKNOWN_VENDOR_ID13 0x2180
+-#define MOT_UNKNOWN_VENDOR_ID14 0x2210
+-#define MOT_UNKNOWN_VENDOR_ID15 0x230b
+-#define MOT_UNKNOWN_VENDOR_ID16 0x2375
+-#define MOT_UNKNOWN_VENDOR_ID17 0x2395
+-#define MOT_UNKNOWN_VENDOR_ID18 0x23a2
+-#define MOT_UNKNOWN_VENDOR_ID19 0x23ed
+-#define MOT_UNKNOWN_VENDOR_ID20 0x23ee
+-#define MOT_UNKNOWN_VENDOR_ID21 0x23a0
+-#define MOT_UNKNOWN_VENDOR_ID22 0x23a1
++#define MOT_UNKNOWN_VENDOR_ID12 0x2180
++#define MOT_UNKNOWN_VENDOR_ID13 0x2210
++#define MOT_UNKNOWN_VENDOR_ID14 0x230b
++#define MOT_UNKNOWN_VENDOR_ID15 0x2375
++#define MOT_UNKNOWN_VENDOR_ID16 0x2395
++#define MOT_UNKNOWN_VENDOR_ID17 0x23a2
++#define MOT_UNKNOWN_VENDOR_ID18 0x23ed
++#define MOT_UNKNOWN_VENDOR_ID19 0x23ee
++#define MOT_UNKNOWN_VENDOR_ID20 0x23a0
++#define MOT_UNKNOWN_VENDOR_ID21 0x23a1
+ 
+ #define PACE_VENDOR_ID1    0x00005094 /* 550 & 779 */
+ #define PACE_VENDOR_ID2    0x00005094 /* unknown */
+@@ -128,21 +130,23 @@
+ #define RETRY_COUNT_FAST 0
+ 
+ void set_chan_slow(raw1394handle_t handle, int device, int verbose, int chn);
++void set_chan_slow_four_digit(raw1394handle_t handle, int device, int verbose, int chn);
+ void set_chan_fast(raw1394handle_t handle, int device, int verbose, int chn);
+ void set_power_fast(raw1394handle_t handle, int device, int verbose);
+ 
+ void usage()
+ {
+    fprintf(stderr, "Usage: 6200ch [-v] [-s] [-n NODE] [-g GUID] [-p PORT] "
+-           "<channel_num>\n");
++           "[-4] <channel_num>\n");
+    fprintf(stderr, "-v        print additional verbose output\n");
+-   fprintf(stderr, "-s        use single packet method\n");
++   fprintf(stderr, "-s        use single packet method. Cannot be used with -4.\n");
+    fprintf(stderr, "-w        toggle power state\n");
+    fprintf(stderr, "-n NODE   node to start device scanning on (default:%i)\n",
+            STARTING_NODE);
+    fprintf(stderr, "-p PORT   port/adapter to use              (default:%i)\n",
+            STARTING_PORT);
+    fprintf(stderr, "-g GUID   GUID to use, -n switch, if present, will be ignored.\n");
++   fprintf(stderr, "-4        Enable 4 digit channel number support. Cannot be used with -s.\n");
+    exit(1);
+ }
+ 
+@@ -158,6 +162,7 @@
+    octlet_t cli_GUID=0LL;
+    octlet_t node_GUID=0LL;
+    int chn = 0;
++   int use_four_digit = 0;
+ 
+    /* some people experience crashes when starting on node 1 */
+    int starting_node = STARTING_NODE;
+@@ -168,7 +173,7 @@
+       usage();
+ 
+    opterr = 0;
+-   while ((c = getopt(argc, argv, "vswg:n:p:")) != -1)
++   while ((c = getopt(argc, argv, "vswg:n:p:4")) != -1)
+    {
+        switch (c) {
+        case 'v':
+@@ -191,16 +196,24 @@
+        case 'p':
+            starting_port = atoi(optarg);
+            break;
++       case '4':
++           use_four_digit = 1;
++           break;
+        default:
+            fprintf(stderr, "incorrect command line arguments\n");
+            usage();
+        }
+    }
+ 
++   {
++   /* We cannot use single packet with 4 digits */
++       if (single_packet && use_four_digit)
++           usage();
++   }
+    /* print out usage message if not enough arguments */
+    if (optind == argc-1)
+    {
+-       /* the last argument is the channel number */
++   /* the last argument is the channel number */
+        chn = atoi(argv[optind]);
+    }
+    else if (!toggle_power)
+@@ -292,6 +305,7 @@
+             (dir.vendor_id == DCT6416_VENDOR_ID1) ||
+             (dir.vendor_id == DCT6416_VENDOR_ID2) ||
+             (dir.vendor_id == QIP7100_VENDOR_ID1) ||
++            (dir.vendor_id == QIP6200_VENDOR_ID1) ||
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID1) ||
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID2) ||
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID3) ||
+@@ -313,7 +327,6 @@
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID19) ||
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID20) ||
+             (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID21) ||
+-            (dir.vendor_id == MOT_UNKNOWN_VENDOR_ID22) ||
+             (dir.vendor_id == PACE_VENDOR_ID1) ||
+             (dir.vendor_id == PACE_VENDOR_ID2)) &&
+            ((dir.model_id == DCH3200_MODEL_ID1) ||
+@@ -330,6 +343,7 @@
+             (dir.model_id == DCT6416_MODEL_ID1) ||
+             (dir.model_id == QIP7100_MODEL_ID1) ||
+             (dir.model_id == QIP7100_MODEL_ID2) ||
++            (dir.model_id == QIP6200_MODEL_ID1) ||
+             (dir.model_id == PACE550_MODEL_ID1) ||
+             (dir.model_id == PACE779_MODEL_ID1)) )
+       {
+@@ -356,6 +370,9 @@
+        if (single_packet)
+            set_chan_fast(handle, device, verbose, chn);
+        else
++       if (use_four_digit)
++           set_chan_slow_four_digit(handle, device, verbose, chn); 
++       else
+            set_chan_slow(handle, device, verbose, chn);
+    }
+ 
+@@ -387,6 +404,37 @@
+    }
+ }
+ 
++// Same as set_chan_slow(), but sends 4 digits instead of 3 (for quicker channel changes on QIP6200-2 / QIP7100-1)
++void set_chan_slow_four_digit(raw1394handle_t handle, int device, int verbose, int chn)
++{
++   int i;
++   int dig[4];
++   quadlet_t cmd[2];
++
++   if (verbose)
++       printf("chn: %d\n", chn);
++
++   dig[3] = (chn % 10);
++   dig[2] = (chn % 100) / 10;
++   dig[1] = (chn % 1000) / 100;
++   dig[0] = (chn % 10000) / 1000;
++
++   if (verbose)
++      printf("AV/C Command: %d%d%d%d = Op1=0x%08X Op2=0x%08X Op3=0x%08X Op4=0x%08X\n",
++            dig[0], dig[1], dig[2], dig[3],
++            CTL_CMD0 | dig[0], CTL_CMD0 | dig[1], CTL_CMD0 | dig[2], CTL_CMD0 | dig[3]);
++
++   for (i=0; i<4; i++) {
++      if (verbose)
++          printf("Sending digit %d\n", dig[i]);
++      cmd[0] = CTL_CMD0 | dig[i];
++      cmd[1] = 0x0;
++    
++      avc1394_transaction_block(handle, device, cmd, 2, RETRY_COUNT_SLOW);
++      usleep(500000); // small delay for button to register
++   }
++} 
++
+ void set_chan_fast(raw1394handle_t handle, int device, int verbose, int chn)
+ {
+     quadlet_t cmd[3];
diff --git a/abs/extra-testing/community/mythtv-contrib/PKGBUILD b/abs/extra-testing/community/mythtv-contrib/PKGBUILD
new file mode 100644
index 0000000..e4a84f7
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/PKGBUILD
@@ -0,0 +1,118 @@
+# Contributor: Michael Hanson <hansonorders@verizon.net>
+# Maintainer: Michael Hanson <hansonorders@verizon.net>
+pkgname=mythtv-contrib
+pkgver=0.22
+pkgrel=1
+pkgdesc="User contributed scripts and utilities for mythtv."
+arch=('i686' 'x86_64')
+url="http://mythtv.org"
+license=('GPL')
+groups=('mythtv-extras')
+depends=('perl' 'mythtv')
+makedepends=('gcc' 'subversion' 'libavc1394' 'libraw1394' 'libiec61883')
+install='mythtv-contrib.install'
+source=('http://www.pdp8.net/directv/directv.pl' \
+        'http://sa3250cmd.googlecode.com/files/sa3250cmd1.1.tar.gz' \
+        'mythchanger.10f.beta.tar')
+patches=('sa3250cmd_make.patch' '6200ch.c.r21651.patch'
+         'mythchanger_make.patch')
+_svntrunk=http://cvs.mythtv.org/svn/branches/release-0-22-fixes/mythtv/contrib
+_svnver=23566
+_svnmod=contrib
+
+build() {
+	# get clean copy from SVN repo
+	svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
+	svn revert -R $_svnmod
+
+	cd $startdir/src/contrib
+
+	# build and install
+        cd $srcdir/contrib/channel_changers/6200ch
+        patch -p3 <$startdir/6200ch.c.r21651.patch
+        gcc -std=gnu99 -o 6200ch 6200ch.c -lavc1394 -lrom1394 -lraw1394
+        install -D -m755 6200ch $startdir/pkg/usr/bin/6200ch
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.6200ch
+
+        cd $srcdir/contrib/channel_changers/change-channel-lirc || return 1
+        install -D -m755 *{.pl,.sh} $startdir/pkg/usr/bin || return 1
+
+        cd $srcdir/contrib/channel_changers/d10control || return 1
+        install -D -m755 d10control.pl $startdir/pkg/usr/bin/d10control.pl  || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.d10control
+
+        cd $srcdir/contrib/channel_changers/dct-channel
+        patch -p4 <$startdir/dct-channel_make.patch || return 1
+        cd $srcdir/contrib/channel_changers/dct-channel || return 1
+        make || return 1
+        install -D -m755 channel $startdir/pkg/usr/bin || return 1
+        install -D -m644 channel.1 $startdir/pkg/usr/man/man1 || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.dct-channel
+        install -D -m644 COPYING $startdir/pkg/usr/share/licenses/mythtv-contrib/COPYING.dct-channel
+
+        cd $srcdir/contrib/channel_changers/dct2000serial || return 1
+        install -D -m755 *.py $startdir/pkg/usr/bin || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.dct2000serial
+
+        cd $srcdir/contrib/channel_changers/red_eye || return 1
+        gcc -Wall -o red_eye red_eye.c || return 1
+        install -D -m755 red_eye $startdir/pkg/usr/bin/red_eye || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.red_eye
+
+        cd $srcdir/contrib/channel_changers/sa3250ch || return 1
+        gcc -Wall -o sa3250ch sa3250ch.c -lrom1394 -lavc1394 -lraw1394 || return 1
+        install -D -m755 sa3250ch $startdir/pkg/usr/bin/sa3250ch || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.sa3250ch
+
+        cd $srcdir/contrib/development/firewire_tester || return 1
+        gcc -Wall -o firewire_tester firewire_tester.c -liec61883 -lraw1394 || return 1
+        install -D -m755 firewire_tester $startdir/pkg/usr/bin || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.firewire_tester
+
+        cd $srcdir/contrib/development/tsc-calibrate || return 1
+        gcc -o tsc-calibrate tsc-calibrate.c || return 1
+
+        cd $srcdir/contrib/info/mythname || return 1
+        install -D -m755 mythname.pl $startdir/pkg/usr/bin || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.mythname
+
+        cd $srcdir/contrib/info/misc_status_info || return 1
+        install -D -m755 *{.sh,.pl} $startdir/pkg/usr/bin || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.misc_status_info
+
+        cd $srcdir/contrib/maintenance || return 1
+        install -D -m755 *.pl $startdir/pkg/usr/bin || return 1
+
+        cd $srcdir/contrib/mythmail || return 1
+        install -D -m755 *.pl $startdir/pkg/usr/bin || return 1
+
+        cd $srcdir/contrib/recovery || return 1
+        install -D -m755 *.pl $startdir/pkg/usr/bin || return 1
+
+        cd $srcdir/contrib/user_jobs || return 1
+        install -D -m755 *.pl $startdir/pkg/usr/bin || return 1
+        install -D -m755 setbookmark $startdir/pkg/usr/bin/setbookmark.pl || return 1
+
+        cd $srcdir || return 1
+        install -D -m755 directv.pl $startdir/pkg/usr/bin || return 1
+
+        tar zxf sa3250cmd1.1.tar.gz || return 1
+        cd $srcdir
+        patch -p1 <$startdir/sa3250cmd_make.patch || return 1
+        cd $srcdir/sa3250cmd
+        make || return 1
+	install -D -m755 sa3250cmd $startdir/pkg/usr/bin || return 1
+        install -D -m755 sa3250_ch_guid  $startdir/pkg/usr/bin || return 1
+        install -D -m755 sa3250_cmd_guid  $startdir/pkg/usr/bin || return 1
+
+        cd $srcdir
+        tar xf mythchanger.10f.beta.tar || return 1
+        cd $srcdir/mythchanger.10f.beta
+        patch -p1 <$startdir/mythchanger_make.patch || return 1
+        make || return 1
+        make install || return 1
+        install -D -m644 README $startdir/pkg/usr/share/doc/mythtv-contrib/README.mythchanger
+}
+md5sums=('89cfc17883a41e365e85e0a4ac20994f'
+         '740609cbcc916e82493387ba0613f744'
+         '34d148795f832f12973a08d59e9a0ef3')
diff --git a/abs/extra-testing/community/mythtv-contrib/dct-channel_make.patch b/abs/extra-testing/community/mythtv-contrib/dct-channel_make.patch
new file mode 100644
index 0000000..9d9dc53
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/dct-channel_make.patch
@@ -0,0 +1,16 @@
+--- src/contrib/channel_changers/dct-channel/Makefile.orig	2010-03-23 00:56:51.000000000 +0000
++++ src/contrib/channel_changers/dct-channel/Makefile	2010-03-23 00:57:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ CFLAGS = -Wall
+-PREFIX = /usr/local
++PREFIX = /data/LinHES-PKGBUILD/abs/extra-testing/community/mythtv-contrib/pkg/usr
+ MANPATH = ${PREFIX}/man/man1
+ BINPATH = ${PREFIX}/bin
+ 
+@@ -44,4 +44,4 @@
+ 	rm -f *.o channel core
+ 
+ veryclean: clean
+-	rm -f channel.1
+\ No newline at end of file
++	rm -f channel.1
diff --git a/abs/extra-testing/community/mythtv-contrib/mythchanger.10f.beta.tar b/abs/extra-testing/community/mythtv-contrib/mythchanger.10f.beta.tar
new file mode 120000
index 0000000..c6509bd
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/mythchanger.10f.beta.tar
@@ -0,0 +1 @@
+/data/pkg_repo/sources/majoridiot?action=AttachFile&do=get&target=mythchanger.10f.beta.tar
\ No newline at end of file
diff --git a/abs/extra-testing/community/mythtv-contrib/mythchanger_make.patch b/abs/extra-testing/community/mythtv-contrib/mythchanger_make.patch
new file mode 100644
index 0000000..facd9e6
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/mythchanger_make.patch
@@ -0,0 +1,8 @@
+--- mythchanger.10f.beta/Makefile.orig	2010-03-23 01:35:27.000000000 +0000
++++ mythchanger.10f.beta/Makefile	2010-03-23 01:36:16.000000000 +0000
+@@ -1,4 +1,4 @@
+-prefix = /usr
++prefix = /data/LinHES-PKGBUILD/abs/extra-testing/community/mythtv-contrib/pkg/usr
+ 
+ CC = gcc
+ 
diff --git a/abs/extra-testing/community/mythtv-contrib/mythtv-contrib.install b/abs/extra-testing/community/mythtv-contrib/mythtv-contrib.install
new file mode 100644
index 0000000..bb7b801
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/mythtv-contrib.install
@@ -0,0 +1,7 @@
+post_install() {
+     echo ">>> AS IS WITHOUT WARRANTY."
+     echo ">>> DO NOT FILE BUG REPORTS ON COMPONENTS OF THIS PACKAGE."
+     echo ">>> ANY ISSUES WITH SHOULD BE TAKEN UP WITH THE COMPONENT'S"
+     echo ">>> AUTHOR."
+     echo ">>> See README's in /usr/share/doc/mythtv-contrib"
+}
diff --git a/abs/extra-testing/community/mythtv-contrib/sa3250cmd_make.patch b/abs/extra-testing/community/mythtv-contrib/sa3250cmd_make.patch
new file mode 100644
index 0000000..07bc653
--- /dev/null
+++ b/abs/extra-testing/community/mythtv-contrib/sa3250cmd_make.patch
@@ -0,0 +1,10 @@
+--- src/sa3250cmd/Makefile.orig	2010-03-23 00:31:02.000000000 +0000
++++ src/sa3250cmd/Makefile	2010-03-23 00:37:11.000000000 +0000
+@@ -1,6 +1,6 @@
+ TARGET=sa3250cmd
+ CFLAGS = -Wall -std=gnu99 
+-PREFIX = /usr/local
++PREFIX = /data/LinHES-PKGBUILD/abs/extra-testing/community/mythtv-contrib/pkg/usr
+ BINPATH = ${PREFIX}/bin
+ 
+ all: $(TARGET)
-- 
cgit v0.12