123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package Slim::Utils::OS::OpenADK;
- # Logitech Media Server Copyright 2001-2011 Logitech.
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License,
- # version 2.
- use strict;
- use FindBin qw($Bin);
- use base qw(Slim::Utils::OS::Linux);
- sub initDetails {
- my $class = shift;
- $class->{osDetails} = $class->SUPER::initDetails();
- # package specific addition to @INC to cater for plugin locations
- $class->{osDetails}->{isDebian} = 1 ;
- unshift @INC, '/usr/share/logitechmediaserver';
- unshift @INC, '/usr/share/logitechmediaserver/CPAN';
-
- return $class->{osDetails};
- }
- =head2 dirsFor( $dir )
- Return OS Specific directories.
- Argument $dir is a string to indicate which of the server directories we
- need information for.
- =cut
- sub dirsFor {
- my ($class, $dir) = @_;
- my @dirs = ();
-
- if ($dir =~ /^(?:oldprefs|updates)$/) {
- push @dirs, $class->SUPER::dirsFor($dir);
- } elsif ($dir =~ /^(?:Firmware|Graphics|HTML|IR|MySQL|SQL|lib|Bin)$/) {
- push @dirs, "/usr/share/logitechmediaserver/$dir";
- } elsif ($dir eq 'Plugins') {
-
- push @dirs, $class->SUPER::dirsFor($dir);
- push @dirs, "/usr/share/perl5/Slim/Plugin", "/usr/share/logitechmediaserver/Plugins";
-
- } elsif ($dir =~ /^(?:strings|revision)$/) {
- push @dirs, "/usr/share/logitechmediaserver";
- } elsif ($dir eq 'libpath') {
- push @dirs, "/usr/share/logitechmediaserver";
- } elsif ($dir =~ /^(?:types|convert)$/) {
- push @dirs, "/etc/logitechmediaserver";
- } elsif ($dir =~ /^(?:prefs)$/) {
- push @dirs, $::prefsdir || "/var/lib/logitechmediaserver/prefs";
- } elsif ($dir eq 'log') {
- push @dirs, $::logdir || "/var/log/logitechmediaserver";
- } elsif ($dir eq 'cache') {
- push @dirs, $::cachedir || "/var/lib/logitechmediaserver/cache";
- } elsif ($dir =~ /^(?:music|playlists)$/) {
- push @dirs, '';
- } else {
- warn "dirsFor: Didn't find a match request: [$dir]\n";
- }
- return wantarray() ? @dirs : $dirs[0];
- }
- # Bug 9488, always decode on Ubuntu/Debian
- sub decodeExternalHelperPath {
- return Slim::Utils::Unicode::utf8decode_locale($_[1]);
- }
- sub scanner {
- return '/usr/sbin/logitechmediaserver-scanner';
- }
- 1;
|