diff options
10 files changed, 1107 insertions, 19 deletions
diff --git a/media-sound/logitechmediaserver-bin/ChangeLog b/media-sound/logitechmediaserver-bin/ChangeLog index fcf0a9c..f237a51 100644 --- a/media-sound/logitechmediaserver-bin/ChangeLog +++ b/media-sound/logitechmediaserver-bin/ChangeLog @@ -1,7 +1,38 @@ # ChangeLog for media-sound/logitechmediaserver-bin -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 13 Jan 2014; Stuart Hickinbottom <stuart@hickinbottom.com> + files/logitechmediaserver.conf.d, files/logitechmediaserver.init.d, + files/logitechmediaserver.service: + Removed configuration settings for 7.8 + + Removed the settings for media directory and playlist from + /etc/conf.d/logitechmediaserver because these were not working and + has led to some confusion. + + See /opt/logitechmediaserver/Changelog*.html following installation for + detailed changelog. + +*logitechmediaserver-bin-7.8_pre20140105 (12 Jan 2014) + + 12 Jan 2014; Stuart Hickinbottom <stuart@hickinbottom.com> + +logitechmediaserver-bin-7.8_pre20140105.ebuild, + +files/logitechmediaserver-bin-7.8_pre20140105-client-playlists-gentoo.patch, + +files/logitechmediaserver-bin-7.8_pre20140105-fix-transition-sample-rates2.p + atch, + +files/logitechmediaserver-bin-7.8_pre20140105-remove-softlink-target-check.p + atch, +files/logitechmediaserver-bin-7.8_pre20140105-uuid-gentoo.patch, + +files/logitechmediaserver.service, files/logitechmediaserver.conf.d: + Added 7.8_pre20140105 ebuild + + This is a pre-release of 7.8 (which has proven very stable for + me), built from a snapshot directly from Logitech's github + repository. Significant changes are that Perl up to 5.16 is + supported on x86, and up to 5.18 on amd64 (although I've only + personally tested it with 5.16). Additionally, a systemd unit is + installed for folks who use it. + *logitechmediaserver-bin-7.7.3 (23 Aug 2013) 23 Aug 2013; Stuart Hickinbottom <stuart@hickinbottom.com> diff --git a/media-sound/logitechmediaserver-bin/Manifest b/media-sound/logitechmediaserver-bin/Manifest index 71167dd..f3966d8 100644 --- a/media-sound/logitechmediaserver-bin/Manifest +++ b/media-sound/logitechmediaserver-bin/Manifest @@ -8,11 +8,18 @@ AUX logitechmediaserver-bin-7.7.3-client-playlists-gentoo.patch 395 SHA256 6ffa1 AUX logitechmediaserver-bin-7.7.3-fix-transition-sample-rates2.patch 5351 SHA256 96809cd24a48e3ffe9849967b8ae426ddbda43388399a5ace39e1753afc16c70 SHA512 db80f58129e3d60cdc6fbf3d039827cb55906ceafcf1f91c5425eae88b7d87a0d9ccf2847ac304fe24ca5e3b57b002f3c4f6a33a3d7d6838f93bbce1dc506432 WHIRLPOOL 080d19a145419437c041ff6c196392c5bad1dfd5a5dee6e9de9f09a44acc2d841899f8442b5b10be9bb3da6cf3d889392fcaa3c97eb42a5ff5060b425c367f0c AUX logitechmediaserver-bin-7.7.3-remove-softlink-target-check.patch 502 SHA256 069005bba8fe7f18965b128d0207361b849ebf4049c6ee02da15d810cf8e847b SHA512 6f5ca88f52bb2c243e730803e4677850a774ce0fffc69b0e98a5f2dfd682594433ff9714870b62aaf028ee5f691da2902b0e104129759d3945b95fd70e200d99 WHIRLPOOL 0a2f394bc666f53c51a0ded947d4544c0250114afa8be34b829e995ce8de2329922da3272e1700ebf0053a6533819c4ebe7f98dc9cd1c800db6a193b884d3e15 AUX logitechmediaserver-bin-7.7.3-uuid-gentoo.patch 525 SHA256 032f9edec613661f691797934cf73191c8ac94269cff59773c365f20603f01c4 SHA512 4c8a65893842aa9c0be21b3ad59fcf9f350e4c1b169099f4ffafe18b298ee7860693d529a3a7d81d7f4251bad5904f975e26e5fc2a33312003354bdda3e4bb87 WHIRLPOOL e74772fec480bc46d73073d5ce11e6052758ef20f636e99a74498ae3fe624b96241f3df7d36f63a94b34dbfc3017385872ada16698c6ff6c6f4c33e471c88348 -AUX logitechmediaserver.conf.d 1138 SHA256 07425063527c8e76f6a78af67689f19cee574fd32a20817fb6a8716ef1b709e1 SHA512 bd07fb9fd460bae650bc86f44b27a60d862a734bcba833870dbd814cc63162bdbf870b21a5ce6b5d0166d140cc411b0a3a8a9c41380fb7c6d63b9f750a79041f WHIRLPOOL fbdf39892b6f423a8c0791063baa0bd0d93ff6726c387c269c0d042a2bb78fe8554d61f0e43bff179cf71809c536b53cd43489fca83a8a8eace7c0f02955fd69 -AUX logitechmediaserver.init.d 1208 SHA256 60b917c12205bf3d00a62e218513fce388dbb669a813e2926f8350cd9d0b012d SHA512 1ae58d69515a53c8528498e52a50b50f522d11b788648147e41105c814c0182b60c9555e2caf4d10a818434e23590cfe1b67fc6967ebc7c444c1636c3d219565 WHIRLPOOL 00b7ff061a5be78d1e241e123bedd33ebea811fe283cb45836c8633fa64f9833438326f2d5dee5c5321abf15f9fa6f594ad9cf1d7382fbfa9bee4c1ac824db4c +AUX logitechmediaserver-bin-7.8_pre20140105-client-playlists-gentoo.patch 395 SHA256 6ffa1ba22f6e519c02abafd4ae16055a4cb555af113bbac25f3a30d0a85f8845 SHA512 45ee8ee475b5dc798081608c95a8c0fffa4e4f5e4b03c53f38288fc534bf9818d6c7b8829fbbef2e5e5d8790922a7f77b557277ffda863ba20c937c795fefc4a WHIRLPOOL 481f9451a125119edf92e9e5f413628b3bdfb698b27271ccc36d033f91c538f1ac0796f5dc0117cfcb80ae0bfbbc6d8b3fea62985fcce1a1900ae0f8e631be4b +AUX logitechmediaserver-bin-7.8_pre20140105-fix-transition-sample-rates2.patch 5351 SHA256 96809cd24a48e3ffe9849967b8ae426ddbda43388399a5ace39e1753afc16c70 SHA512 db80f58129e3d60cdc6fbf3d039827cb55906ceafcf1f91c5425eae88b7d87a0d9ccf2847ac304fe24ca5e3b57b002f3c4f6a33a3d7d6838f93bbce1dc506432 WHIRLPOOL 080d19a145419437c041ff6c196392c5bad1dfd5a5dee6e9de9f09a44acc2d841899f8442b5b10be9bb3da6cf3d889392fcaa3c97eb42a5ff5060b425c367f0c +AUX logitechmediaserver-bin-7.8_pre20140105-remove-softlink-target-check.patch 502 SHA256 069005bba8fe7f18965b128d0207361b849ebf4049c6ee02da15d810cf8e847b SHA512 6f5ca88f52bb2c243e730803e4677850a774ce0fffc69b0e98a5f2dfd682594433ff9714870b62aaf028ee5f691da2902b0e104129759d3945b95fd70e200d99 WHIRLPOOL 0a2f394bc666f53c51a0ded947d4544c0250114afa8be34b829e995ce8de2329922da3272e1700ebf0053a6533819c4ebe7f98dc9cd1c800db6a193b884d3e15 +AUX logitechmediaserver-bin-7.8_pre20140105-uuid-gentoo.patch 525 SHA256 032f9edec613661f691797934cf73191c8ac94269cff59773c365f20603f01c4 SHA512 4c8a65893842aa9c0be21b3ad59fcf9f350e4c1b169099f4ffafe18b298ee7860693d529a3a7d81d7f4251bad5904f975e26e5fc2a33312003354bdda3e4bb87 WHIRLPOOL e74772fec480bc46d73073d5ce11e6052758ef20f636e99a74498ae3fe624b96241f3df7d36f63a94b34dbfc3017385872ada16698c6ff6c6f4c33e471c88348 +AUX logitechmediaserver.conf.d 477 SHA256 4a2a77f66f35e6ea9867784de04c7552cfe36d9d583bf423ab2e871f85606713 SHA512 686c00e7a28df15369aad74d46700d5a943bf539a57828f83e313d82014c8610c41481aff2678908f90f6bf702c0ac5408bfc7909b155c21ddc5fec21fccac28 WHIRLPOOL 615d2acdeb804507082fe858925a16c228e7d07199ead5443219a5a78c891ae035b7e9046e9a4487e8c838f288d8421fd3cc642a38a0ee21ed3d919c3f673df3 +AUX logitechmediaserver.init.d 1137 SHA256 797d465978b29712fa53148b23fc9eed59f22d2c56e3e53273874fb244388666 SHA512 f2d639b64bb4ec6dbbdd1e197f6ae1b88e1512bea5de894f89214300e6e2fd5767fea1d3377c6dafcf62d3d2c733546f5df21ae515dfd7b3b379f2ceece30007 WHIRLPOOL bf76830f401bb155f8a370520917509d4ca49b7972a0a5830c3bad55ac9a8a2e5071b3ef15c408ff9aec78595eba7c6ac0df0b9f3ec82e3eb029a804a6fae0cf AUX logitechmediaserver.logrotate.d 347 SHA256 82fd4cdb8537b610ec220545afc606c4b39481d449c08215073732fa27a247d0 SHA512 5787166d7318e494c574e965f47f6074805371283f5fd33955e02302ba43ffc64b2aa18f1c5a081d23ba49fb76cf512cfd966e5d68496fa54c05f911bab422b6 WHIRLPOOL 297329d107bc41846a4cc617c5cb05983e2839372b2684801d01ecea171d7a31603659d539e19b31559338de1702334d053c174acab697eda3d5f09e01c0efc5 +AUX logitechmediaserver.service 505 SHA256 b3042d06c4ed0217888d3d94ac78825b47bf2f667a6662c98781bd1fcc3781f4 SHA512 e07226d91a9806ff2c57e5868ef1cabbcda3bd90df0de3447071ee5d9b9b014a15c4b85885c0682b556addb8a103daf2a60a0d06539ea64decb75e7b84ad957b WHIRLPOOL 3a6846ccbd14ce5a167e72cbf97c9c316e99ff77f6c690887861e61376c3fdb975008be2f625ec946e01feab567fd21b35bad5b8331a699502f3243a67a9dc4b +DIST cd49c0fd9518fdc978d8e32c668c76f506ad5bbd.zip 157365878 SHA256 56186340710612691c5e4b1dae54880f38162d3ec1f152a7c48e1b94a886d959 SHA512 79f704bd4f1f44ff07d27aa4aede46f7b039436b474778c46b4a6e1a777aee68f7c9708b431994912306e5c46f884f23da9a3892704a305d3a89e80c711495bf WHIRLPOOL 70a11d0e6da93e9e46e04260467437d2540a41f34525b76ac0cb8a659e20e40d2d9c7619c46d3c4148b963d1c6e9e4106efc24e70c788b045f900ab5b5873db5 DIST logitechmediaserver-7.7.2.tgz 128376300 SHA256 d7e6c2c49d4d4060e28ba5ada39be3553807b6f3949116371aa4d1ea53510e2b SHA512 7982557947d31f3c92cc1efa6fa14324e01b80cbd0d27d1a6f7528ec2e14f534d2eca43e1772b6de1dded9eff3950b978e7be7079bd57361d651a298170b66e3 WHIRLPOOL 51e59690b971ae431731b88e273671a718d8ff8057db710681a3c7859265006ea82be46df94944e0a79dca012dcae96fe2afd9069fef343fa5b6cca2a490e739 DIST logitechmediaserver-7.7.3.tgz 105690719 SHA256 829c78859ba7e460a79b3700341a1265d8c3dbdb1f679adff3fb407549828c4f SHA512 0c6d5b45f6ee98513f21400421e7fe6f6aae63e6a9040b50dec8250344574b3fbf1d10b75e336ccceba93198240b77cd1f177e1556438d4e32f8f91450625a30 WHIRLPOOL dfd7f426982119751ffb66268cba0506362c24fec23c0b9193e4339037d1a2dfb001d92a0efff2ed1e965a3b80560726cd740d56cf8a876ad8ae0cd05eddc59b EBUILD logitechmediaserver-bin-7.7.2-r2.ebuild 51271 SHA256 b83a1011420d104d77392a70bfd41c8d03a9d69fc97a04ce5b94c321f7f8ba44 SHA512 399a1a0fffc685ef09c58328ea353e95701df84a404593210b59e5bdb77819f59f75ff7aba1c30a669ef04a1dd90cadfcc52b6328549aa5345840411d0e98658 WHIRLPOOL 6e6d753ad22eb2248495c9ba89eafa05f1cf1a005b493ea3e1e289fa1ea70f0944a14431fb90a14d7baae4bdeec9ddf04bd28e7deae79ded2ef2b47e74542729 EBUILD logitechmediaserver-bin-7.7.3.ebuild 51755 SHA256 7363b3a454fbe45fd2e51f502b4eef05a24e6263ddfc3c1757efad735b5a2015 SHA512 8ef24ae14dd766c4f7313f81f47583f3d0497fbd7b711dd933a894c6d0f4d2376b54c2544a4fbfa3c833858cdb6090c5f3a32a4de0b6fb05bee84e3276643fd5 WHIRLPOOL 6185e095d61de8344b42cb33615c76b5a835394fceca3931045a078aa4210165d0e86ef694905914a08bfcef54d7b4abf0d25cf79fd01be0abec26058c99207d +EBUILD logitechmediaserver-bin-7.8_pre20140105.ebuild 59962 SHA256 bf753531daca905add9681b9e84d2e848f2c7c5c117ae7955eec26cbc5c42276 SHA512 9747d29501f3003c634be6252202a3b04f32d56c3f29a21951dd429237c869a106f5aae6406a629d7e82bc97c8cc7f9dfedf26bab16bed8dbb6be01a96611464 WHIRLPOOL dcb726f80e41d287c1497e7f08d61e77575f9b25979e3efc59ea54f10cf75f0e97e82bc598a0bb664708588ccb79e56a11348b2a83a0fde7fddc9dc5d31317a5 MISC metadata.xml 696 SHA256 fbdc4cc9be99f9293be5c7527ea8f5662c87e79d8f2408d53b5137e340edf763 SHA512 50a24dec62483c8ab21de63397a113b7ae218ea3fb5f454aecb7c647ecf336dfc0e4d276f594e5dd036f8851fad9a28c2077bf10f94ee0de591cafbb9f3a80e2 WHIRLPOOL c569ea771de1dacfc99c2495d8a4872ac95ede6e75b593fe2f893cbcf476d32d5daedeec9685ad7c84734fb1bbf421523ecd1ac9d8e1500886275ea90179dbb7 diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-client-playlists-gentoo.patch b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-client-playlists-gentoo.patch new file mode 100644 index 0000000..b906595 --- /dev/null +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-client-playlists-gentoo.patch @@ -0,0 +1,11 @@ +--- Slim/Player/Playlist.pm.orig 2012-05-29 13:43:52.700212318 +0100 ++++ Slim/Player/Playlist.pm 2012-05-29 13:43:52.692212037 +0100 +@@ -1042,7 +1042,7 @@ + $id =~ s/://g; + + return Slim::Utils::Misc::fileURLFromPath( +- catfile(Slim::Utils::OSDetect::dirsFor('prefs'), "clientplaylist_$id.m3u") ++ catfile(Slim::Utils::OSDetect::dirsFor('ClientPlaylists'), "clientplaylist_$id.m3u") + ); + } + diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-fix-transition-sample-rates2.patch b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-fix-transition-sample-rates2.patch new file mode 100644 index 0000000..313663b --- /dev/null +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-fix-transition-sample-rates2.patch @@ -0,0 +1,171 @@ +diff --git a/Slim/Player/ReplayGain.pm b/Slim/Player/ReplayGain.pm +index 10afe1f..d142364 100644 +--- a/Slim/Player/ReplayGain.pm ++++ b/Slim/Player/ReplayGain.pm +@@ -74,10 +74,7 @@ sub fetchGainMode { + return preventClipping( $track->replay_gain(), $track->replay_peak() ); + } + +-# Based on code from James Sutula's Dynamic Transition Updater plugin, +-# this method determines whether tracks at a given offset from each +-# other in the playlist are similarly adjacent within the same album. +-sub trackAlbumMatch { ++sub findTracksByIndex { + my $class = shift; + my $client = shift; + my $offset = shift; +@@ -114,10 +111,24 @@ sub trackAlbumMatch { + # Get the track objects + my $current_url = Slim::Player::Playlist::song($client, $current_index); + my $current_track = Slim::Schema->objectForUrl({ 'url' => $current_url, 'create' => 1, 'readTags' => 1 }); +- ++ + my $compare_url = Slim::Player::Playlist::song($client, $compare_index); + my $compare_track = Slim::Schema->objectForUrl({ 'url' => $compare_url, 'create' => 1, 'readTags' => 1 }); + ++ return ($current_track, $compare_track); ++} ++ ++# Based on code from James Sutula's Dynamic Transition Updater plugin, ++# this method determines whether tracks at a given offset from each ++# other in the playlist are similarly adjacent within the same album. ++sub trackAlbumMatch { ++ my $class = shift; ++ my $client = shift; ++ my $offset = shift; ++ ++ my ($current_track, $compare_track) = $class->findTracksByIndex($client, $offset); ++ return if (!$current_track || !$compare_track); ++ + if (!blessed($current_track) || !blessed($compare_track)) { + + logError("Couldn't find object for track: [$current_track] or [$compare_track] !"); +@@ -178,18 +189,88 @@ sub trackAlbumMatch { + return 0; + } + ++# Identify whether the sample rates match between two tracks in a ++# client playlist. This is modelled after the trackAlbumMatch function ++# above. ++sub trackSampleRateMatch { ++ my $class = shift; ++ my $client = shift; ++ my $offset = shift; ++ ++ my ($current_track, $compare_track) = $class->findTracksByIndex($client, $offset); ++ return if (!$current_track || !$compare_track); ++ ++ if (!blessed($current_track) || !blessed($compare_track)) { ++ ++ logError("Couldn't find object for track: [$current_track] or [$compare_track] !"); ++ ++ return 0; ++ } ++ ++ if (!$current_track->can('samplerate') || !$compare_track->can('samplerate')) { ++ ++ logError("Couldn't a find valid object for track: [$current_track] or [$compare_track] !"); ++ ++ return 0; ++ } ++ ++ # For remote tracks, get metadata from the protocol handler ++ if ( $current_track->remote ) { ++ if ( !$compare_track->remote ) { ++ # Other track is not remote, fail ++ return; ++ } ++ ++ my $current_meta = {}; ++ my $compare_meta = {}; ++ ++ my $current_handler = Slim::Player::ProtocolHandlers->handlerForURL( $current_track->url ); ++ my $compare_handler = Slim::Player::ProtocolHandlers->handlerForURL( $compare_track->url ); ++ ++ if ( $current_handler && $current_handler->can('getMetadataFor') ) { ++ $current_meta = $current_handler->getMetadataFor( $client, $current_track->url ); ++ } ++ ++ if ( $compare_handler && $compare_handler->can('getMetadataFor') ) { ++ $compare_meta = $compare_handler->getMetadataFor( $client, $compare_track->url ); ++ } ++ ++ if ( $current_meta->{samplerate} ++ && $compare_meta->{samplerate} ++ && $current_meta->{samplerate} eq $compare_meta->{samplerate} ++ ) { ++ # Sample rate metadata matches ++ return 1; ++ } ++ else { ++ return; ++ } ++ } ++ ++ # Check sample rates match ++ my $compare_rate = $compare_track->samplerate; ++ my $current_rate = $current_track->samplerate; ++ if ($compare_rate && $current_rate && ++ ($compare_rate == $current_rate)) { ++ ++ return 1; ++ } ++ ++ return 0; ++} ++ + # Bug 5119 + # Reduce the gain value if necessary to avoid clipping + sub preventClipping { + my ( $gain, $peak ) = @_; +- ++ + if ( defined $peak && defined $gain && $peak > 0 ) { + my $noclip = -20 * ( log($peak) / log(10) ); + if ( $noclip < $gain ) { + return $noclip; + } + } +- ++ + return $gain; + } + +diff --git a/Slim/Player/Squeezebox.pm b/Slim/Player/Squeezebox.pm +index dbcf313..e93fdcf 100644 +--- a/Slim/Player/Squeezebox.pm ++++ b/Slim/Player/Squeezebox.pm +@@ -994,19 +994,30 @@ sub stream_s { + } + } + ++ # Don't do transitions if the sample rates of the two ++ # songs differ. This avoids some unpleasant white ++ # noise from (at least) the Squeezebox Touch when ++ # using the analogue outputs. This might be bug#1884. ++ if (!Slim::Player::ReplayGain->trackSampleRateMatch($master, -1) ++ || ++ !Slim::Player::ReplayGain->trackSampleRateMatch($master, 1)) { ++ main::INFOLOG && $log->info('Overriding transition due to differing sample rates'); ++ $transitionType = 0; ++ } ++ + } +- ++ + if ($transitionDuration > $client->maxTransitionDuration()) { + $transitionDuration = $client->maxTransitionDuration(); + } +- ++ + if ( main::INFOLOG && $log->is_info ) { + $log->info(sprintf( + "Starting decoder with format: %s flags: 0x%x autostart: %s buffer threshold: %s output threshold: %s samplesize: %s samplerate: %s endian: %s channels: %s", + $formatbyte, $flags, $autostart, $bufferThreshold, $outputThreshold, $pcmsamplesize, $pcmsamplerate, $pcmendian, $pcmchannels, + )); + } +- ++ + my $frame = pack 'aaaaaaaCCCaCCCNnN', ( + 's', # command + $autostart, diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-remove-softlink-target-check.patch b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-remove-softlink-target-check.patch new file mode 100644 index 0000000..f10c069 --- /dev/null +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-remove-softlink-target-check.patch @@ -0,0 +1,20 @@ +diff --git a/Slim/Utils/Misc.pm b/Slim/Utils/Misc.pm +index fca9db1..3d9f7f4 100644 +--- a/Slim/Utils/Misc.pm ++++ b/Slim/Utils/Misc.pm +@@ -852,15 +852,7 @@ sub fileFilter { + elsif ($validRE && -f _) { + return 0 if $item !~ $validRE; + } +- elsif ($validRE && -l _ && defined ($target = readlink($fullpath))) { +- # fix relative/absolute path +- $target = ($target =~ /^\// ? $target : catdir($dirname, $target)); + +- if (-f $target) { +- return 0 if $target !~ $validRE; +- } +- } +- + return 1; + } + diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-uuid-gentoo.patch b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-uuid-gentoo.patch new file mode 100644 index 0000000..c94aef8 --- /dev/null +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver-bin-7.8_pre20140105-uuid-gentoo.patch @@ -0,0 +1,14 @@ +--- slimserver.pl.orig 2012-05-29 13:43:52.700212318 +0100 ++++ slimserver.pl 2012-04-01 22:00:00.111597353 +0100 +@@ -440,8 +440,9 @@ + + # Generate a UUID for this SC instance on first-run + if ( !$prefs->get('server_uuid') ) { +- require UUID::Tiny; +- $prefs->set( server_uuid => UUID::Tiny::create_UUID_as_string( UUID::Tiny::UUID_V4() ) ); ++ require Data::UUID; ++ my $ug = new Data::UUID; ++ $prefs->set( server_uuid => lc $ug->create_str() ); + } + + main::INFOLOG && $log->info("Server binary search path init..."); diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver.conf.d b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.conf.d index 68d4094..146d957 100644 --- a/media-sound/logitechmediaserver-bin/files/logitechmediaserver.conf.d +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.conf.d @@ -1,18 +1,5 @@ # /etc/conf.d/logitechmediaserver -# Niceness level for the Logitech Media Server process. If not specified then -# the default is to run at standard priority. Uncomment the following to run -# at a high priority (in order to try to minimise drop-outs due to audio -# starvation of the players). Note that this requires "OpenRC", which will -# become the standard init system for Gentoo at some point. If you are not -# using OpenRC yet, this setting will have no effect: -#LMS_NICENESS=-10 - -# Default path of your music library and playlists. You can leave these -# undefined and configure them through the web interface instead. -#LMS_DIR=/mnt/media/Music -#LMS_PLAYLISTS_DIR=/mnt/media/Playlists - # The following contains any other options you want to specify, such as default # logging options. The example below will prevent the discovery and display of # UPnP devices within your players. diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver.init.d b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.init.d index f398f13..eadbe72 100755..100644 --- a/media-sound/logitechmediaserver-bin/files/logitechmediaserver.init.d +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.init.d @@ -1,5 +1,5 @@ #!/sbin/runscript -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header$ @@ -39,8 +39,6 @@ start() { --cachedir=${cachedir} \ --prefsdir=${prefsdir} \ --logdir=${logdir} \ - --audiodir=${LMS_MUSIC_DIR} \ - --playlistdir=${LMS_PLAYLISTS_DIR} \ ${LMS_OPTS} eend $? "Failed to start Logitech Media Server" diff --git a/media-sound/logitechmediaserver-bin/files/logitechmediaserver.service b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.service new file mode 100644 index 0000000..8ee4c48 --- /dev/null +++ b/media-sound/logitechmediaserver-bin/files/logitechmediaserver.service @@ -0,0 +1,17 @@ +# unit file for media-sound/logitechmediaserver-bin +# +# Thanks to Caj Zell for the draft. + +[Unit] +Description=Logitech Media Server Daemon +After=network.target + +[Service] +User=logitechmediaserver +Group=logitechmediaserver +WorkingDirectory=/opt/logitechmediaserver +EnvironmentFile=/etc/conf.d/logitechmediaserver +ExecStart=/opt/logitechmediaserver/slimserver.pl --prefsdir=/etc/logitechmediaserver --cachedir=/var/lib/logitechmediaserver/cache --logfile=syslog $LMS_OPTS + +[Install] +WantedBy=network.target diff --git a/media-sound/logitechmediaserver-bin/logitechmediaserver-bin-7.8_pre20140105.ebuild b/media-sound/logitechmediaserver-bin/logitechmediaserver-bin-7.8_pre20140105.ebuild new file mode 100644 index 0000000..2008f24 --- /dev/null +++ b/media-sound/logitechmediaserver-bin/logitechmediaserver-bin-7.8_pre20140105.ebuild @@ -0,0 +1,832 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header$ + +EAPI="3" + +MY_PN="${PN/-bin}" + +if [[ ${PV} == *_pre* ]] ; then + GIT_COMMIT="cd49c0fd9518fdc978d8e32c668c76f506ad5bbd" + SRC_URI="https://github.com/Logitech/slimserver/archive/${GIT_COMMIT}.zip" + HOMEPAGE="http://github.com/Logitech/slimserver" + S="${WORKDIR}/slimserver-${GIT_COMMIT}" + INHERIT_VCS="" +else + SRC_DIR="LogitechMediaServer_v${PV}" + SRC_URI="http://downloads.slimdevices.com/${SRC_DIR}/${MY_P}.tgz" + HOMEPAGE="http://www.mysqueezebox.com/download" + BUILD_NUM="1375965195" + MY_PV="${PV/_*}" + MY_P_BUILD_NUM="${MY_PN}-${MY_PV}-${BUILD_NUM}" + MY_P="${MY_PN}-${MY_PV}" + S="${WORKDIR}/${MY_P_BUILD_NUM}" + INHERIT_VCS="" +fi + +inherit ${INHERIT_VCS} eutils user systemd + +KEYWORDS="~amd64 ~x86" + +DESCRIPTION="Logitech Media Server (streaming audio server)" +LICENSE="${PN}" +RESTRICT="bindist mirror" +SLOT="0" +IUSE="" + +# Installation dependencies. +DEPEND=" + !media-sound/squeezecenter + !media-sound/squeezeboxserver + app-arch/unzip + " + +# Runtime dependencies. +RDEPEND=" + !prefix? ( >=sys-apps/baselayout-2.0.0 ) + !prefix? ( virtual/logger ) + >=dev-lang/perl-5.8.8[ithreads] + x86? ( <dev-lang/perl-5.17[ithreads] ) + amd64? ( <dev-lang/perl-5.19[ithreads] ) + >=dev-perl/Data-UUID-1.202 + " + +# This is a binary package and contains prebuilt executable and library +# files. We need to identify those to suppress the QA warnings during +# installation. +QA_PREBUILT=" + opt/logitechmediaserver/Bin/arm-linux/faad + opt/logitechmediaserver/Bin/arm-linux/flac + opt/logitechmediaserver/Bin/arm-linux/mac + opt/logitechmediaserver/Bin/arm-linux/sls + opt/logitechmediaserver/Bin/arm-linux/sox + opt/logitechmediaserver/Bin/arm-linux/wvunpack + opt/logitechmediaserver/Bin/darwin/faad + opt/logitechmediaserver/Bin/darwin/flac + opt/logitechmediaserver/Bin/darwin/mac + opt/logitechmediaserver/Bin/darwin/sls + opt/logitechmediaserver/Bin/darwin/sox + opt/logitechmediaserver/Bin/darwin/wvunpack + opt/logitechmediaserver/Bin/i386-freebsd-64int/faad + opt/logitechmediaserver/Bin/i386-freebsd-64int/flac + opt/logitechmediaserver/Bin/i386-freebsd-64int/mac + opt/logitechmediaserver/Bin/i386-freebsd-64int/sls + opt/logitechmediaserver/Bin/i386-freebsd-64int/wvunpack + opt/logitechmediaserver/Bin/i386-linux/faad + opt/logitechmediaserver/Bin/i386-linux/flac + opt/logitechmediaserver/Bin/i386-linux/mac + opt/logitechmediaserver/Bin/i386-linux/mppdec + opt/logitechmediaserver/Bin/i386-linux/sls + opt/logitechmediaserver/Bin/i386-linux/sox + opt/logitechmediaserver/Bin/i386-linux/wvunpack + opt/logitechmediaserver/Bin/powerpc-linux/faad + opt/logitechmediaserver/Bin/powerpc-linux/flac + opt/logitechmediaserver/Bin/powerpc-linux/mac + opt/logitechmediaserver/Bin/powerpc-linux/sox + opt/logitechmediaserver/Bin/powerpc-linux/wvunpack + opt/logitechmediaserver/Bin/sparc-linux/aac2wav + opt/logitechmediaserver/Bin/sparc-linux/alac + opt/logitechmediaserver/Bin/sparc-linux/faad + opt/logitechmediaserver/Bin/sparc-linux/mp42aac + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.10/i386-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.12/i386-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/i386-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.16/i386-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/arm-linux-gnueabi-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-freebsd-64int/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/i386-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/powerpc-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/sparc-linux/auto/YAML/XS/LibYAML/LibYAML.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Class/C3/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Class/XSAccessor/XSAccessor.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBD/SQLite/SQLite.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/DBI/DBI.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Digest/SHA1/SHA1.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/EV/EV.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Encode/Detect/Detector/Detector.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Font/FreeType/FreeType.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/HTML/Parser/Parser.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/IO/AIO/AIO.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/IO/Interface/Interface.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Image/Scale/Scale.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/JSON/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Linux/Inotify2/Inotify2.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Locale/Hebrew/Hebrew.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/MP3/Cut/Gapless/Gapless.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Sub/Name/Name.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/Template/Stash/XS/XS.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/XML/Parser/Expat/Expat.so + opt/logitechmediaserver/CPAN/arch/5.8/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so +" + +RUN_UID=logitechmediaserver +RUN_GID=logitechmediaserver + +# Installation locations +OPTDIR="/opt/${MY_PN}" +RUNDIR="/var/run/${MY_PN}" +VARDIR="/var/lib/${MY_PN}" +CACHEDIR="${VARDIR}/cache" +USRPLUGINSDIR="${VARDIR}/Plugins" +SVRPLUGINSDIR="${CACHEDIR}/InstalledPlugins" +CLIENTPLAYLISTSDIR="${VARDIR}/ClientPlaylists" +PREFSDIR="/etc/${MY_PN}" +LOGDIR="/var/log/${MY_PN}" +SVRPREFS="${PREFSDIR}/server.prefs" + +# Old Squeezebox Server file locations +SBS_PREFSDIR='/etc/squeezeboxserver/prefs' +SBS_SVRPREFS="${SBS_PREFSDIR}/server.prefs" +SBS_VARLIBDIR='/var/lib/squeezeboxserver' +SBS_SVRPLUGINSDIR="${SBS_VARLIBDIR}/cache/InstalledPlugins" +SBS_USRPLUGINSDIR="${SBS_VARLIBDIR}/Plugins" + +pkg_setup() { + # Create the user and group if not already present + enewgroup ${RUN_GID} + enewuser ${RUN_UID} -1 -1 "/dev/null" ${RUN_GID} +} + +src_prepare() { + # Apply patches to make LMS work on Gentoo. + epatch "${FILESDIR}/${P}-uuid-gentoo.patch" + epatch "${FILESDIR}/${P}-client-playlists-gentoo.patch" + + # Add some enhancement patches of my own. + epatch "${FILESDIR}/${P}-fix-transition-sample-rates2.patch" + epatch "${FILESDIR}/${P}-remove-softlink-target-check.patch" +} + +src_install() { + + # The custom OS module for Gentoo - provides OS-specific path details + cp "${FILESDIR}/gentoo-filepaths.pm" "Slim/Utils/OS/Custom.pm" || die "Unable to install Gentoo custom OS module" + + # Everthing into our package in the /opt hierarchy (LHS) + dodir "${OPTDIR}" + cp -aR "${S}"/* "${ED}${OPTDIR}" || die "Unable to install package files" + + # Documentation + dodoc Changelog*.html + dodoc Installation.txt + dodoc License*.txt + dodoc "${FILESDIR}/Gentoo-plugins-README.txt" + dodoc "${FILESDIR}/Gentoo-detailed-changelog.txt" + + # Preferences directory + dodir "${PREFSDIR}" + fowners ${RUN_UID}:${RUN_GID} "${PREFSDIR}" + fperms 770 "${PREFSDIR}" + + # Install init scripts (OpenRC) + newconfd "${FILESDIR}/logitechmediaserver.conf.d" "${MY_PN}" + newinitd "${FILESDIR}/logitechmediaserver.init.d" "${MY_PN}" + + # Install unit file (systemd) + systemd_dounit "${FILESDIR}/${MY_PN}.service" + + # Initialize run directory (where the PID file lives) + dodir "${RUNDIR}" + fowners ${RUN_UID}:${RUN_GID} "${RUNDIR}" + fperms 770 "${RUNDIR}" + + # Initialize server cache directory + dodir "${CACHEDIR}" + fowners ${RUN_UID}:${RUN_GID} "${CACHEDIR}" + fperms 770 "${CACHEDIR}" + + # Initialize the log directory + dodir "${LOGDIR}" + fowners ${RUN_UID}:${RUN_GID} "${LOGDIR}" + fperms 770 "${LOGDIR}" + touch "${ED}/${LOGDIR}/server.log" + touch "${ED}/${LOGDIR}/scanner.log" + touch "${ED}/${LOGDIR}/perfmon.log" + fowners ${RUN_UID}:${RUN_GID} "${LOGDIR}/server.log" + fowners ${RUN_UID}:${RUN_GID} "${LOGDIR}/scanner.log" + fowners ${RUN_UID}:${RUN_GID} "${LOGDIR}/perfmon.log" + + # Initialise the user-installed plugins directory + dodir "${USRPLUGINSDIR}" + fowners ${RUN_UID}:${RUN_GID} "${USRPLUGINSDIR}" + fperms 770 "${USRPLUGINSDIR}" + + # Initialise the client playlists directory + dodir "${CLIENTPLAYLISTSDIR}" + fowners ${RUN_UID}:${RUN_GID} "${CLIENTPLAYLISTSDIR}" + fperms 770 "${CLIENTPLAYLISTSDIR}" + + # Install logrotate support + insinto /etc/logrotate.d + newins "${FILESDIR}/logitechmediaserver.logrotate.d" "${MY_PN}" +} + +lms_starting_instr() { + elog "Logitech Media Server can be started with the following command (OpenRC):" + elog "\t/etc/init.d/logitechmediaserver start" + elog "or (systemd):" + elog "\tsystemctl start logitechmediaserver" + elog "" + elog "Logitech Media Server can be automatically started on each boot" + elog "with the following command (OpenRC):" + elog "\trc-update add logitechmediaserver default" + elog "or (systemd):" + elog "\tsystemctl enable logitechmediaserver" + elog "" + elog "You might want to examine and modify the following configuration" + elog "file before starting Logitech Media Server:" + elog "\t/etc/conf.d/logitechmediaserver" + elog "" + + # Discover the port number from the preferences, but if it isn't there + # then report the standard one. + httpport=$(gawk '$1 == "httpport:" { print $2 }' "${ROOT}${SVRPREFS}" 2>/dev/null) + elog "You may access and configure Logitech Media Server by browsing to:" + elog "\thttp://localhost:${httpport:-9000}/" + elog "" +} + +pkg_postinst() { + + # Point user to database configuration step, if an old installation + # of SBS is found. + if [ -f "${SBS_SVRPREFS}" ]; then + elog "If this is a new installation of Logitech Media Server and you" + elog "previously used Squeezebox Server (media-sound/squeezeboxserver)" + elog "then you may migrate your previous preferences and plugins by" + elog "running the following command (note that this will overwrite any" + elog "current preferences and plugins):" + elog "\temerge --config =${CATEGORY}/${PF}" + elog "" + fi + + # Tell use user where they should put any manually-installed plugins. + elog "Manually installed plugins should be placed in the following" + elog "directory:" + elog "\t${USRPLUGINSDIR}" + elog "" + + # Show some instructions on starting and accessing the server. + lms_starting_instr +} + +lms_remove_db_prefs() { + MY_PREFS=$1 + + einfo "Correcting database connection configuration:" + einfo "\t${MY_PREFS}" + TMPPREFS="${T}"/lmsserver-prefs-$$ + touch "${EROOT}${MY_PREFS}" + sed -e '/^dbusername:/d' -e '/^dbpassword:/d' -e '/^dbsource:/d' < "${EROOT}${MY_PREFS}" > "${TMPPREFS}" + mv "${TMPPREFS}" "${EROOT}${MY_PREFS}" + chown ${RUN_UID}:${RUN_GID} "${EROOT}${MY_PREFS}" + chmod 660 "${EROOT}${MY_PREFS}" +} + +pkg_config() { + einfo "Press ENTER to migrate any preferences from a previous installation of" + einfo "Squeezebox Server (media-sound/squeezeboxserver) to this installation" + einfo "of Logitech Media Server." + einfo "" + einfo "Note that this will remove any current preferences and plugins and" + einfo "therefore you should take a backup if you wish to preseve any files" + einfo "from this current Logitech Media Server installation." + einfo "" + einfo "Alternatively, press Control-C to abort now..." + read + + # Preferences. + einfo "Migrating previous Squeezebox Server configuration:" + if [ -f "${SBS_SVRPREFS}" ]; then + [ -d "${EROOT}${PREFSDIR}" ] && rm -rf "${EROOT}${PREFSDIR}" + einfo "\tPreferences (${SBS_PREFSDIR})" + cp -r "${EROOT}${SBS_PREFSDIR}" "${EROOT}${PREFSDIR}" + chown -R ${RUN_UID}:${RUN_GID} "${EROOT}${PREFSDIR}" + chmod -R u+w,g+w "${EROOT}${PREFSDIR}" + chmod 770 "${EROOT}${PREFSDIR}" + fi + + # Plugins installed through the built-in extension manager. + if [ -d "${EROOT}${SBS_SVRPLUGINSDIR}" ]; then + einfo "\tServer plugins (${SBS_SVRPLUGINSDIR})" + [ -d "${EROOT}${SVRPLUGINSDIR}" ] && rm -rf "${EROOT}${SVRPLUGINSDIR}" + cp -r "${EROOT}${SBS_SVRPLUGINSDIR}" "${EROOT}${SVRPLUGINSDIR}" + chown -R ${RUN_UID}:${RUN_GID} "${EROOT}${SVRPLUGINSDIR}" + chmod -R u+w,g+w "${EROOT}${SVRPLUGINSDIR}" + chmod 770 "${EROOT}${SVRPLUGINSDIR}" + fi + + # Plugins manually installed by the user. + if [ -d "${EROOT}${SBS_USRPLUGINSDIR}" ]; then + einfo "\tUser plugins (${SBS_USRPLUGINSDIR})" + [ -d "${EROOT}${USRPLUGINSDIR}" ] && rm -rf "${EROOT}${USRPLUGINSDIR}" + cp -r "${EROOT}${SBS_USRPLUGINSDIR}" "${EROOT}${USRPLUGINSDIR}" + chown -R ${RUN_UID}:${RUN_GID} "${EROOT}${USRPLUGINSDIR}" + chmod -R u+w,g+w "${EROOT}${USRPLUGINSDIR}" + chmod 770 "${EROOT}${USRPLUGINSDIR}" + fi + + # Remove the existing MySQL preferences from Squeezebox Server (if any). + lms_remove_db_prefs "${SVRPREFS}" + + # Phew - all done. Give some tips on what to do now. + einfo "Done." + einfo "" +} |