From: Joe Peterson Date: Fri, 9 Apr 2010 04:17:59 +0000 (+0000) Subject: New version 7.4.2 (see installed doc file Gentoo-detailed-changelog.txt for more... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b557d79580d9c96d2df0ad0d9c47617867fe01f4;p=gentoo.git New version 7.4.2 (see installed doc file Gentoo-detailed-changelog.txt for more details) Package-Manager: portage-2.1.8.3/cvs/Linux x86_64 --- diff --git a/media-sound/squeezeboxserver/ChangeLog b/media-sound/squeezeboxserver/ChangeLog index 2822b42f49d1..4c19f86f3f67 100644 --- a/media-sound/squeezeboxserver/ChangeLog +++ b/media-sound/squeezeboxserver/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for media-sound/squeezeboxserver -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/ChangeLog,v 1.2 2009/12/02 23:31:35 lavajoe Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/ChangeLog,v 1.3 2010/04/09 04:17:59 lavajoe Exp $ + +*squeezeboxserver-7.4.2 (09 Apr 2010) + + 09 Apr 2010; Joe Peterson + +squeezeboxserver-7.4.2.ebuild, + +files/squeezeboxserver-7.4.2-build-perl-modules-gentoo.patch, + +files/squeezeboxserver-7.4.2-squeezeslave.patch, + +files/squeezeboxserver-7.4.2-uuid-gentoo.patch, + +files/Gentoo-detailed-changelog.txt, files/Gentoo-plugins-README.txt, + files/build-modules.sh, files/gentoo-filepaths.pm, + files/squeezeboxserver.init.d, files/squeezeboxserver.logrotate.d, + metadata.xml: + New version 7.4.2 (see installed doc file Gentoo-detailed-changelog.txt + for more details) 02 Dec 2009; Joe Peterson squeezeboxserver-7.4.1.ebuild: diff --git a/media-sound/squeezeboxserver/Manifest b/media-sound/squeezeboxserver/Manifest index d6eb3bb81372..f5da6ec0812f 100644 --- a/media-sound/squeezeboxserver/Manifest +++ b/media-sound/squeezeboxserver/Manifest @@ -1,17 +1,23 @@ -AUX Gentoo-plugins-README.txt 994 RMD160 2643cf3cf732620b210d3abfba0cb257368480b8 SHA1 dcf737d2dae22cf34c48d158cb7352b3c02b528f SHA256 eda9b4b52da691f41547726b703c9402382c5bd39bb1028ee382047dc5aacd08 +AUX Gentoo-detailed-changelog.txt 2222 RMD160 3cf45c1ba094144e2b45f4b20dfc16b778bc2b99 SHA1 0937e9ef4b25e728123c700d8e7b1ed281d70232 SHA256 85aacf0ce17f3bdddd8bd2fcc2e78d3947a83e0398a718301f0e453938a7212c +AUX Gentoo-plugins-README.txt 994 RMD160 06fedd6365829cf4c5d06ced0ed80a50dfa51862 SHA1 75586e70194f6cb2c682c50628bf35237a085e07 SHA256 9ff1db5112d2d322fce636d8669d278f297c2ddacc5706b68014a5865ea4993e AUX avahi-squeezeboxserver.service 330 RMD160 47b5b26f788dfe048f7a40763e45ba3ac9134d7e SHA1 c1cba7d50675c4f890c7b9d55c2c558d3ab1f665 SHA256 a4b16989459ecb02d035b3a120d2c2b6d9d3368c06b7aecf5f0497f1bb1c9e17 -AUX build-modules.sh 17055 RMD160 35bf4d03f2805b9dbf6de6006dd98d7953a85b02 SHA1 e0ecb729157d90160ce296bba00921c51afbbd39 SHA256 35380e8728ac8913fa1e9d7c79ddba1b9e8ef349e5e1bec7909b3ce9f3d22a70 +AUX build-modules.sh 17315 RMD160 6f1583c3ab85aa60cf6cd72e00f45e0a95eec220 SHA1 ae25d9d445902b3e980c630b90495b35a85dec9c SHA256 31423cdbb8915c0023f3bc2ca0d9e8a4ffeedaa0b116584cdb17c9ed2fb04647 AUX dbcreate-gentoo.sql 165 RMD160 36fe87c398aee02890710f970245032488b857bb SHA1 e86a26c73addb4b74c345ec70155f2b9d079075b SHA256 d8cf85879e74dc1e429251f5bd4ae7f99e2a460fa668c0abde2c2725b90f10a1 AUX dbdrop-gentoo.sql 64 RMD160 bc60b46ea56642c28ffbd8731e120722e42b66a9 SHA1 a02eab2a62e67d81ff2ad3d3700cd7695f6d31c1 SHA256 0c8e1f3cddd54d6659a014dbcefa928f6d8b9174860cb07d53e01fe9940e8aba -AUX gentoo-filepaths.pm 2746 RMD160 18164fd2445220746a118d97021fb9d1cf3ffb9a SHA1 13a9b68a3b4fa314ccb1f49aa1dafd7f8abbd025 SHA256 a967bcc1e2b3b2ba84c14d328abf2016b157cc620e524c3370d89f25b8e5f3c0 +AUX gentoo-filepaths.pm 2746 RMD160 ae9611b7dc3d86851ccac9160cf5243a87cdbf93 SHA1 20cf74b56edb53ae9c2f054aeb217bdaab6c4955 SHA256 679ac0b4c9c84974380ba330d2b388013466d9d1e6ab10ea7266ececb5b593a3 AUX squeezeboxserver-7.4.1-build-perl-modules-gentoo.patch 673 RMD160 921c336042cb0dc93ce8cb3cd86fa263b8ab1cf6 SHA1 5071b47c9e8b8e2f3d7eaa5f04a6a2709c626c96 SHA256 74678dc596f58556d64c68892ce59b28028cb1e0b9ae7980df36f019c94e6491 +AUX squeezeboxserver-7.4.2-build-perl-modules-gentoo.patch 658 RMD160 7a2587b0db7bb98a57949cd452b7d4aa1552ca30 SHA1 14bc1e6c3a41943a12307dfe84431f3720d2ab03 SHA256 28253e4831e0b9253edaaa93c59c34b4f2ed00459deba177bf1d6331958de214 +AUX squeezeboxserver-7.4.2-squeezeslave.patch 642 RMD160 ed4c4704df0ec6bd1d76903ba8d17b37205d5b9c SHA1 a1d3ef690eedcf50a558ee198763fa187152a70e SHA256 96bdda8d26d4f4f977ee19804b855a16b82bd47386e488ab30170d43b0b43d0d +AUX squeezeboxserver-7.4.2-uuid-gentoo.patch 535 RMD160 398d952efb3a14e5096605f8bda984c1f35d3464 SHA1 df3e341bb1bf6dfe4f983dc1d3393cb9341184be SHA256 b83eaccec972c34df4c80440406947247d9bdb3d90449daf03c413d5bc71b4bf AUX squeezeboxserver.conf.d 1106 RMD160 39ca36903c4b67e40b5e24c06bc62057e932bbf1 SHA1 0d84ec59e828d6eec7bdd64f7b414748eb2a558a SHA256 4ac6df07ae3b74d44ae410e0879ea2ad2d948383c32fdd750a443717c8648df0 -AUX squeezeboxserver.init.d 1346 RMD160 190107871a4a83f5e20f14ac1bf0359662590d7e SHA1 bb26bcbdd20efd4219e24a87fc0184de6f4edab8 SHA256 67ea04d05aaee4f1d73f5b8a9e773685488ac70d30b6845880aafc0710858321 -AUX squeezeboxserver.logrotate.d 422 RMD160 0eb8c547ad3fdb19963765c78930b23823987532 SHA1 201d39a7a2550566432931c8ed6b08935fa00b30 SHA256 e5cf3c2ba691c406cacb8acc89bba67a4c87f156486f195ad1926a63d3770ea3 +AUX squeezeboxserver.init.d 1370 RMD160 c44cef0dd5c39ab43af61edc156283aebc01ac63 SHA1 deaffe5405ca2a3c9b93b21349845f57b3dc07a1 SHA256 191a3f98fb419243ab3713581b9e6043e3fda953a370828c5de172aebbd74f74 +AUX squeezeboxserver.logrotate.d 422 RMD160 a5499fc683738cd8b7f3f0f8a377cf39a76d9b53 SHA1 45c61293538ce6c93fd35c53cbcccfa85bd41619 SHA256 f8dd4bc6b80527d74c32fd0aab5a589f0c123babe08a7536f9f73a57af473670 AUX squeezeboxserver.prefs 132 RMD160 194039dc2ef4b0c579ed13096ff6151fbbd27c02 SHA1 242e1211e1432704b5350a7acbb5be8fbcd2a815 SHA256 8f114c520f2eec360c68861159fb0824733748189836781f22513da6050f669e DIST SqueezeboxServer-Audio-Scan-0.45.tar.gz 2561724 RMD160 4e0b66b4c953304d755aebba96fc96793a702ce1 SHA1 71d957f41c0224880bbd3849346cffc1adba9018 SHA256 aec8e223d2ac5231182233c4cabe46e8d48d1dfac8ca6698f7c6835a83c76b87 DIST SqueezeboxServer-EV-3.8.tar.gz 151268 RMD160 0bb514debdb615b37f5c16164a47c5934aacbdd9 SHA1 a205192861aa5a668592468833d0e99749274aeb SHA256 3be30c896026fe1a873ac16eac9473f80f62c164da88e3815ed6eee56e229345 DIST squeezeboxserver-7.4.1-noCPAN.tgz 22145277 RMD160 eb0384ab0dc3673854b3d908cd8aa9fed238086e SHA1 85b72c26165eeabf113c1595bb9e72cfa5d56a72 SHA256 8236bcc3acf802bd4fc0fa2761930f1f14d4b578460057e7d3d8c7b4b7e8910c +DIST squeezeboxserver-7.4.2-noCPAN.tgz 22197375 RMD160 a52088edcb01d8114d02e80eb35c2eaacdca215f SHA1 0d59db03cd4162f5162f75443e46fef2963f5ba4 SHA256 6f2555c53f0514477935593526e027eb35e9f8735283fe996ecfcfdf0d563b8b EBUILD squeezeboxserver-7.4.1.ebuild 18593 RMD160 be6e85d12bb56593e5c685079d2506bcb38b7c05 SHA1 9e05eea706ddc4a0c90adc50f4c18e4bafd01981 SHA256 fd0911698f922582b7347854ff02110ba3a25a9f6533dacdb880ab3b9b856cd1 -MISC ChangeLog 951 RMD160 2a395072284d7168c509c050b3a7b6707df18a83 SHA1 92342da5c03f751f4619a7e7bdf104c442b7cb80 SHA256 9054ad016639c3003166477e0eb0c3a59095856731bf71a0220aba19ff7ddd0c -MISC metadata.xml 916 RMD160 774f6e832dd24f81c7e4459edb62cb2107c43306 SHA1 f0332e15ef307529b54ade013ff0410164b83a8c SHA256 02b789feff9914ab726c26bd2263db1e968fbef49af45932e149b57ff47a7aca +EBUILD squeezeboxserver-7.4.2.ebuild 17536 RMD160 89a26ea65f39affc8ae5fe7dc0ddfb58b85b47e4 SHA1 05656a1668e35f4aaabf225e1d9d18fed236fb7b SHA256 5647d18c2ddc8b61aa3baeb86e2aa59eb5b1b422a8683c57905c14a1c227e5b0 +MISC ChangeLog 1547 RMD160 44576e01bf8cd2e6f99e52e408437e9a857f204e SHA1 7c6f845e82c1efd6548928ba04c4ad57f4e0ed97 SHA256 b73fabf05e6b17a131322c322ab69686617c21df81a4aa100b90841e222cacfe +MISC metadata.xml 994 RMD160 7bf433bb5e8524dd9877dfbcfb24e9195c009217 SHA1 2d5e19068ba2503090ea41385644a9a4cf196df9 SHA256 b0973f4295a822a2cab3f3d22be15d90a9289c537c37c214a71e590c81d93833 diff --git a/media-sound/squeezeboxserver/files/Gentoo-detailed-changelog.txt b/media-sound/squeezeboxserver/files/Gentoo-detailed-changelog.txt new file mode 100644 index 000000000000..d9e515eb0c2e --- /dev/null +++ b/media-sound/squeezeboxserver/files/Gentoo-detailed-changelog.txt @@ -0,0 +1,60 @@ +Updated for Squeezebox Server 7.4.2 + +Bonjour/Avahi support removed (bug#307099) + +Class-XSAccessor-Array no longer required (bug#275520) + +Supports Perl 5.10.1 for bundled EV build (bug#287257) + +Fewer bundled Perl modules: + dev-perl/PAR (added through bug#275932) + dev-perl/Audio-Scan (added through bug#287264) + dev-perl/enum (added through bug#275931) + dev-perl/Text-Unidecode (added through bug#275939) + dev-perl/URI-Find (added through bug#275933) + dev-perl/Algorithm/C3 (added through bug#275529) + dev-perl/Net-UPnP (added through bug#275548) + dev-perl/File-BOM (added through bug#275530) + dev-perl/Proc-Background (added through bug#275940) + dev-perl/Tie-Cache-LRU (added through bug#275935) + dev-perl/Tie-Cache-LRU-Expires (added through bug#277335) + dev-perl/Data-Dump (added through bug#275942) + dev-perl/Data-URIEncode (added through bug#277332) + dev-perl/Tie-LLHash (added through bug#275936) + dev-perl/Tie-RegexpHash (added through bug#275938) + dev-perl/Class-XSAccessor + dev-perl/MRO-Compat + dev-perl/Data-Page + dev-perl/Data-UUID + +Utilises Data::UUID rather than UUID::Tidy + A patch is included to use Data::UUID since this is in + Portage (UUID::Tiny isn't) + +Removed redundant musepack USE flag + +Allow an external SQL server + A small tweak from jaervosz@gentoo.org (see bug#287257) to allow an + external MySQL server by only depending on it if it's installed. + +For Torsten: prefs in /etc rather than in /var/lib/squeezeboxserver/prefs + +For Torsten: Uses EAPI2 and use flag dependencies (a tidying up) + +Fixed build-modules with 'noexec' portage + Now copies the script into the source directory during the build process + to avoid trying to execute a script in the FILES directory - this fails + on Portage trees mounted 'noexec' (comment#25 in bug#287257). + +For Torsten: failure checks on newexe's + +For Torsten: EAPI2 and USE dependencies + +For Torsten: Fewer hardiwred paths in ebuild + Uses get_libdir and Perl installvendorlib + +The following Gentoo bugs should be able to be closed with this update: + bug#300051 (Perl 5.10) + bug#307099 (bogus USE flags) + bug#275520 (dev-perl/Class-XSAccessor-Array phaseout) + bug#307119 (Squeezebox Server 7.4.2 bump) diff --git a/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt b/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt index 4b29b8ee53af..defa835a8ae4 100644 --- a/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt +++ b/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt,v 1.1 2009/11/25 22:52:25 lavajoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/Gentoo-plugins-README.txt,v 1.2 2010/04/09 04:17:59 lavajoe Exp $ The standard Squeezebox Server package is installed differently on Gentoo in order that the installation complies with Gentoo's filesystem layout. These diff --git a/media-sound/squeezeboxserver/files/build-modules.sh b/media-sound/squeezeboxserver/files/build-modules.sh index ecfa8d43bd81..ae17953e7734 100755 --- a/media-sound/squeezeboxserver/files/build-modules.sh +++ b/media-sound/squeezeboxserver/files/build-modules.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# $Id: build-modules.sh,v 1.1 2009/11/25 22:52:25 lavajoe Exp $ +# $Id: build-modules.sh,v 1.2 2010/04/09 04:17:59 lavajoe Exp $ # # This script builds all binary Perl modules required by Squeezebox Server. # @@ -32,7 +32,7 @@ fi # Build dir BUILD=$PWD -# Path to Perl 5.8.8 +# Path to Perl 5.8.x if [ -x "/usr/bin/perl5.8.8" ]; then PERL_58=/usr/bin/perl5.8.8 elif [ -x "/usr/local/bin/perl5.8.8" ]; then @@ -48,11 +48,22 @@ fi # Install dir for 5.8 BASE_58=$BUILD/5.8 -# Path to Perl 5.10.0 +# Path to Perl 5.10.x if [ -x "/usr/bin/perl5.10.0" ]; then PERL_510=/usr/bin/perl5.10.0 elif [ -x "/usr/local/bin/perl5.10.0" ]; then PERL_510=/usr/local/bin/perl5.10.0 +elif [ -x "/usr/bin/perl5.10.1" ]; then + PERL_510=/usr/bin/perl5.10.1 +elif [ -x "/usr/local/bin/perl5.10.1" ]; then + PERL_510=/usr/local/bin/perl5.10.1 +fi + +if [ ! "$PERL_58" -a ! "$PERL_510" ]; then + echo + echo "*** ERROR: Could not find Perl!" + echo + exit 1 fi if [ $PERL_510 ]; then @@ -147,7 +158,7 @@ function build_module { } function build_all { - build Audio::Scan +# build Audio::Scan # build AutoXS::Header # build Class::C3::XS # build Class::XSAccessor diff --git a/media-sound/squeezeboxserver/files/gentoo-filepaths.pm b/media-sound/squeezeboxserver/files/gentoo-filepaths.pm index dae66c4afa23..d3b86bf3b598 100644 --- a/media-sound/squeezeboxserver/files/gentoo-filepaths.pm +++ b/media-sound/squeezeboxserver/files/gentoo-filepaths.pm @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/gentoo-filepaths.pm,v 1.1 2009/11/25 22:52:25 lavajoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/gentoo-filepaths.pm,v 1.2 2010/04/09 04:17:59 lavajoe Exp $ # This file contains a custom OS package to provide information on the # installation structure on Gentoo. It is based on the Debian OS equivalent diff --git a/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-build-perl-modules-gentoo.patch b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-build-perl-modules-gentoo.patch new file mode 100644 index 000000000000..9138dec2b201 --- /dev/null +++ b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-build-perl-modules-gentoo.patch @@ -0,0 +1,25 @@ +--- Slim/bootstrap.pm.old 2010-03-29 23:50:00.000000000 +0100 ++++ Slim/bootstrap.pm 2010-03-29 23:48:07.000000000 +0100 +@@ -193,22 +193,6 @@ + print "To run from source on Windows, please install ActivePerl 5.10. ActivePerl 5.8.8 is no longer supported.\n"; + print "http://www.activestate.com/activeperl/\n\n"; + } +- else { +- print qq{ +-******* +- +-NOTE: +- +-Please use the buildme.sh script located here: +-http://svn.slimdevices.com/repos/slim/7.4/trunk/vendor/CPAN/ +- +-If 7.4 is outdated by the time you read this, Replace "7.4" with the major version +-of Squeezebox Server you are running. +- +-******* +- +- \n}; +- } + + print "Exiting..\n"; + diff --git a/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-squeezeslave.patch b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-squeezeslave.patch new file mode 100644 index 000000000000..4601778d2eb7 --- /dev/null +++ b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-squeezeslave.patch @@ -0,0 +1,15 @@ +--- Slim/Web/HTTP.pm.old 2010-04-08 22:01:10.000000000 +0100 ++++ Slim/Web/HTTP.pm 2010-04-08 22:26:25.000000000 +0100 +@@ -2199,9 +2199,10 @@ + # only kill the timer if we were called for the active streaming connection; + # otherwise we might kill the timer related to the next connection too. + Slim::Utils::Timers::killTimers($client, \&tryStreamingLater); +- +- Slim::Networking::Select::addWrite($httpClient, \&sendStreamingResponse, 1); + } ++ ++ # Bug 14740 - always call sendStreamingResponse so we ensure the socket gets closed ++ Slim::Networking::Select::addWrite($httpClient, \&sendStreamingResponse, 1); + } + + sub forgetClient { diff --git a/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-uuid-gentoo.patch b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-uuid-gentoo.patch new file mode 100644 index 000000000000..c5333a47694f --- /dev/null +++ b/media-sound/squeezeboxserver/files/squeezeboxserver-7.4.2-uuid-gentoo.patch @@ -0,0 +1,14 @@ +--- slimserver.pl.old 2010-03-29 23:37:17.000000000 +0100 ++++ slimserver.pl 2010-03-29 23:37:17.000000000 +0100 +@@ -391,8 +391,9 @@ + + # Generate a UUID for this SC instance on first-run + if ( !$prefs->get('server_uuid') ) { +- require UUID::Tiny; +- $prefs->set( server_uuid => UUID::Tiny::create_UUID_as_string( UUID::Tiny::UUID_V4() ) ); ++ require Data::UUID; ++ my $ug = new Data::UUID; ++ $prefs->set( server_uuid => lc $ug->create_str() ); + } + + main::INFOLOG && $log->info("Squeezebox Server binary search path init..."); diff --git a/media-sound/squeezeboxserver/files/squeezeboxserver.init.d b/media-sound/squeezeboxserver/files/squeezeboxserver.init.d index 7bd376fcbc55..289b0b6fdfc6 100755 --- a/media-sound/squeezeboxserver/files/squeezeboxserver.init.d +++ b/media-sound/squeezeboxserver/files/squeezeboxserver.init.d @@ -1,21 +1,22 @@ #!/sbin/runscript # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/squeezeboxserver.init.d,v 1.1 2009/11/25 22:52:25 lavajoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/squeezeboxserver.init.d,v 1.2 2010/04/09 04:17:59 lavajoe Exp $ # These fit the Squeezebox Server ebuild and so shouldn't need to be changed; # user-servicable parts go in /etc/conf.d/squeezeboxserver. pidfile=/var/run/squeezeboxserver/squeezeboxserver.pid logdir=/var/log/squeezeboxserver varlibdir=/var/lib/squeezeboxserver -prefsdir=${varlibdir}/prefs cachedir=${varlibdir}/cache -prefsfile=${prefsdir}/squeezeboxserver.prefs +prefsdir=/etc/squeezeboxserver/prefs +prefsfile=/etc/squeezeboxserver/squeezeboxserver.prefs scuser=squeezeboxserver scname=squeezeboxserver depend() { - need net mysql + need net + use mysql } start() { diff --git a/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d b/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d index 21b7c388f8fd..c2ab070276d9 100644 --- a/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d +++ b/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d,v 1.1 2009/11/25 22:52:25 lavajoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/files/squeezeboxserver.logrotate.d,v 1.2 2010/04/09 04:17:59 lavajoe Exp $ /var/log/squeezeboxserver/scanner.log /var/log/squeezeboxserver/server.log /var/log/squeezeboxserver/perfmon.log { missingok diff --git a/media-sound/squeezeboxserver/metadata.xml b/media-sound/squeezeboxserver/metadata.xml index 01812b5df564..fd1a4f9283bc 100644 --- a/media-sound/squeezeboxserver/metadata.xml +++ b/media-sound/squeezeboxserver/metadata.xml @@ -11,13 +11,14 @@ This package provides the Logitech Squeezebox Server audio server. - Squeezebox Server will allow access to your audio collection over local + Squeezebox Server will allow access to your audio collection over local and wide-area networks, as well as serving content to the Logitech Squeezebox and Transporter streaming media players. In addition to local content, Squeezebox Server will also provide access to internet radio and audio podcasts. + Enable playback support for AAC (.m4a) encoded files Enable support for alac Enable support for bonjour diff --git a/media-sound/squeezeboxserver/squeezeboxserver-7.4.2.ebuild b/media-sound/squeezeboxserver/squeezeboxserver-7.4.2.ebuild new file mode 100644 index 000000000000..f876f33aa329 --- /dev/null +++ b/media-sound/squeezeboxserver/squeezeboxserver-7.4.2.ebuild @@ -0,0 +1,490 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/squeezeboxserver/squeezeboxserver-7.4.2.ebuild,v 1.1 2010/04/09 04:17:59 lavajoe Exp $ + +EAPI="2" + +inherit eutils + +MAJOR_VER="${PV:0:3}" +MINOR_VER="${PV:4:1}" +BUILD_NUM="30215" +SRC_DIR="SqueezeboxServer_v${MAJOR_VER}.${MINOR_VER}" +MY_P="squeezeboxserver-${MAJOR_VER}.${MINOR_VER}-noCPAN" +MY_P_BUILD_NUM="squeezeboxserver-${MAJOR_VER}.${MINOR_VER}-${BUILD_NUM}-noCPAN" + +DESCRIPTION="Logitech SqueezeboxServer music server" +HOMEPAGE="http://www.logitechsqueezebox.com/support/download-squeezebox-server.html" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="lame wavpack alac ogg flac aac" + +# Note: EV present because of bug#287857. +SRC_URI="http://www.slimdevices.com/downloads/${SRC_DIR}/${MY_P}.tgz + mirror://gentoo/SqueezeboxServer-EV-3.8.tar.gz" + +# Note: common-sense currently required due to bundled EV (Gentoo bug#287257) +DEPEND=" + !media-sound/squeezecenter + virtual/logger + virtual/mysql + >=dev-perl/common-sense-2.01 + " +# Note: dev-perl/GD necessary because of SC bug#6143 +# (http://bugs.slimdevices.com/show_bug.cgi?id=6143). +RDEPEND=" + dev-perl/File-Which + virtual/logger + virtual/mysql + >=dev-lang/perl-5.8.8 + >=dev-perl/Audio-Scan-0.59 + >=dev-perl/GD-2.41 + >=virtual/perl-IO-Compress-2.015 + >=dev-perl/YAML-Syck-1.05 + >=dev-perl/DBD-mysql-4.00.5 + >=dev-perl/DBI-1.607 + >=dev-perl/Digest-SHA1-2.11 + >=dev-perl/Encode-Detect-1.01 + >=dev-perl/HTML-Parser-3.56 + >=dev-perl/JSON-XS-2.2.3.1 + >=dev-perl/Template-Toolkit-2.19 + >=virtual/perl-Time-HiRes-1.97.15 + >=dev-perl/XML-Parser-2.36 + >=dev-perl/Cache-Cache-1.04 + >=dev-perl/Class-Data-Inheritable-0.08 + >=dev-perl/Class-Inspector-1.23 + >=dev-perl/File-Next-1.02 + >=virtual/perl-File-Temp-0.20 + >=dev-perl/File-Which-0.05 + >=perl-core/i18n-langtags-0.35 + >=dev-perl/IO-String-1.08 + >=dev-perl/Log-Log4perl-1.13 + >=dev-perl/libwww-perl-5.805 + >=perl-core/CGI-3.29 + >=dev-perl/TimeDate-1.16 + >=dev-perl/Math-VecStat-0.08 + >=dev-perl/Net-DNS-0.63 + >=dev-perl/Net-IP-1.25 + >=dev-perl/Path-Class-0.16 + >=dev-perl/SQL-Abstract-1.56 + >=dev-perl/SQL-Abstract-Limit-0.12 + >=dev-perl/URI-1.35 + >=dev-perl/XML-Simple-2.18 + >=perl-core/version-0.76 + >=dev-perl/Carp-Clan-5.9 + >=dev-perl/Readonly-1.03 + >=dev-perl/Carp-Assert-0.20 + >=dev-perl/Class-Virtual-0.06 + >=dev-perl/File-Slurp-9999.13 + >=dev-perl/Exporter-Lite-0.02 + >=dev-perl/Tie-IxHash-1.21 + >=virtual/perl-Module-Pluggable-3.6 + >=dev-perl/Archive-Zip-1.23 + >=dev-perl/AnyEvent-5.2 + >=dev-perl/Sub-Name-0.04 + >=dev-perl/Module-Find-0.08 + >=dev-perl/Class-Accessor-0.31 + >=dev-perl/Class-XSAccessor-1.05 + >=dev-perl/AutoXS-Header-1.02 + >=dev-perl/Scope-Guard-0.03 + >=dev-perl/Class-C3-XS-0.13 + >=dev-perl/Class-C3-0.21 + >=dev-perl/Class-C3-Componentised-1.0006 + >=dev-perl/File-ReadBackwards-1.04 + >=dev-perl/DBIx-Class-0.08115 + >=dev-perl/JSON-XS-VersionOneAndTwo-0.31 + >=dev-perl/MRO-Compat-0.11 + >=dev-perl/PAR-0.994 + >=dev-perl/enum-1.016 + >=dev-perl/URI-Find-20100211 + >=dev-perl/Algorithm-C3-0.08 + >=dev-perl/Text-Unidecode-0.04 + >=dev-perl/Net-UPnP-1.4.2 + >=dev-perl/File-BOM-0.14 + >=dev-perl/Proc-Background-1.10 + >=dev-perl/Tie-Cache-LRU-20081023.2116 + >=dev-perl/Tie-Cache-LRU-Expires-0.54 + >=dev-perl/Data-Dump-1.15 + >=dev-perl/Data-Page-2.02 + >=dev-perl/Data-URIEncode-0.11 + >=dev-perl/Tie-LLHash-1.003 + >=dev-perl/Tie-RegexpHash-0.15 + >=dev-perl/Data-UUID-1.202 + lame? ( media-sound/lame ) + alac? ( media-sound/alac_decoder ) + wavpack? ( media-sound/wavpack ) + flac? ( + media-libs/flac + media-sound/sox[flac] + ) + ogg? ( media-sound/sox[ogg] ) + aac? ( media-libs/faad2 ) + " + +S="${WORKDIR}/${MY_P_BUILD_NUM}" + +ETCDIR="/etc/squeezeboxserver" +PREFS="${ETCDIR}/squeezeboxserver.prefs" +PREFSDIR="${ETCDIR}/prefs" +DOCDIR="/usr/share/doc/squeezeboxserver-${PV}" +SHAREDIR="/usr/share/squeezeboxserver" +LIBDIR="/usr/$(get_libdir)/squeezeboxserver" +OLDDBUSER="squeezecenter" +DBUSER="squeezeboxserver" +VARLIBSBS="/var/lib/squeezeboxserver" +PLUGINSDIR="${VARLIBSBS}/Plugins" + +# To support Migration +OLDETCDIR="/etc/squeezecenter" +OLDPREFSDIR="/var/lib/squeezecenter/prefs" +OLDPREFSFILE="${OLDPREFSDIR}/server.prefs" +OLDPLUGINSDIR="/var/lib/squeezecenter/Plugins" +MIGMARKER=".migrated" + +pkg_setup() { + # Create the user and group if not already present + enewgroup squeezeboxserver + enewuser squeezeboxserver -1 -1 "/dev/null" squeezeboxserver +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Apply patches + epatch "${FILESDIR}/${P}-build-perl-modules-gentoo.patch" + epatch "${FILESDIR}/${P}-uuid-gentoo.patch" + epatch "${FILESDIR}/${P}-squeezeslave.patch" + + # Copy in the module builder - can't run it from the files directory in case + # Portage is mounted 'noexec'. + cp "${FILESDIR}/build-modules.sh" "${S}" || die + chmod 555 "${S}/build-modules.sh" || die +} + +# Building of EV present because of bug#287857. +src_compile() { + einfo "Building bundled Perl modules (some warnings are normal here)..." + "./build-modules.sh" "${DISTDIR}" || die "Unable to build Perl modules" +} + +src_install() { + + # The main Perl executables + exeinto /usr/sbin + newexe slimserver.pl squeezeboxserver || die "Failed to install server executable" + newexe scanner.pl squeezeboxserver-scanner || die "Failed to install scanner executable" + newexe cleanup.pl squeezeboxserver-cleanup || die "Failed to install cleanup executable" + + # The custom OS module for Gentoo - provides OS-specific path details + cp "${FILESDIR}/gentoo-filepaths.pm" "Slim/Utils/OS/Custom.pm" || die "Unable to install Gentoo custom OS module" + + # The server Perl modules + local installvendorlib + eval `perl '-V:installvendorlib'` + dodir "${installvendorlib}" + cp -r Slim "${D}${installvendorlib}" || die "Unable to install server Perl modules" + + # Various directories of architecture-independent static files + dodir "${SHAREDIR}" + cp -r Firmware "${D}/${SHAREDIR}" || die "Unable to install firmware" + cp -r Graphics "${D}/${SHAREDIR}" || die "Unable to install Graphics" + cp -r HTML "${D}/${SHAREDIR}" || die "Unable to install HTML" + cp -r IR "${D}/${SHAREDIR}" || die "Unable to install IR" + cp -r SQL "${D}/${SHAREDIR}" || die "Unable to install SQL" + + # Architecture-dependent static files + dodir "${LIBDIR}" + cp -r lib/* "${D}${LIBDIR}" || die "Unable to install architecture-dependent files" + + # Install compiled Perl modules because of bug#287857. + dodir "${LIBDIR}/CPAN/arch" + cp -r CPAN-arch/* "${D}${LIBDIR}/CPAN/arch" || die "Unable to install compiled CPAN modules" + cp -r CPAN-pm/* "${D}${LIBDIR}/CPAN" || die "Unable to install compiled CPAN modules" + + # Strings and version identification + insinto "${SHAREDIR}" + doins strings.txt + doins revision.txt + + # Documentation + dodoc Changelog*.html + dodoc Installation.txt + dodoc License*.txt + dodoc "${FILESDIR}/Gentoo-plugins-README.txt" + dodoc "${FILESDIR}/Gentoo-detailed-changelog.txt" + + # Configuration files and preferences + insinto "${ETCDIR}" + doins convert.conf + doins types.conf + doins modules.conf + newins "${FILESDIR}/squeezeboxserver.prefs" squeezeboxserver.prefs + + # Preferences directory + dodir "${PREFSDIR}" + fowners squeezeboxserver:squeezeboxserver "${PREFSDIR}" + fperms 770 "${PREFSDIR}" + + # Install init scripts + newconfd "${FILESDIR}/squeezeboxserver.conf.d" squeezeboxserver + newinitd "${FILESDIR}/squeezeboxserver.init.d" squeezeboxserver + + # Install the SQL configuration scripts + insinto "${SHAREDIR}/SQL/mysql" + doins "${FILESDIR}/dbdrop-gentoo.sql" + doins "${FILESDIR}/dbcreate-gentoo.sql" + + # Initialize run directory (where the PID file lives) + dodir /var/run/squeezeboxserver + fowners squeezeboxserver:squeezeboxserver /var/run/squeezeboxserver + fperms 770 /var/run/squeezeboxserver + + # Initialize server cache directory + dodir /var/lib/squeezeboxserver/cache + fowners squeezeboxserver:squeezeboxserver /var/lib/squeezeboxserver/cache + fperms 770 /var/lib/squeezeboxserver/cache + + # Initialize the log directory + dodir /var/log/squeezeboxserver + fowners squeezeboxserver:squeezeboxserver /var/log/squeezeboxserver + fperms 770 /var/log/squeezeboxserver + touch "${D}/var/log/squeezeboxserver/server.log" + touch "${D}/var/log/squeezeboxserver/scanner.log" + touch "${D}/var/log/squeezeboxserver/perfmon.log" + fowners squeezeboxserver:squeezeboxserver /var/log/squeezeboxserver/server.log + fowners squeezeboxserver:squeezeboxserver /var/log/squeezeboxserver/scanner.log + fowners squeezeboxserver:squeezeboxserver /var/log/squeezeboxserver/perfmon.log + + # Initialise the user-installed plugins directory + dodir "${PLUGINSDIR}" + fowners squeezeboxserver:squeezeboxserver "${PLUGINSDIR}" + fperms 770 "${PLUGINSDIR}" + + # Install logrotate support + insinto /etc/logrotate.d + newins "${FILESDIR}/squeezeboxserver.logrotate.d" squeezeboxserver +} + +sc_starting_instr() { + elog "Squeezebox Server can be started with the following command:" + elog "\t/etc/init.d/squeezeboxserver start" + elog "" + elog "Squeezebox Server can be automatically started on each boot with the" + elog "following command:" + elog "\trc-update add squeezeboxserver default" + elog "" + elog "You might want to examine and modify the following configuration" + elog "file before starting Squeezebox Server:" + elog "\t/etc/conf.d/squeezeboxserver" + elog "" + + # Discover the port number from the preferences, but if it isn't there + # then report the standard one. + httpport=$(gawk '$1 == "httpport:" { print $2 }' "${ROOT}${LIVE_PREFS}" 2>/dev/null) + elog "You may access and configure Squeezebox Server by browsing to:" + elog "\thttp://localhost:${httpport:-9000}/" +} + +pkg_postinst() { + # FLAC and LAME are quite useful (but not essential) for Squeezebox Server - + # if they're not enabled then make sure the user understands that. + if ! use flac; then + ewarn "'flac' USE flag is not set. Although not essential, FLAC is required" + ewarn "for playing lossless WAV and FLAC (for Squeezebox 1), and for" + ewarn "playing other less common file types (if you have a Squeezebox 2 or newer)." + ewarn "For maximum flexibility you are recommended to set the 'flac' USE flag". + ewarn "" + fi + if ! use lame; then + ewarn "'lame' USE flag is not set. Although not essential, LAME is" + ewarn "required if you want to limit the bandwidth your Squeezebox or" + ewarn "Transporter uses when streaming audio." + ewarn "For maximum flexibility you are recommended to set the 'lame' USE flag". + ewarn "" + fi + + # Album art requires PNG and JPEG support from GD, so if it's not there + # then warn the user. It's not mandatory as the user may not be using + # album art. + if ! has_version dev-perl/GD[jpeg] || \ + ! has_version dev-perl/GD[png] || \ + ! has_version media-libs/gd[jpeg] || \ + ! has_version media-libs/gd[png]; then + ewarn "For correct operation of album art through Squeezebox Server's web" + ewarn "interface the GD library and Perl module must be built with PNG" + ewarn "and JPEG support. If necessary you can add the following lines" + ewarn "to the file /etc/portage/package.use:" + ewarn "\tdev-perl/GD jpeg png" + ewarn "\tmedia-libs/gd jpeg png" + ewarn "And then rebuild those packages with:" + ewarn "\temerge --newuse dev-perl/GD media-libs/gd" + ewarn "" + fi + + # Point user to database configuration step + elog "If this is a new installation of Squeezebox Server then the database" + elog "must be configured prior to use. This can be done by running the" + elog "following command:" + elog "\temerge --config =${CATEGORY}/${PF}" + elog "This command will also migrate old SqueezeCenter preferences and" + elog "plugins (if present)." + + elog "" + + ewarn "Note: If squeezeboxserver dies after the initial configuration" + ewarn " after an upgrade from a previous installation, try removing" + ewarn " /var/lib/squeezeboxserver and /etc/squeezeboxserver and" + ewarn " then reinstalling the package (note that old preferences" + ewarn " and plugins will be lost). See bug #307119." + + elog "" + sc_starting_instr +} + +sc_remove_db_prefs() { + MY_PREFS=$1 + + einfo "Configuring Squeezebox Server database preferences (${MY_PREFS}) ..." + TMPPREFS="${T}"/squeezeboxserver-prefs-$$ + touch "${ROOT}${MY_PREFS}" + sed -e '/^dbusername:/d' -e '/^dbpassword:/d' -e '/^dbsource:/d' < "${ROOT}${MY_PREFS}" > "${TMPPREFS}" + mv "${TMPPREFS}" "${ROOT}${MY_PREFS}" + chown squeezeboxserver:squeezeboxserver "${ROOT}${MY_PREFS}" + chmod 660 "${ROOT}${MY_PREFS}" +} + +sc_update_prefs() { + MY_PREFS=$1 + MY_DBUSER=$2 + MY_DBUSER_PASSWD=$3 + + echo "dbusername: ${MY_DBUSER}" >> "${ROOT}${MY_PREFS}" + echo "dbpassword: ${MY_DBUSER_PASSWD}" >> "${ROOT}${MY_PREFS}" + echo "dbsource: dbi:mysql:database=${MY_DBUSER};mysql_socket=/var/run/mysqld/mysqld.sock" >> "${ROOT}${MY_PREFS}" +} + +pkg_config() { + einfo "Press ENTER to create the Squeezebox Server database and set proper" + einfo "permissions on it. You will be prompted for the MySQL 'root' user's" + einfo "password during this process (note that the MySQL 'root' user is" + einfo "independent of the Linux 'root' user and so may have a different" + einfo "password)." + einfo "" + einfo "If you already have a Squeezebox Server database set up then this" + einfo "process will clear the existing database (your music files will not," + einfo "however, be affected)." + einfo "" + einfo "Alternatively, press Control-C to abort now..." + read + + # Get the MySQL root password from the user (not echoed to the terminal) + einfo "The MySQL 'root' user password is required to create the" + einfo "Squeezebox Server user and database." + DONE=0 + while [ $DONE -eq 0 ]; do + trap "stty echo; echo" EXIT + stty -echo + read -p "MySQL root password: " ROOT_PASSWD; echo + stty echo + trap ":" EXIT + echo quit | mysql --user=root --password="${ROOT_PASSWD}" >/dev/null 2>&1 && DONE=1 + if [ $DONE -eq 0 ]; then + eerror "Incorrect MySQL root password, or MySQL is not running" + fi + done + + # Get the new password for the Squeezebox Server MySQL database user, and + # have it re-entered to confirm it. We should trivially check it's not + # the same as the MySQL root password. + einfo "A new MySQL user will be added to own the Squeezebox Server database." + einfo "Please enter the password for this new user (${DBUSER})." + DONE=0 + while [ $DONE -eq 0 ]; do + trap "stty echo; echo" EXIT + stty -echo + read -p "MySQL ${DBUSER} password: " DBUSER_PASSWD; echo + stty echo + trap ":" EXIT + if [ -z "$DBUSER_PASSWD" ]; then + eerror "The password should not be blank; try again." + elif [ "$DBUSER_PASSWD" == "$ROOT_PASSWD" ]; then + eerror "The ${DBUSER} password should be different to the root password" + else + DONE=1 + fi + done + + # Drop the existing database and user - note we don't care about errors + # from this as it probably just indicates that the database wasn't + # yet present. + einfo "Dropping old Squeezebox Server database and user ..." + sed -e "s/__DATABASE__/${DBUSER}/" -e "s/__DBUSER__/${DBUSER}/" < "${SHAREDIR}/SQL/mysql/dbdrop-gentoo.sql" | mysql --user=root --password="${ROOT_PASSWD}" >/dev/null 2>&1 + + # Drop and create the Squeezebox Server user and database. + einfo "Creating Squeezebox Server MySQL user and database (${DBUSER}) ..." + sed -e "s/__DATABASE__/${DBUSER}/" -e "s/__DBUSER__/${DBUSER}/" -e "s/__DBPASSWORD__/${DBUSER_PASSWD}/" < "${SHAREDIR}/SQL/mysql/dbcreate-gentoo.sql" | mysql --user=root --password="${ROOT_PASSWD}" || die "Unable to create MySQL database and user" + + # Migrate old preferences, if present. + if [ -d "${OLDPREFSFILE}" ]; then + if [ -f "${ETCDIR}/${MIGMARKER}" ]; then + einfo "" + einfo "Old preferences are present, but they appear to have been" + einfo "migrated before. If you would like to re-migrate the old" + einfo "SqueezeCenter preferences remove the following file, and" + einfo "then restart the configuration." + einfo "\t${ETCDIR}/${MIGMARKER}" + else + einfo "Migrating old SqueezeCenter preferences" + cp -r "${OLDPREFSDIR}" "${VARLIBSBS}" + mv "${VARLIBSBS}/prefs/server.prefs" "/etc/squeezeboxserver/squeezeboxserver.prefs" + chown -R squeezeboxserver:squeezeboxserver "${PREFSDIR}" + touch "${PREFSDIR}/${MIGMARKER}" + fi + fi + + # Migrate old plugins, if present. + if [ -d "${OLDPLUGINSDIR}" ]; then + if [ -f "${PLUGINSDIR}/${MIGMARKER}" ]; then + einfo "" + einfo "Old plugins are present, but they appear to have been" + einfo "migrated before. If you would like to re-migrate the old" + einfo "SqueezeCenter preferences remove the following file, and" + einfo "then restart the configuration." + einfo "\t${PLUGINSDIR}/${MIGMARKER}" + else + einfo "Migrating old SqueezeCenter plugins" + cp -r "${OLDPLUGINSDIR}" "${VARLIBSBS}" + chown -R squeezeboxserver:squeezeboxserver "${PLUGINSDIR}" + touch "${PLUGINSDIR}/${MIGMARKER}" + fi + fi + + # Remove the existing MySQL preferences from Squeezebox Server (if any). + sc_remove_db_prefs "${PREFS}" + + # Insert the external MySQL configuration into the preferences. + sc_update_prefs "${PREFS}" "${DBUSER}" "${DBUSER_PASSWD}" + + # Phew - all done. Give some tips on what to do now. + einfo "Database configuration complete." + einfo "" + sc_starting_instr +} + +pkg_preinst() { + # Warn the user if there are old preferences that may need migrating. + if [ -d "${OLDPREFSDIR}" -a ! -f "${PREFSDIR}/${MIGMARKER}" ]; then + if [ ! -z "$(ls ${OLDPREFSDIR})" ]; then + ewarn "Note: It appears that old SqueezeCenter preferences are +installed at:" + ewarn "\t${OLDPREFSDIR}" + ewarn "These may be migrated by running the following command:" + ewarn "\temerge --config =${CATEGORY}/${PF}" + ewarn "(Please note that this will require your music collection to +be rescanned.)" + ewarn "" + fi + fi +}