After hours of frustration trying to figure it out
success at last. I was able to build LMS package from the 7.8 nightly build (logitechmediaserver-7.8.0-1342011222-arm-linux.tgz). It's installed and running on my GFH (despite the array errors).
These are the steps I used to build the package (that is once I figured it out)
NOTE: Do be aware that 7.8 is beta and may or may not work as expected.
$this->bbcode_second_pass_code('', '
# Update / Upgrade packages
sudo pacman -Syu
# Install Native Build Essentials
# Ref http://archlinuxarm.org/developers/building-packages
sudo pacman -Sy kernel26-headers file base-devel abs
##when install is complete then run abs as root to create the ABS tree by synchronizing it with the Arch Linux server.
# Ref https://wiki.archlinux.org/index.php/ABS
sudo abs
')
Make a directory to do the build. I chose /logitechmediaserver but any directory should work.
Download the nightly build ARM file from
http://downloads.slimdevices.com/nightly/?ver=7.8 into the root of your build directory. There is no need to untar it.
Download the PKGBUILD tarball from the AUR at
https://aur.archlinux.org/packages.php?ID=53691. The tarball will contain several files. Extract the contents of the tarball into the root of your build directory.
Edit the PKGBUILD file to make it build correctly.
$this->bbcode_second_pass_code('', '
# Calculate the sha1sum of the LMS tarball
sha1sum logitechmediaserver-7.8.0-1342011222-arm-linux.tgz
# Make note of the returned sha1 checksum
sudo nano PKGBUILD
# at line 4 change the pkgver from 7.7.2 to 7.8.0
pkgver=7.8.0
# At line 9 add arm to arch
arch=('arm' 'i686' 'x86_64')
# at line 13 hard code the first line of source with the LMS tarball filename
source=("logitechmediaserver-7.8.0-1342011222-arm-linux.tgz"
'perl-recent.patch'
'conf.d'
'rc.d')
# At line 18 hard code the first line of sha1sums to reflect the the calculated sha1 checksum from above
sha1sums=('6f9481f09fb4bfa20d39d48a7fba6bbc6742c6b8'
'2e9989b5ea49e9e3b0fa2e16590ad3a6957f7b9c'
'80d3658796ba7241b497e5fce93813423c57e06e'
'9a98d601faff6345dfeddae16d1f10547c2aacba')
# At line 55 comment out the last line in the build section.
build() {
.....
#rm -r Bin/{arm-linux,darwin,i386-freebsd-64int,powerpc-linux,sparc-linux}
}
# Save and close the PKGBUILD file
# As your user run the makepkg to build the package.
sudo makepkg --asroot -Acs
')
2 to 3 hours (or so) later, if all goes well the LMS package should be created in your build directory.
logitechmediaserver-7.8.0-4-arm.pkg.tar.xz
$this->bbcode_second_pass_code('', '
# Install the server
pacman -U logitechmediaserver-7.8.0-4-arm.pkg.tar.xz
# Once the install is complete start the server
/etc/rc.d/logitechmediaserver start
')
The array errors can be ignored. It'll work just fine with them.
Open your web broswer. In the address line type in your servers ip address and port 9000
Example 192.168.1.180:9000 NOTE: Your servers ip may differ.
When the page opens sign into mysqueezebox.com then click the NEXT button in the bottom right corner of the page.
Configure the folder that contains your music and enjoy.
You might want to edit /etc/rc.conf and add logitechmediaserver to the DAEMONS= line at the end of the file so it'll start at boot time.
I think I covered most everything.
Enjoy
Modified PKGBUILD file that I used.
$this->bbcode_second_pass_code('', '# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=logitechmediaserver
pkgver=7.8.0
pkgrel=4
pkgdesc='Streaming audio server supported by Logitech'
url='http://www.mysqueezebox.com/download'
license=('GPL' 'custom')
arch=('arm' 'i686' 'x86_64')
makedepends=('nasm' 'yasm' 'rsync')
[[ $CARCH = x86_64 ]] && optdepends=('lib32-glibc: transcoding' 'lib32-gcc-libs: transcoding')
depends=('perl>5.15' 'perl<5.17')
source=("logitechmediaserver-7.8.0-1342011222-arm-linux.tgz"
'perl-recent.patch'
'conf.d'
'rc.d')
backup=('etc/conf.d/logitechmediaserver')
sha1sums=('6f9481f09fb4bfa20d39d48a7fba6bbc6742c6b8'
'2e9989b5ea49e9e3b0fa2e16590ad3a6957f7b9c'
'80d3658796ba7241b497e5fce93813423c57e06e'
'9a98d601faff6345dfeddae16d1f10547c2aacba')
install=install
build_cpan() {
svnurl=svn.slimdevices.com/repos/slim/7.7/trunk/vendor/CPAN/
wget -r --no-parent http://${svnurl} --reject 'mysql-*'
pushd ${svnurl}
wget http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.13.tar.gz
sed \
-e 's/XSAccessor-1.05/XSAccessor-1.13/g' \
-e '/RUN_TESTS=1/c RUN_TESTS=0' \
-e 's/perl5.12/perl/g' \
-e 's/5.12/5.16/g' \
-i buildme.sh
sh buildme.sh
popd
cp -r ${svnurl}build/5.16/lib/perl5/*-linux-thread-multi/* CPAN/
cp -r ${svnurl}build/arch CPAN/
rm -fr svn.slimdevices.com
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"-*
build_cpan
patch -p1 -i ../perl-recent.patch
rm -r CPAN/arch/5.{8,10,12,14}
#rm -r CPAN/arch/5.16/{arm-linux-gnueabi-thread-multi-64int,i386-linux-thread-multi-64int,powerpc-linux-thread-multi-64int}
#[[ ${CARCH} = i686 ]] && rm -r CPAN/arch/5.16/x86_64-linux-thread-multi || true
#[[ ${CARCH} = x86_64 ]] && rm -r CPAN/arch/5.16/i386-linux-thread-multi || true
#rm -r Bin/{arm-linux,darwin,i386-freebsd-64int,powerpc-linux,sparc-linux}
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"-*
install -d "${pkgdir}"/{opt,usr/share/licenses}/"${pkgname}"
cp -a * "${pkgdir}/opt/${pkgname}"
ln -s /opt/"${pkgname}"/License.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 ../conf.d "${pkgdir}/etc/conf.d/${pkgname}"
install -Dm755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}"
}')