Sunday, January 27, 2013

[nslu2-linux] Logitech Media Server v7.2.2 (aka LMS) optware make packages [1 Attachment]

<*>[Attachment(s) from Sergey Talchuk included below]

Hi ALL!

I'm a happy user of Squeezebox Touch. What a luck that SqueezeCenter v7.3.3 is available in optware repository!
However, with a time a problem occurred: very often Squeezebox Touch rendered a message stating that Steam Server is outdated and should be updated. And the only way to listen to the music library on my NAS was to restart SqueezeCenter. This was a really annoying problem. That is why I decided to build the most current slimserver version (aka Logitech Medias Server v7.7.2).
By default LMS v7.7.2 uses SQLite DB. But I would like to use MySQL just because:
1) I like MySQL more than SQLite
2) MySQL has native utf-8 support and it is fast
3) Without ICU SQLite can have problems in searching for case sensitive non-latin characters
4) With ICU SQLite becomes bigger and slower.

Unfortunately, I didn't manage to resolve the following issue with perl-dbd-mysql: 'Slim::Schema::Storage::throw_exception (122) Error: DBI Exception: DBD::mysql::st execute failed: Column 'contributor' cannot be null'. Also it didn't help:
-building with 'mysql5';
-downgrading 'perl-dbd-mysql' to v3.0002 (make file and patch can be found in '_downgrades' dir; See attachment.)
I believe the problem is somewhere between DBI, DBIx::Class, DBD::mysql.

LMS v7.7.2 works fine for me with SQLite since all my media files are in utf-8 encoding. But I hope that some users with better experience can resolve the issue with MySQL and other issues (see 'KnownIssues.txt' for more details), adjust, optimize my make files, build LMS v7.7.2 as optware package and upload it and the dependent packages for public use.

Thank you,
Sergey

P.S. Here is the instruction how to build, install and use LMS v7.7.2 ('cs05q1armel' platform as an example).
NOTE: To successfully build LMS v7.7.2 you will need 'inotify.h' for you platform.

COMPILATION
===========
1. Copy the SVN tree as root:
$ svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
2. Build the toolchain:
$ cd optware
$ platform=cs05q1armel
$ make ${platform}-target
$ cd ${platform}
$ make directories toolchain ipkg-utils
3. Unpack the attachment with LMS v7.2.2 make files:
tar Jxvf LMS_7.7.2_optware_make_files.tar.xz
4. Build LMS 7.7.2
for f in `cat myPackageList.txt` ; do make ${f}-ipk ; done

INSTALLATION:
============
NOTE: LMS v7.7.2 depends on some new and existing upgraded/downgraded optware packages. That is why the installation is performed in several stages:
1)
ipkg install giflib_4.1.6-1_arm.ipk libexif libjpeg libpng libdb52 ffmpeg perl-compress-zlib perl-digest-sha1 perl-encode-detect perl-template-toolkit mysql
2)
ipkg install libmediascan_0.1-1_arm.ipk
3) Install all the rest of perl-*.ipk packages
for f in perl-*.ipk ; do ipkg install $f ; done
4) Comment optware packages feed URL:
sed -i '1s/^/#/' /opt/etc/ipkg/*.conf
5) Remove incompatible package versions:
ipkg -force-depends remove ffmpeg perl-dbi
6) Install some downgraded packages and LMS v7.7.2:
ipkg install perl-dbi_1.616-1_arm.ipk ffmpeg_0.8.4-1_arm.ipk logitechmediaserver_7.7.2-1_arm.ipk
7) Uncomment optware packages feed URL:
sed -i '1s/#//' /opt/etc/ipkg/*.conf

GETTING STARTED:
===============
/opt/etc/init.d/S99logitechmediaserver start

If LMS v7.7.2 starts ok, remove '--diag --d_server --d_startup` from the config file '/opt/etc/logitechmediaserver.conf', edit it to suit you setup and restart LMS v7.2.2

More debug options here: http://wiki.slimdevices.com/index.php/Logitech_Media_Server_log_file

STARTING LMS v7.7.2 with MySQL DB
=================================
Set:
1) 'LOGITECHMEDIASERVER_DBTYPE="MySQL"' in '/opt/etc/logitechmediaserver.conf'
2) 'dbtype: MySQL' in '/home/squeezebox/prefs/server.prefs'
and restart LMS v7.7.2


<*>Attachment(s) from Sergey Talchuk:


<*> 1 of 1 File(s) http://groups.yahoo.com/group/nslu2-linux/attachments/folder/1344937833/item/list
<*> LMS_7.7.2_optware_make_files.tar.xz

------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/nslu2-linux/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/nslu2-linux/join
(Yahoo! ID required)

<*> To change settings via email:
nslu2-linux-digest@yahoogroups.com
nslu2-linux-fullfeatured@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
nslu2-linux-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/

No comments:

Post a Comment