View Full Version : SqueezeCenter 7 RPM: Request for review/testers

Mark Miksis
2007-10-23, 13:37
I have just uploaded the following files to http://svn.slimdevices.com/trunk/platforms/redhat/:
- squeezecenter.spec
- squeezecenter.config
- squeezecenter.init
- squeezecenter.logrotate
To build, be sure to change "nightly" and "date" in the specfile to match your nightly tarball. Please review and test building, installing, running, etc. I have only tested on x86 CentOS 5, but it should work on any recent Fedora/RHEL/CentOS.

All feedback welcome.

- Change RPM name to squeezecenter - As much as possible, change all file names, directories, environment variables, executables, daemon name, linux user/group, etc to squeezecenter. This RPM is named squeezecenter and it obsoletes slimserver.
- Attempt to follow the Fedora packaging guidelines. Although licensing prevents this RPM from going into a public repo, this specfile should be more readable than before.
- FHS compatibility - Drastically change the install locations of the files to conform to the FHS (similar to the existing deb). This includes a symlink to /var/lib/squeezecenter/Plugins to keep them out of /usr. A file manifest is attached for those curious about the new file locations.
- Logrotate - Add conf file necessary to support logrotate
- Add condrestart option to the init file
- Use the system's copy of flac, mysqld and sox
- Build from the official publicly available tarball, not the munged one used in makerelease.pl
- Rewrite and simplify %pre and %post scriptlets using the Fedora packaging guidelines:
- Remove ability to read a non-standard username from the sysconfig file. I don't think this worked reliably.
- Make the squeezecenter user a system account
- Don't remove the squeezecenter user on an uninstall
- General clean up
- Fix hard coded paths and names in Import.pm, bootstrap.pm, Misc.pm, OSDetect.pm, build-perl-modules.pl (r14020)

- Upgrades have not been tested. In fact, I removed all of the upgrade code from the spec and will rewrite it from scratch. Actually, an upgrade will probably work, but it won't import your prefs and will leave a bunch of orphaned slimserver directories around. Don't bother testing this yet.
- SELinux - I have not tested with SELinux and I am not an SELinux expert. AFAIK, the existing slimserver RPM still has SELinux problems. I don't think I've done anything to make it worse, but it would be great if someone could help with this.
- Non-Redhat derived distributions - It's possible that some of these changes have made it even more difficult to install on non-RH distributions such as SUSE. I certainly didn't make it better. Hopefully one of the SUSE experts can help. I'd love to make it compatible with both.
- Run build-perl-modules.pl as part of %post??? I'm pretty sure this is a bad idea...
- Does anyone remember why this is necessary?

# Prevent stripping
%define __spec_install_post /usr/lib/rpm/brp-compress
The svn changelogs are not very helpful.

- When stopping squeezecenter using "/sbin/service squeezecenter stop" (or restart), the mysqld and mDNSResponder processes are not killed. Restarting will use the already running mysqld and start another mDNSResponder.
- Sometimes when starting or restarting, the first few lines of log output leaks to the console. Kind of ugly.
I don't think either of these are packaging issues but...

Mark Miksis
2007-10-26, 14:42
Well, I hope the lack of response is just because people don't want to build their own RPMs :-) A coupe of updates:
- I just checked in some changes that should make SUSE RPM installs work "out-of-the-box". Testing has been minimal and I'm not a SUSE expert (today is the first time I ever installed SUSE). Changes based in part on Aubrey Turner's init file and Will Stephenson's spec file.
- Thanks to the oldprefs migration code already present in SC, upgrades work great. This RPM should be able to upgrade and migrate the old prefs from any 6.x release and any 7.x nightly.

In a few days I'll try to make the RPM available via yum so people can test more easily