diff options
| -rwxr-xr-x | abs/extra-testing/myth2ipod/PKGBUILD | 9 | ||||
| -rwxr-xr-x | abs/extra-testing/myth2ipod/myth2ipod (renamed from abs/extra-testing/myth2ipod/myth2ipod.txt) | 8 | ||||
| -rwxr-xr-x | abs/extra-testing/myth2ipod/myth2ipod.install | 14 | ||||
| -rwxr-xr-x | abs/extra-testing/myth2ipod/myth2ipod.patch | 35 | ||||
| -rwxr-xr-x | abs/extra-testing/myth2ipod/myth2ipod.txt.modified | 310 | 
5 files changed, 15 insertions, 361 deletions
diff --git a/abs/extra-testing/myth2ipod/PKGBUILD b/abs/extra-testing/myth2ipod/PKGBUILD index ea55613..4a4f3bf 100755 --- a/abs/extra-testing/myth2ipod/PKGBUILD +++ b/abs/extra-testing/myth2ipod/PKGBUILD @@ -1,20 +1,19 @@  pkgname=myth2ipod  pkgver=0.2 -pkgrel=15 +pkgrel=16  arch=("i686")  pkgdesc="A multimedia framework based on the MPEG-4 Systems standard"  url="myth2ipod.com"  depends=('gpac' 'nuvexport' )  install="myth2ipod.install" -source=( http://myth2ipod.com/myth2ipod.txt  http://myth2ipod.com/iPod.pm  myth2ipod.patch myth2ipod-userjob.sh) +source=( myth2ipod iPod.pm myth2ipod-userjob.sh)  build() {  	cd $startdir/src -	patch -p0 < myth2ipod.patch  -	install -D -m 755 myth2ipod.txt $startdir/pkg/usr/bin/myth2ipod +	install -D -m 755 myth2ipod $startdir/pkg/usr/bin/myth2ipod  	install -D -m 755 myth2ipod-userjob.sh /$startdir/pkg/usr/bin/myth2ipod-userjob.sh -	install -D -m755 iPod.pm $startdir/pkg/usr/local/share/nuvexport/export/ffmpeg/iPod.pm +	install -D -m755 iPod.pm $startdir/pkg/usr/share/nuvexport/export/ffmpeg/iPod.pm  } diff --git a/abs/extra-testing/myth2ipod/myth2ipod.txt b/abs/extra-testing/myth2ipod/myth2ipod index d3d0dab..73ca886 100755 --- a/abs/extra-testing/myth2ipod/myth2ipod.txt +++ b/abs/extra-testing/myth2ipod/myth2ipod @@ -15,7 +15,7 @@  	my $feedfile = "/myth/ipodfeed/feed.php";  	my $feedpath = "/myth/ipodfeed/";  	my $wwwloc = "/var/www/"; -	my $feedurl = "http://hostname/ipodfeed/"; +	my $feedurl = "http://REPLACEME/ipodfeed/";  	my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass";  # Some variables @@ -142,12 +142,12 @@ sub EncodeIt {  	}  	# Use nuvexport to do the work -	$cmd = "/usr/local/bin/nuvexport --chanid=$chanid --start=$start $nuvoptions --filename=$chanid\_$start.temp --path=$feedpath"; +	$cmd = "/usr/bin/nuvexport --chanid=$chanid --start=$start $nuvoptions --filename=$chanid\_$start.temp --path=$feedpath";  	print $cmd."\n";   	if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }   	# Now clean up the output so iPods with firmware 1.1 and above can use it -	$cmd = "/usr/local/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4"; +	$cmd = "/usr/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4";  	print $cmd."\n";   	if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }   	return 0; @@ -244,7 +244,7 @@ sub PrepSQLRead{  # Read the mysql.txt file in use by MythTV.  # could be in a couple places, so try the usual suspects      my $found = 0; -    my @mysql = ('/usr/local/share/mythtv/mysql.txt', +    my @mysql = ('/usr/share/mythtv/mysql.txt',                   '/usr/share/mythtv/mysql.txt',                   '/etc/mythtv/mysql.txt',                   '/usr/local/etc/mythtv/mysql.txt', diff --git a/abs/extra-testing/myth2ipod/myth2ipod.install b/abs/extra-testing/myth2ipod/myth2ipod.install index a1c1ce7..43e3e78 100755 --- a/abs/extra-testing/myth2ipod/myth2ipod.install +++ b/abs/extra-testing/myth2ipod/myth2ipod.install @@ -13,9 +13,9 @@ pre_remove() {  post_install() {  	. /etc/systemconfig -	mkdir /data/media/ipodfeed -	chown mythtv:users /data/media/ipodfeed -	ln -s /data/media/ipodfeed /data/srv/httpd/htdocs/ipodfeed +	mkdir /myth/ipodfeed +	chown mythtv:users /myth/ipodfeed +	ln -s /myth/ipodfeed /data/srv/httpd/htdocs/ipodfeed  	cp /usr/bin/myth2ipod /tmp  	sed -e "s/REPLACEME/$hostname/g" /tmp/myth2ipod > /usr/bin/myth2ipod @@ -25,9 +25,9 @@ post_install() {  post_upgrade() { -	mkdir /data/media/ipodfeed -	chown mythtv:users /data/media/ipodfeed -	ln -s /data/media/ipodfeed /data/srv/httpd/htdocs/ipodfeed +	mkdir /myth/ipodfeed +	chown mythtv:users /myth/ipodfeed +	ln -s /myth/ipodfeed /data/srv/httpd/htdocs/ipodfeed  	 /usr/bin/myth2ipod -rebuild  } @@ -38,4 +38,4 @@ post_remove() {  op=$1  shift -$op $*
\ No newline at end of file +$op $* diff --git a/abs/extra-testing/myth2ipod/myth2ipod.patch b/abs/extra-testing/myth2ipod/myth2ipod.patch deleted file mode 100755 index 95785ab..0000000 --- a/abs/extra-testing/myth2ipod/myth2ipod.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- myth2ipod.txt	2007-06-01 10:00:02.000000000 -0500 -+++ myth2ipod.txt.modified	2007-06-01 11:24:26.000000000 -0500 -@@ -12,10 +12,10 @@ - 	 - # User variables - 	my $portable = "ipod"; --	my $feedfile = "/myth/ipodfeed/feed.php"; --	my $feedpath = "/myth/ipodfeed/"; --	my $wwwloc = "/var/www/"; --	my $feedurl = "http://hostname/ipodfeed/"; -+	my $feedfile = "/data/media/ipodfeed/feed.php"; -+	my $feedpath = "/data/media/ipodfeed/"; -+	my $wwwloc = "/data/srv/httpd/htdocs/"; -+	my $feedurl = "http://REPLACEME/ipodfeed/"; - 	my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass"; - 	 - # Some variables -@@ -136,7 +136,7 @@ - 	# Create cutlist from commercial flagging if -cut was passed to the script - 	if ($cut == 1){ - 	printf("Generating cutlist\n");  --	$cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist"; -+	$cmd = "/usr/local/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist"; - 	print $cmd."\n";  - 	if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }  - 	} -@@ -147,7 +147,7 @@ - 	if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }  - 	 - 	# Now clean up the output so iPods with firmware 1.1 and above can use it --	$cmd = "/usr/local/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4"; -+	$cmd = "/usr/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4"; - 	print $cmd."\n";  - 	if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }  - 	return 0; diff --git a/abs/extra-testing/myth2ipod/myth2ipod.txt.modified b/abs/extra-testing/myth2ipod/myth2ipod.txt.modified deleted file mode 100755 index ab41a2f..0000000 --- a/abs/extra-testing/myth2ipod/myth2ipod.txt.modified +++ /dev/null @@ -1,310 +0,0 @@ -#!/usr/bin/perl -w -# VERSION: 1.0b2 - myth2ipod -# Get the latest version, and change log at myth2ipod.com -# Author: Chris aka Wififun - email: wififun@myth2ipod.com  -# Contributions and testing by Paul Egli -# modified to use nuvexport by starv at juniks dot org - -# Includes -	use DBI; -	use Getopt::Long; -	use File::Path; -	 -# User variables -	my $portable = "ipod"; -	my $feedfile = "/data/media/feed.php"; -	my $feedpath = "/data/media/"; -	my $wwwloc = "/data/srv/httpd/htdocs/"; -	my $feedurl = "http://REPLACEME/ipodfeed/"; -	my $nuvoptions ="--mode=iPod --nice=19 --cutlist --nodenoise --nodeinterlace --nomultipass"; -	 -# Some variables -	our ($dest, $format, $usage); -	our ($db_host, $db_user, $db_name, $db_pass, $video_dir); -	our ($hostname, $db_handle, $sql, $statement, $row_ref); -    our ($chanid, $start, $nuvfile, @nuvarray);	 -	my $rebuild = '0'; -	my $encode = '0'; -	my $debug = '0'; -	my $setup = '0'; -	my $cut = '0'; -	my( $rightnow ) = `date`;  - -GetOptions ("rebuild" => \$rebuild, -			"encode"   => \$encode, -			"debug"	=>	\$debug, -			"setup" => \$setup, -			"cut" => \$cut); - -if ($setup == 1){ -		system("clear"); -		print "Setup will do everything needed to run this script.\n"; -		print "This has only been tested on KnoppMyth R5A22.\n"; -		print "make sure you have edited the variables for your conguration.\n"; -		my $cksetup = &promptUser("\nAre you sure you want to procceed?","n"); -			if ($cksetup =~ "y") { -				DoSetup(); -				exit; -			} -			print "Setup exited. Nothing done.\n"; -		exit; -} -elsif ($rebuild == 1){ -		GenerateRSSFeed(); -		print "Rebuilding of RSS feed is complete.\n"; -		exit; -} -else { -		Encode4Portable(); -		print "$title is ready for your $portable\n"; -		 -		# Check to see if the feed file exists; if not, create it. -		if (! -e $feedfile) {  -		print "No feed file found. I will make one for you.\n"; -		GenerateRSSFeed(); -		print "All done.\n"; -		} -} - -sub Encode4Portable{ -	if ($#ARGV != 1) {  -		print "Encoding requires options.\nusage: myth2ipod <options> DIRECTORY FILE\n";  -		exit;  -	} -	 -	# Get the show information -	$directory = $ARGV[0];  -	$file = $ARGV[1];  -	@file = split(/_/, $file); -		$chanid = $file[0]; -		$start = substr $file[1],0,14; -		if($debug == 1){ print "$chanid\n$start\n"}; -	if (! -e $directory."/".$file){ -		print "Opps, the file ".$directory.$file." does not exist.\n"; -		exit; -	} -	 -	# Connect to the database -	PrepSQLRead(); -	$db_handle = DBI->connect("dbi:mysql:database=$db_name:host=$db_host", $db_user, $db_pass) -	or die "Cannot connect to database: $!\n\n"; -		$sql = "SELECT title, subtitle, description, category, starttime FROM recorded WHERE chanid = $chanid AND DATE_FORMAT(starttime,'%Y%m%d%H%i%s') = $start"; - -		$statement = $db_handle->prepare($sql) -			or die "Couldn't prepare query '$sql': $DBI::errstr\n"; -		 -		$statement->execute() -		or die "Couldn't execute query '$sql': $DBI::errstr\n"; -		$row_ref = $statement->fetchrow_hashref(); -		if($debug == 1){ print "$row_ref->{starttime}\n"}; -	$title = $row_ref->{title};  -	$subtitle = $row_ref->{subtitle}; -	$recorddate = $row_ref->{starttime};  -	$description = $row_ref->{description}; -	$category = $row_ref->{category}; -	$filename = $title."-".$subtitle."-".substr $start, 0, 8; -	$filename =~ s/ /_/g; -	$filename =~ s/&/+/g; -	$filename =~ s/\047//g; -    $filename =~ s/[^+0-9a-zA-Z_-]+/_/g; -    $filename =~ s/_$//g; -		 -	printf("Starting nuvexport...\n");  -		EncodeIt();  -	printf("Nuvexport completed, starting xml generation...\n");  -		CreateItemXML();  -	printf("XML file created for \"$filename\" : Yipeee\n");  -	printf("Cleaning up temporary files\n");  -		$cmd = "rm -f $feedpath$chanid\_$start.temp.mp4"; -		print $cmd."\n"; -		if(system($cmd)) { print "Removing nuvexport temp file failed\n"; } -		 -		# remove the cutlist incase we added it. -		if ($cut == 1){ -		printf("Generating cutlist\n");  -		$cmd = "/usr/bin/mythcommflag --chanid $chanid --starttime $start --clearcutlist"; -		print $cmd."\n";  -		if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }  -		} -	return 0; -} - -# -# Encode for Portable -# -sub EncodeIt {  -	# Create cutlist from commercial flagging if -cut was passed to the script -	if ($cut == 1){ -	printf("Generating cutlist\n");  -	$cmd = "/usr/local/bin/mythcommflag --chanid $chanid --starttime $start --gencutlist"; -	print $cmd."\n";  -	if(system($cmd)) { print "It looks like I was not able to generate a cutlist.\n"; }  -	} -	 -	# Use nuvexport to do the work -	$cmd = "/usr/local/bin/nuvexport --chanid=$chanid --start=$start $nuvoptions --filename=$chanid\_$start.temp --path=$feedpath"; -	print $cmd."\n";  -	if(system($cmd)) { print "Nuvexport encoding seems to have failed\n"; }  -	 -	# Now clean up the output so iPods with firmware 1.1 and above can use it -	$cmd = "/usr/bin/MP4Box -add $feedpath$chanid\_$start.temp.mp4 $feedpath$chanid\_$start.$portable.mp4"; -	print $cmd."\n";  -	if(system($cmd)) { print "MP4Box cleanup seems to have failed\n"; }  -	return 0; -} - -# -# Create XML with <ITEM> tag for this video file -# -sub CreateItemXML { -		open(ITEM, ">$feedpath$chanid\_$start.$portable.xml"); -			print ITEM "<item>\n";   -			print ITEM "<title>".&encodeForXML($title." - ".$subtitle)."</title>\n"; -			print ITEM "<itunes:author>MythTV</itunes:author>\n";   -			print ITEM "<author>MythTV</author>\n";   -			print ITEM "<itunes:category text=\"TV Shows\"></itunes:category>\n"; -			print ITEM "<comments>".&encodeForXML($file)."</comments>\n";   -			print ITEM "<description>".&encodeForXML($description)."</description>\n";   -			print ITEM "<pubDate>".$recorddate."</pubDate>\n";   -			print ITEM "<enclosure url=\"".&encodeForXML("$feedurl$chanid\_$start.$portable.mp4")."\" type=\"video/quicktime\" />\n";   -			print ITEM "<itunes:duration></itunes:duration>\n";   -			print ITEM "<itunes:keywords>".&encodeForXML($title." - ".$subtitle." - ".$category)."</itunes:keywords>\n"; -			print ITEM "<category>".&encodeForXML($category)."</category>\n";			 -			print ITEM "</item>\n"; -			print "\"$filename\" has been added to the feed.\n"; -		close(ITEM); -	return 0; -} - -# -# Generate the RSS feed by combining the ITEM XML Files -# -sub GenerateRSSFeed { - -	open(RSS, ">$feedfile"); -		print RSS "<?php\n";  -		print RSS "header(\"Content-Type: text/xml\");\n";  -		print RSS "echo \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\"; ?>\n";  -		print RSS "<rss xmlns:itunes=\"http://www.itunes.com/DTDs/Podcast-1.0.dtd\" version=\"2.0\">\n";  -		print RSS "<channel>\n";  -		print RSS "<title>MythTV - <? if (\$_GET['title'] == \"\") { \$title = \"*\"; echo \"Recorded Programs\"; }\n"; -		print RSS "else { \$title = \$_GET['title']; echo str_replace(\"_\",\" \",\$_GET['title']); } ?> </title>\n"; -		print RSS "<itunes:author>MythTV - myth2ipod</itunes:author>\n";  -		print RSS "<link>".&encodeForXML($feedurl)."</link>\n"; -		print RSS "<itunes:subtitle>Transcoded recording for your iPod Video.</itunes:subtitle>\n";  -		print RSS "<itunes:summary>Myth TV Recorded Programs for the iPod v.1</itunes:summary>\n";  -		print RSS "<description>Myth TV Recorded Programs for the iPod v.1</description>\n";  -		print RSS "<itunes:owner>\n";  -		print RSS "<itunes:name>MythTV</itunes:name>\n";  -		print RSS "<itunes:email>mythtv\@localhost</itunes:email>\n";  -		print RSS "</itunes:owner>\n";  -		print RSS "<itunes:explicit>No</itunes:explicit>\n";  -		print RSS "<language>en-us</language>\n";  -		print RSS "<copyright>Copyright 2005.</copyright>\n";  -		print RSS "<webMaster>mythtv\@localhost</webMaster>\n";  -		print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\" />\n";  -		print RSS "<itunes:category text=\"TV Shows\"></itunes:category>\n";  -		print RSS "<category>TV Shows</category>\n"; -		print RSS "<itunes:image href=\"http://myth2ipod.com/mythipod_200.jpg\"/>"; -		print RSS "<image>";  -		print RSS "<url>http://myth2ipod.com/mythipod_200.jpg</url>\n"; -		print RSS "<title>MythTV 2 iPod</title>\n"; -		print RSS "<link>".&encodeForXML($feedurl)."</link>\n";	 -		print RSS "<width>200</width>\n";		 -		print RSS "<height>200</height>\n";		 -		print RSS "</image>\n"; -		print RSS "<? foreach (glob(\$title\.\"*\.$portable\.xml\") as \$file) {include \$file;} ?>\n"; -		print RSS "</channel>\n";  -		print RSS "</rss>\n"; - 	close(RSS); -	if($debug == 1){ print "I created a feed file, was I supposed to?\n"}; - -	return 0; -} - -# substitute for XML entities -sub encodeForXML { -	local $result; -	$result = $_[0]; -	$result =~ s/&/&/g; -	$result =~ s/</</g; -	$result =~ s/>/>/g; -	$result; -} - - -# -# This code taken from one of the mythlink.sh scripts to get MySQL information -# -sub PrepSQLRead{ -# Get the hostname of this machine -    $hostname = `hostname`; -    chomp($hostname); -     -# Read the mysql.txt file in use by MythTV. -# could be in a couple places, so try the usual suspects -    my $found = 0; -    my @mysql = ('/usr/local/share/mythtv/mysql.txt', -                 '/usr/share/mythtv/mysql.txt', -                 '/etc/mythtv/mysql.txt', -                 '/usr/local/etc/mythtv/mysql.txt', -                 "$ENV{HOME}/.mythtv/mysql.txt", -                 'mysql.txt' -                ); -    foreach my $file (@mysql) { -        next unless (-e $file); -        $found = 1; -        open(CONF, $file) or die "Unable to open $file:  $!\n\n"; -        while (my $line = <CONF>) { -        # Cleanup -            next if ($line =~ /^\s*#/); -            $line =~ s/^str //; -            chomp($line); -        # Split off the var=val pairs -            my ($var, $val) = split(/\=/, $line, 2); -            next unless ($var && $var =~ /\w/); -            if ($var eq 'DBHostName') { -                $db_host = $val; -            } -            elsif ($var eq 'DBUserName') { -                $db_user = $val; -            } -            elsif ($var eq 'DBName') { -                $db_name = $val; -            } -            elsif ($var eq 'DBPassword') { -                $db_pass = $val; -            } -        # Hostname override -            elsif ($var eq 'LocalHostName') { -                $hostname = $val; -            } -        } -        close CONF; -    } -    die "Unable to locate mysql.txt:  $!\n\n" unless ($found && $db_host); -    return 0; -} - -sub promptUser { -   local($promptString,$defaultValue) = @_; -   if ($defaultValue) { -      print $promptString, "[", $defaultValue, "]: "; -   } else { -      print $promptString, ": "; -   } - -   $| = 1;               # force a flush after our print -   $_ = <STDIN>;         # get the input from STDIN (presumably the keyboard) -   chomp; -   if ("$defaultValue") { -      return $_ ? $_ : $defaultValue;    # return $_ if it has a value -   } else { -      return $_; -   } -} - -sub DoSetup { -	print "\nNot ready yet. How do you send the cd command from perl?\n"; -	return 0; -}  | 
