Package Details: logitechmediaserver 7.9.1.arch3-1

Git Clone URL: https://aur.archlinux.org/logitechmediaserver.git (read-only)
Package Base: logitechmediaserver
Description: Slimserver for Logitech Squeezebox players. This server is also called Logitech Media Server. (Release-Version, if you prefer bleeding edge consider using logitechmediaserver-git instead)
Upstream URL: https://github.com/stefansielaff/slimserver
Keywords: logitech slimserver squeezebox
Licenses: GPL, custom
Submitter: vesath
Maintainer: stef.an
Last Packager: stef.an
Votes: 65
Popularity: 0.124697
First Submitted: 2011-11-03 06:54
Last Updated: 2017-09-30 14:10

Latest Comments

ispotter commented on 2017-10-09 17:37

Have built and installed arch3 on x64 and can still scan as expected. Have never used LMS for anything other than audio so that's fine by me for now.

Thanks for the work on this guys.

Ian

setone commented on 2017-10-04 14:41

mervinb, I appreciate you testing my changes. The point of those patches was just to get us to a clean, usable build and to be able to scan using scanner.pl. The video scanning still isn't coded properly but that could be fixed with some work. FWIW I agree with those who have no use for the video and image features of LMS, so IMO arch3 is the way to go - thanks again stef.an.

Using arch3, we can get scanner.pl to work with two patches. If you have specified directories for pictures or video in your preferences, be sure to get rid of those (before installing arch3) or scanning will still fail.

LMS.pm needs to be patched because we have dropped Media::Scan:

/opt/logitechmediaserver/Slim/Utils/Scanner/LMS.pm
18d17
< use Media::Scan;
36a36,46
>
> # These flags come from Media::Scan, which we don't use any more
> use constant MS_LOG_ERR => 1;
> use constant MS_LOG_DEBUG => 4;
> use constant MS_LOG_MEMORY => 9;
> use constant MS_USE_EXTENSION => 1;
> use constant MS_FULL_SCAN => 1 << 1;
> use constant MS_RESCAN => 1 << 2;
> use constant MS_INCLUDE_DELETED => 1 << 3;
> use constant MS_WATCH_CHANGES => 1 << 4;
> use constant MS_CLEARDB => 1 << 5;

This patch eliminates double-closing of log files:

/opt/logitechmediaserver/lib/Log/Log4perl/Logger.pm
66,81d65
<
< # Delete all appenders
< foreach my $appendername (keys %APPENDER_BY_NAME){
< if (exists $APPENDER_BY_NAME{$appendername} &&
< exists $APPENDER_BY_NAME{$appendername}->{appender}) {
< # Destroy the specific appender
< my $appref = $APPENDER_BY_NAME{$appendername}->{appender};
< $appref->DESTROY() if $appref->can("DESTROY");
< # Destroy L4p::Appender
< $APPENDER_BY_NAME{$appendername}->DESTROY();
< delete $APPENDER_BY_NAME{$appendername}->{appender};
< }
< delete $APPENDER_BY_NAME{$appendername};
< }
< %APPENDER_BY_NAME = ();
<

mervinb commented on 2017-10-03 01:44

stef.an, thanks for your continued work on this. FYI, I've successfully built the arch2 version on x64 using setone's libmediascan and buildme.sh patches. Thanks setone.

stef.an commented on 2017-09-30 14:22

I'm really sorry for my limited time to dig deeper into this at the moment.
I've now pushed the changes to skip Media::Scan as some other distros already do. This should provide a working version for everyone.

Coverart is not affected! This is handled by Audio::Scan and should work as always. Any test results would be awesome!
LMS won't scan for Videos and Images until we found a more satisfying solution, if you only use LMS to play your Music, you shouldn't notice any difference.

Thanks for you efforts setone! I'll check your patch asap.

Gregoire commented on 2017-09-30 08:11

If you are lucky enough your box may be supported by https://sourceforge.net/projects/scrawnyserver/ which is a lms server written in python, unfortunately my box isn't.

