<?sphp $this->text('pagetitle') ?>
 
Home of the Squeezebox™ & Transporter® network music players.

Logitech Media Server RPM

From SqueezeboxWiki

Revision as of 15:35, 25 June 2008 by WikiSysop (Talk | contribs)
Jump to: navigation, search

Contents

SqueezeCenter RPM

The RPM for SqueezeCenter 7.0 (and newer) has the following major changes from the SlimServer 6.x RPMs:

  • Rename to squeezecenter and obsolete slimserver
  • Compatible with FHS and Fedora Packaging Guidelines
  • Use system copy of mysqld
  • Add condrestart option to init and support for logrotate
  • Build from the public tarball, not the munged makerelease.pl one
  • Simplify and rewrite %pre and %post scriptlets
  • Support for SUSE, not just Red Hat/Fedora
  • Add support for SELinux on Fedora and CentOS 5
  • Available via yum repository
  • Various bug fixes

Supported platforms

Tested with CentOS 4, CentOS 5, Fedora 7, Fedora 8, Fedora 9, openSUSE 10.3 and openSUSE 11.0. Should also work with any distribution derived from one of those.

Installation via Yum

Install the squeezecenter-repo RPM with:

rpm -Uvh http://repos.slimdevices.com/yum/squeezecenter/release/squeezecenter-repo-1-4.noarch.rpm

This will install the repo file which adds the SqueezeCenter yum repo. By default, this contains three repositories:

  • release
    • This is the default repository and contains official releases, currently 7.0.1.
  • testing (formerly branch)
    • This currently holds the 7.1 nightly builds.
  • unstable (formerly trunk)
    • This currently holds the 7.2 nightly builds.

You can change which repository you're using by editing /etc/yum.repos.d/squeezecenter.repo and changing:

enabled=1

to

enabled=0

for the repo you're disabling (most likely release). Then you'll do the opposite for the repo you want to enable (i.e. 'testing').

Once you've selected the repo you'd like to enable, you can install the RPM via yum with the following command:

yum install squeezecenter

or

yum update squeezecenter

Installation without yum

You can browse the repos at http://repos.slimdevices.com/yum/squeezecenter. Currently, 'release', 'testing' and 'unstable' builds are available. See above for a complete description of these. Install the latest release with (or similar):

rpm -Uvh http://repos.slimdevices.com/yum/squeezecenter/release/squeezecenter-7.0.1-1.noarch.rpm.

If you see an error like "error: Failed dependencies: /usr/bin/mysqld_safe is needed by squeezecenter-7.0.1-1.noarch", it means that you do not already have the package containing mysqld installed. You must first install the appropriate package for your Linux distro (mysql-server for Red Hat, mysql for SUSE, possibly different for others).

Upgrading

  • Upgrading from any released 6.x rpm will preserve your settings. Since the database format has changed, you will need to rescan your library
  • Upgrading from the old RPM nightly (with a name starting with SlimServer_trunk_) will not preserve either your settings or database. However, once you update to a squeezecenter nightly RPM, updates to future squeezecenter nightlys will preserve both settings and the database.
  • If you are upgrading from a SlimServer 6.x RPM without yum, you must use
rpm -Uvh ...

and not

rpm -ivh ...

Otherwise, both versions will be installed and things will likely be broken.

SELinux

The SqueezeCenter RPM will work with SELinux enabled on CentOS 5 and all current versions of Fedora. SELinux must be disabled on CentOS 4 (and probably ClarkConnect)

Plugins

The location for third party plugins has changed to

/var/lib/squeezecenter/Plugins

which is symlinked at

/usr/share/squeezecenter/Plugins

In most cases, plugins should be installed by coping them to /var/lib/squeezecenter/Plugins and unzipping. If a plugin has instructions to unzip it in /usr/local/slimserver (i.e., Alien), it should be unzipped in /usr/share/squeezecenter instead. In general, it is also a good idea to make sure that all Plugins are recursively owned by the user and group "squeezecenter".

New File Locations

For FHS compatibility and due to the name change, many file locations are different from the 6.x RPMs. The basic layout is:

Main SC files           /usr/share/squeezecenter
Slim Perl Modules       /usr/lib/perl5/vendor_perl/Slim
Executables             /usr/libexec
Config                  /etc/squeezecenter
Prefs                   /var/lib/squeezecenter/prefs
Cache                   /var/lib/squeezecenter/cache
Third party plugins     /var/lib/squeezecenter/Plugins
Logs                    /var/log/squeezecenter

Note on username change

As mentioned above, the new RPM runs as the user "squeezecenter" rather than "slimserver". Depending on how you have the permissions and ownership configured for your music and playlist directories, you may need to change them so the new "squeezecenter" user can properly access them.

Other RPM-based distributions

The SqueezeCenter RPM has been designed for RHEL/CentOS/Fedora and SUSE. It should work with other RPM-based distros, but there may be issues that need to be worked-around. Please document them here.

  • Altlinux
    • The RPM dependency for mysqld is incompatible with the way Altlinux builds its package. The workaround is to first install the mysql-server package and then manually install squeezecenter with the –force option.
  • Mandrake/Mandriva
    • You also need to install perl-CGI from the Mandriva repos.

Perl 5.10 Support

Many newer Linux distributions (including Fedora 9, Mandriva 2008.1 aka Mandriva 2008 spring and openSUSE 11.0) ship with perl 5.10. Support for perl 5.10 has been added to SqueezeCenter 7.1, so you must install version 7.1 or higher.

Issues

  • CentOS 4
    • If you ssh into CentOS 4 and start or restart SqueezeCenter manually, you cannot logout. This may also affect other distros. See Bug 8180 for more information.
    • Yum will fail to verify the SqueezeCenter key in the squeezecenter-repo package. See Bug 8531 for more information.
  • openSUSE
    • If SqueezeCenter is started (along with it's instance of mysql) first, the system mysql daemon will not start. See Bug 7988 for more information.

RPMs for skins and plugins

Community member Fletch has created a yum repo for SC7 skins and plugins. Enable the repo with:

rpm -ivh http://www.miksis.com/slimdevices/yum/squeezecenter-plugins/squeezecenter-plugins-release-1-1.noarch.rpm

You can browse it's contents at:

http://www.miksis.com/slimdevices/yum/squeezecenter-plugins/repodata/index.html