JackOfAll wrote: 
> he'd have added Bin/i386-linux to the bin path on x86_64 platform for
> backward compatibility, so if an x86_64 binary isn't available it "falls
> back" to trying for an i386 binary

Would the following change work for you? I don't have a 64-bit Linux
here, can't test, will do tomorrow:


Code:
--------------------
    diff --git a/Slim/Utils/OS.pm b/Slim/Utils/OS.pm
  index fbebd91..67ab323 100644
  --- a/Slim/Utils/OS.pm
  +++ b/Slim/Utils/OS.pm
  @@ -71,10 +71,9 @@
        # Initialise search path for findbin - called later in initialisation 
than init above
  
        # Reduce all the x86 architectures down to i386, including x86_64, so 
we only need one directory per *nix OS. 
  -     $class->{osDetails}->{'binArch'} = $Config::Config{'archname'};
  -     $class->{osDetails}->{'binArch'} =~ s/^x86_64-([^-]+).*/x86_64-$1/;
  -     $class->{osDetails}->{'binArch'} =~ s/^i[3456]86-([^-]+).*/i386-$1/;
  -
  +     my $binArch = $class->{osDetails}->{'binArch'} = 
$Config::Config{'archname'};
  +     $class->{osDetails}->{'binArch'} =~ 
s/^(?:i[3456]86|x86_64)-([^-]+).*/i386-$1/;
  +     
        # Reduce ARM to arm-linux
        if ( $class->{osDetails}->{'binArch'} =~ /^arm.*linux/ ) {
                $class->{osDetails}->{'binArch'} = 'arm-linux';
  @@ -86,6 +85,11 @@
        }
  
        my @paths = ( catdir($class->dirsFor('Bin'), 
$class->{osDetails}->{'binArch'}), catdir($class->dirsFor('Bin'), $^O), 
$class->dirsFor('Bin') );
  +
  +     # Linux x86_64 should check its native folder first
  +     if ( $binArch =~ s/^x86_64-([^-]+).*/x86_64-$1/ ) {
  +             unshift @paths, $binArch;
  +     }
        
        Slim::Utils::Misc::addFindBinPaths(@paths);
  
  diff --git a/Slim/Utils/PluginManager.pm b/Slim/Utils/PluginManager.pm
  index 908deb3..a91b50a 100644
  --- a/Slim/Utils/PluginManager.pm
  +++ b/Slim/Utils/PluginManager.pm
  @@ -334,7 +334,17 @@
  
                        main::DEBUGLOG && $log->debug("Adding Bin directory: 
[$binDir]");
  
  -                     Slim::Utils::Misc::addFindBinPaths( catdir($binDir, 
Slim::Utils::OSDetect::details()->{'binArch'}), $binDir );
  +                     my @paths = ( catdir($binDir, 
Slim::Utils::OSDetect::details()->{'binArch'}), $binDir );
  +
  +                     if ( Slim::Utils::OSDetect::details()->{'binArch'} =~ 
/i386-linux/i ) {
  +                             my $arch = $Config::Config{'archname'};
  +                             
  +                             if ( $arch && $arch =~ 
s/^x86_64-([^-]+).*/x86_64-$1/ ) {
  +                                     unshift @paths, $arch;
  +                             }
  +                     }
  +
  +                     Slim::Utils::Misc::addFindBinPaths( @paths );
                }
  
                # add skin folders even in noweb mode: we'll need them for the 
icons
--------------------



Michael

http://www.herger.net/slim-plugins - MusicArtistInfo, MusicInfoSCR,
Smart Mix
------------------------------------------------------------------------
mherger's Profile: http://forums.slimdevices.com/member.php?userid=50
View this thread: http://forums.slimdevices.com/showthread.php?t=99395

_______________________________________________
unix mailing list
unix@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to