WhiteKnight commented on 2017-09-23 10:09

My personal opinion: Images (cover art) are important, videos aren't. My guess would be, that hardly anybody uses LMS for videos. There are way better alternatives as DLNA server than LMS.

setone commented on 2017-09-23 05:09

stef.an, your last hint gave me enough of a starting point to figure out what needs attention. I created a version of libmediascan-0.1-arch.patch (https://ptpb.pw/RXac). Using that patch file, the build completes cleanly (relatively, i.e. no worse than before) assuming I also do the patch to buildme.sh that I mentioned below.

I can scan the music folders using the web interface or in the terminal using scanner.pl. The pictures folder works on x86_64, but on armv6h the pictures are just empty boxes (although the scan completes and the "picture browser" know the names and folders of my pictures). The video folders fail to scan on on either architecture, but I haven't ever tried that before and I don't know whether it was working in the first place. Maybe somebody knows about that?

asche commented on 2017-09-20 22:32

Same issue with Media::Scan over here (x64).

Could it be the "rm -f blib/arch/auto/Media/Scan/Scan.so" that is executed at the end of the build process and the following "LD_RUN_PATH="/usr/lib" cc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/local/lib -fstack-protector-strong Scan.o -o blib/arch/auto/Media/Scan/Scan.so \
-lavformat -lavcodec -lm -lz -lswscale -lavutil -lexif -ljpeg -lpng -lgif -ldb \" failing?

I only use LMS for audio -- but I like cover images to appear on my players, too ...

stef.an commented on 2017-09-20 07:08

I've been discussing the use of the super-old versions for a while with some guys building it on Gentoo and NixOS. Everybody tries to drop as many of the ancient packages as possible and move to system packages. Unfortunately it causes problems in many cases :/

Another option would be dropping support for images and video... in this case we could skip building Media:Scan and start lms with the "--novideo --noimage". I've tried it and it works, but I don't know how others use videos and images in lms as I only use it on my NAS for audio.

This means:
commenting out "build Media::Scan" in buildme.sh
and adding "--novideo --noimage" to the statup line in the service file

The new versions build and run on my Zyxel NSA325 arm5 box but I still can't figure out why...

setone commented on 2017-09-20 03:30

It looks to me like this will not work without some porting effort to bring libmediascan up to date with the current version of ffmpeg. Under the arch1 (old version of LMS) CPAN directory, I can grep for 'ff_mov_demuxer':

# grep -R "ff_mov_demuxer" *
Binary file build/arch/5.26/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so matches
Binary file build/5.26/lib/perl5/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so matches
Binary file build/lib/libmediascan.a matches
Binary file build/lib/libavformat.a matches
--> Binary file ffmpeg-0.8.4/libavformat/mov.o matches
--> Binary file ffmpeg-0.8.4/libavformat/allformats.o matches
--> ffmpeg-0.8.4/libavformat/mov.c:AVInputFormat ff_mov_demuxer = {
--> file ffmpeg-0.8.4/libavformat/libavformat.a matches
Binary file libmediascan-0.1/src/libmediascan_la-mediascan.o matches
Binary file libmediascan-0.1/src/.libs/libmediascan.a matches

Note that the old package builds and links against ffmpeg-0.8.4. The current version of ffmpeg is 3.3.4 and there is no such symbol as 'ff_mov_demuxer'. But libmediascan still looks for it. If I do the same grep under the new CPAN directory:

# grep -R "ff_mov_demuxer" *
Binary file build/lib/libmediascan.a matches
Binary file libmediascan-0.1/bindings/perl/blib/arch/auto/Media/Scan/Scan.so matches
Binary file libmediascan-0.1/src/libmediascan_la-mediascan.o matches
Binary file libmediascan-0.1/src/.libs/libmediascan.a matches

It might be feasible to keep the old packaged-up version of ffmpeg and otherwise liberate LMS to use the native perl modules, but I wonder what other issues will crop up. Or perhaps there's another way to get things working that's not obvious to me.... will do a little more poking around.

All comments