As requested. Any comments or feedback appreciated.
# The packages I had installed at the time
(Linux From Scratch 6.6)
--
Installed packages:
man-pages 3.23
GNU C Library 2.11.1
zlib 1.2.3
Binutils 2.20
gmp-5.0.0
mpfr-2.4.2
file 5.04
gcc 4.4.3
sed 4.2.1
pkg-config 0.23
ncurses 5.7.20081102
util-linux-ng 2.17
e2fsprogs 1.41.10
coreutils 8.4
iana-etc 2.30
m4 1.4.13
bison 2.4.1
procps 3.2.8
grep 2.5.4
readline 6.1
bash 4.1.0(1)-release
libtool 2.2.6b
gdbm 1.8.3
inetutils 1.7
perl 5.10.1
autoconf 2.65
automake 1.11.1
bzip2 1.0.5
diffutils 2.8.1
GNU Awk 3.1.7
findutils 4.4.2
flex 2.5.35
gettext 0.17
groff 1.20.1
gzip 1.4
iproute2 ss091226
kbd 1.15.1
less 436
make 3.81
man 2.5.6
module-init-tools 3.11.1
patch 2.6.1
psmisc 22.10
cracklib 2.8.15
shadow 4.1.4.2
sysklogd 1.5
sysVinit 2.86
tar 1.22
info (GNU texinfo) 4.13
udev 151
vim 7.2
LFS-Bootscripts-20100124
wget 1.12
bc 1.06
OpenSSL 0.9.8n
OpenSSH 5.3p1
which 2.20
Berkeley DB 4.8.26
tcp wrappers 7.6
portmap 6.0
nfs-utils 1.1.4
ntp 4.2.4p7
nasm 2.09.10# This is available at www.nasm.us
# All of this must be done as root
# add new music group
Code:
groupadd -g 90 music
# add slimserver user
Code:
useradd -c squeezeboxserver -d /usr/share/squeezeboxserver \
-g music -s /bin/false -u 115 squeezeboxserver
# create some variables for the version and download locations.
Code:
version=7.7
version_minor=1
nightly='http://downloads.slimdevices.com/nightly/'$version'/sc'
# substitute latest build available at $nightly for build below
# 31084 was latest as of 7/21/2010
# 31555 was latest as of 11/28/2010
# 33757 was latest as of 12/16/2011
Code:
build=33753
newdir=logitechmediaserver-$version.$version_minor-$build
tarfile=$newdir.tgz
# Download squeezeboxserver (here, to /sources/other)
Code:
cd /sources/other
wget $nightly/$build/$tarfile
# We will install to /usr/share
Code:
cd /usr/share/
tar xf /sources/other/$tarfile
# Change ownership of files to the new user and group we set up
Code:
chown -R squeezeboxserver:music $newdir
# Create a soft link to squeezeboxserver to make updates easier,
# and make the new user and group own it
# (first remove any existing link for squeezeboxserver)
Code:
rm -f squeezeboxserver
ln -sv $newdir squeezeboxserver
chown squeezeboxserver:music -vh squeezeboxserver
# First, ensure that perl has been compiled with thread support.
# Note that default compilation (under Linux From Scratch) is
# _without_ thread support. Enter the following to determine if
# perl was compiled with thread support. If perl does not have
# thread support built in, then re-compile perl with thread support
# before continuing.
Code:
if ( perl --version | grep -iq multi )
then echo perl has thread support - OK to continue 2
else echo no thread support in perl - please re-compile 2
fi
# make a directory to do our work ...
Code:
cd squeezeboxserver/CPAN
mkdir repos
cd repos/
# Get the sources for the software we are about to compile ...
Code:
wget -r -nd -l1
http://svn.slimdevices.com/repos/slim/$version/trunk/vendor/CPAN
# create a missing directory to avoid some warnings later...
Code:
mkdir hints
# build the software - go have a beer while you're waiting ...
Code:
sh buildme.sh
cd ../..
# Change the ownership of the files again ...
Code:
chown -R squeezeboxserver:music .
# make needed subdirectories and files
Code:
NAME=slimserver
mkdir -pv /var/lib/$NAME/{playlist,plugin}
mkdir -pv /var/cache/$NAME
touch /var/log/$NAME.log
chown -Rv squeezeboxserver:music /var/{lib,cache}/$NAME /var/log/$NAME.log
# modify bootscripts:
#/etc/rc.d/init.d/slimserver (new)
# /etc/rc.d/init.d/functions (revised)
# Here is my bootscript:
Code:
#!/bin/sh
# on my system, rc_base=/etc/rc.d
# Begin $rc_base/init.d/slimserver
# Based on LFS fcron bootscript
#$LastChangedBy:
#$Date: 2011-12-17
. /etc/sysconfig/rc
# Above file available at:
# http://www.linuxfromscratch.org/lfs/view/development/scripts/apds01.html
. $rc_functions
# Above file available at:
# http://www.linuxfromscratch.org/lfs/view/development/scripts/apds02.html
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=slimserver
USER=squeezeboxserver