Re: [ATrpms-users] MythTV 0.24 x86_64?

Jonathan Martens <[email protected]>
Newsgroups gmane.linux.redhat.rpm.atrpms.devel,gmane.linux.redhat.rpm.atrpms.general
Message-ID <[email protected]>
On 3-12-2010 22:46, Axel Thimm wrote:
> On Fri, 2010-12-03 at 13:19 -0800, Blammo wrote:
>> Error: Missing Dependency: libcrystalhd.so.3()(64bit) is needed by
>> package libmyth-0.24_0-0.24-254.el5.x86_64 (atrpms-testing)
>
> OK, just fixed, will be available with your next yum update command!

Thanks Axel, finally installed MythTV 0.25 on my x86-64 EL5 system. 
There is one small issue though for us on EL5, there is no PHP 5.3 
available and this is required by MythWeb.

I have been able to manually fix it with the work-around in attached 
patch. Any change that can be applied to the EL5 build?

Kind regards,

Jonathan
mythweb-php-5.1+.patch (text/plain, 2.7 KB)
Index: mythweb/includes/compat.php
===================================================================
--- mythweb/includes/compat.php	(revision 0)
+++ mythweb/includes/compat.php	(revision 0)
@@ -0,0 +1,49 @@
+<?php
+
+if ( !function_exists( 'get_called_class' ) ) {
  +  function get_called_class( $bt = false, $l = 1 )
  +  {
    +    if ( !$bt ) $bt = debug_backtrace();
    +    if ( !isset( $bt[$l] ) ) throw new Exception( "Cannot find called class -> stack level too deep." );
    +    if ( !isset( $bt[$l]['type'] ) ) {
      +      throw new Exception ( 'type not set' );
      +    } else switch ( $bt[$l]['type'] ) {
        +      case '::':
        +        $lines = file( $bt[$l]['file'] );
        +        $i = 0;
        +        $callerLine = '';
+        do {
  +          $i++;
  +          $callerLine = $lines[$bt[$l]['line'] - $i] . $callerLine;
  +        } while ( stripos( $callerLine, $bt[$l]['function'] ) === false
        +);
+        preg_match( '/([a-zA-Z0-9\_]+)::' . $bt[$l]['function'] . '/',
        +          $callerLine,
        +          $matches );
        +        if ( !isset( $matches[1] ) ) {
+          // must be an edge case.
        +          throw new Exception ( "Could not find caller class: originating method call is obscured." );
          +        }
        +        switch ( $matches[1] ) {
          +          case 'self':
          +          case 'parent':
          +            return get_called_class( $bt, $l + 1 );
          +          default:
          +            return $matches[1];
          +        }
        +        // won't get here.
        +      case '->': switch ( $bt[$l]['function'] ) {
          +          case '__get':
+            // edge case -> get class of calling object
          +            if ( !is_object( $bt[$l]['object'] ) ) throw new
          +              Exception ( "Edge case fail. __get called on non object.");
          +            return get_class( $bt[$l]['object'] );
          +          default: return $bt[$l]['class'];
          +        }
        +
        +      default: throw new Exception ( "Unknown backtrace method type" );
        +    }
    +  }
  +}
+
+?>
\ No newline at end of file
Index: mythweb/includes/php_version_check.php
===================================================================
--- mythweb/includes/php_version_check.php	(revision 27408)
+++ mythweb/includes/php_version_check.php	(working copy)
@@ -12,7 +12,7 @@
  * @package     MythWeb
  *
 /**/
-    define('PHP_MIN_VERSION', floatval(5.3));
+    define('PHP_MIN_VERSION', floatval(5.1));

 // Make sure we're running a new enough version of php
     if (floatval(substr(phpversion(), 0, 3)) < PHP_MIN_VERSION)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.