From 4f911a8c6a897f5179d2f7776e47e752f9cc76b9 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Fri, 19 Jan 2007 00:19:39 +0000 Subject: Upgrade to slimserver 6.5.1. Mostly minor improvements. See the release notes for details http://www.slimdevices.com/Changelog6.html. Fix a longstanding bug that caused mDNS support to not actually work. Take advantage of improvements in rc.subr to reduce the amount of code in the shutdown path including removing the pgrep dependancy. --- audio/slimserver/Makefile | 30 +++++++++--------- audio/slimserver/distinfo | 6 ++-- .../files/patch-Bin_build-perl-modules.pl | 12 ++++---- .../slimserver/files/patch-Slim_Networking_mDNS.pm | 22 +++++++++++++ audio/slimserver/files/patch-Slim_Utils_Misc.pm | 6 ++-- audio/slimserver/files/slimserver.sh.in | 36 +++++++++------------- audio/squeezeboxserver/Makefile | 30 +++++++++--------- audio/squeezeboxserver/distinfo | 6 ++-- .../files/patch-Bin_build-perl-modules.pl | 12 ++++---- .../files/patch-Slim_Networking_mDNS.pm | 22 +++++++++++++ .../files/patch-Slim_Utils_Misc.pm | 6 ++-- audio/squeezeboxserver/files/slimserver.sh.in | 36 +++++++++------------- audio/squeezeboxserver/files/squeezecenter.sh.in | 36 +++++++++------------- audio/squeezecenter/Makefile | 30 +++++++++--------- audio/squeezecenter/distinfo | 6 ++-- .../files/patch-Bin_build-perl-modules.pl | 12 ++++---- .../files/patch-Slim_Networking_mDNS.pm | 22 +++++++++++++ audio/squeezecenter/files/patch-Slim_Utils_Misc.pm | 6 ++-- audio/squeezecenter/files/slimserver.sh.in | 36 +++++++++------------- audio/squeezecenter/files/squeezecenter.sh.in | 36 +++++++++------------- 20 files changed, 217 insertions(+), 191 deletions(-) create mode 100644 audio/slimserver/files/patch-Slim_Networking_mDNS.pm create mode 100644 audio/squeezeboxserver/files/patch-Slim_Networking_mDNS.pm create mode 100644 audio/squeezecenter/files/patch-Slim_Networking_mDNS.pm diff --git a/audio/slimserver/Makefile b/audio/slimserver/Makefile index aad1989db748..53a010cae1cc 100644 --- a/audio/slimserver/Makefile +++ b/audio/slimserver/Makefile @@ -6,7 +6,7 @@ # PORTNAME= slimserver -PORTVERSION= 6.5.0 +PORTVERSION= 6.5.1 CATEGORIES= audio MASTER_SITES= http://www.slimdevices.com/downloads/SlimServer_v${PORTVERSION}/ DISTNAME= SlimServer_v${PORTVERSION}.no-cpan-arch @@ -80,13 +80,6 @@ RUN_DEPENDS+= oggdec:${PORTSDIR}/audio/vorbis-tools IGNORE= perl 5.8.3 or newer required. Install lang/perl5.8 and try again .endif -.if ${OSVERSION} < 502110 -RUN_DEPENDS+= {LOCALBASE}/bin/pgrep:${PORTSDIR}/sysutils/pkill -PGREPBASE= ${LOCALBASE} -.else -PGREPBASE= /usr -.endif - USE_RC_SUBR= slimserver.sh TMP_SLIMDIR= ${WRKDIR}/slimserver TMP_DOCSDIR= ${WRKDIR}/doc @@ -103,8 +96,9 @@ PLIST_SUB= SLIMDIR=${SLIMDIR} PLIST_FILES= bin/softsqueeze SUB_FILES= softsqueeze.sh pkg-install -SUB_LIST= PGREPBASE=${PGREPBASE} \ +SUB_LIST= PERL=${PERL} \ SLIMDIR=${SLIMDIR} \ + SLIMDBDIR=${SLIMDBDIR} \ CONFFILES="${CONFFILES}" pre-fetch: @@ -115,6 +109,7 @@ pre-fetch: .endif SLIMDIR?= slimserver +SLIMDBDIR= /var/db/slimserver post-fetch: .for _PKG in ${SLIMCPANPKGS} @@ -128,7 +123,12 @@ post-patch: -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%TMP_SLIMDIR%%|${TMP_SLIMDIR}|' \ -e 's|%%CPANWRKDIR%%|${CPANWRKDIR}|' \ - -e 's|%%DISTDIR%%|${_DISTDIR}|' ${WRKSRC}/Bin/build-perl-modules.pl + -e 's|%%DISTDIR%%|${_DISTDIR}|' \ + ${WRKSRC}/Bin/build-perl-modules.pl + @${REINPLACE_CMD} \ + -e 's|/usr/bin/perl|${PERL}|' \ + ${WRKSRC}/scanner.pl ${WRKSRC}/slimserver.pl + @${RM} ${WRKSRC}/scanner.pl.bak ${WRKSRC}/slimserver.pl.bak do-build: @${MKDIR} -m 0755 ${TMP_SLIMDIR} @@ -170,17 +170,17 @@ post-build: ${SED} -e 's|${TMP_DOCSDIR}|@dirrm %%DOCSDIR%%|' | \ ${SORT} -r >> ${PLIST} .endif - @${ECHO} '@unexec rm -rf /var/db/slimserver/cache > /dev/null 2>&1 || true' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver/playlists' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver' >> ${PLIST} - @${ECHO} '@unexec test -d /var/db/slimserver && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove /var/db/slimserver and its contents manually.")' >> ${PLIST} + @${ECHO} '@unexec rm -rf ${SLIMDBDIR}/cache > /dev/null 2>&1 || true' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}/playlists' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}' >> ${PLIST} + @${ECHO} '@unexec test -d ${SLIMDBDIR} && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove ${SLIMDBDIR} and its contents manually.")' >> ${PLIST} pre-install: @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL do-install: @${MKDIR} -m 0755 ${PREFIX}/${SLIMDIR} - @${LN} -s /var/db/slimserver/cache ${PREFIX}/${SLIMDIR}/Cache + @${LN} -s ${SLIMDBDIR}/cache ${PREFIX}/${SLIMDIR}/Cache @cd ${TMP_SLIMDIR} && \ ${FIND} . | \ ${CPIO} ${CPIOARGS} ${BINOWN}:${BINGRP} ${PREFIX}/${SLIMDIR} diff --git a/audio/slimserver/distinfo b/audio/slimserver/distinfo index 7cfa8f84dfe2..57a43b99f03d 100644 --- a/audio/slimserver/distinfo +++ b/audio/slimserver/distinfo @@ -1,6 +1,6 @@ -MD5 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 420e321577ed5b4f5fd61615cd01eb50 -SHA256 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 63bd2600efd70c4165b474dfab97e32085af80b155e99f944bbcc6937ed68ead -SIZE (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 12320425 +MD5 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 69298ca0a214224ac2a79a522e26dd3c +SHA256 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 8e3122472e94f491984351774925c943a257643044655c468fc11b6be18d6cb5 +SIZE (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 15271878 MD5 (slimserver/YAML-Syck-0.64.tar.gz) = 51054b5da582e381158f10276f82ae15 SHA256 (slimserver/YAML-Syck-0.64.tar.gz) = 70ff201165020c7aeadeb4bd1a6233462994a07a7153c8f5570a3698b0207e07 SIZE (slimserver/YAML-Syck-0.64.tar.gz) = 128255 diff --git a/audio/slimserver/files/patch-Bin_build-perl-modules.pl b/audio/slimserver/files/patch-Bin_build-perl-modules.pl index a2cbae114627..b5ddceb89645 100644 --- a/audio/slimserver/files/patch-Bin_build-perl-modules.pl +++ b/audio/slimserver/files/patch-Bin_build-perl-modules.pl @@ -12,7 +12,7 @@ $FreeBSD$ - 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', - 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', - 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -- 'Template' => 'Template-Toolkit-2.14.tar.gz', +- 'Template' => 'Template-Toolkit-2.15.tar.gz', - 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', - 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', +# 'Compress::Zlib' => 'Compress-Zlib-1.41.tar.gz', @@ -20,7 +20,7 @@ $FreeBSD$ +# 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', +# 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', +# 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -+# 'Template' => 'Template-Toolkit-2.14.tar.gz', ++# 'Template' => 'Template-Toolkit-2.15.tar.gz', +# 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', +# 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', 'YAML::Syck' => 'YAML-Syck-0.64.tar.gz', @@ -116,7 +116,7 @@ $FreeBSD$ # Only download the packages that were passsed. my @packages = (); -@@ -189,30 +153,9 @@ +@@ -189,30 +153,8 @@ chdir($pwd) or die "Couldn't change to $pwd : $!"; @@ -129,7 +129,7 @@ $FreeBSD$ - - LWP::Simple::getstore("$SOURCE/$package?view=auto", $package); - -- } elsif ($downloadUsing eq 'curl') { +- } elsif ($downloadUsing =~ /curl$/) { - - `$downloadUsing --silent -o $package $SOURCE/$package?view=auto`; - @@ -141,10 +141,10 @@ $FreeBSD$ - unless (-r $package) { - print "Something looks wrong - I couldn't read $pwd/$package, which I just downloaded.\n"; - } -+ print "\nExtracting $package in: $pwd\n"; - +- - print "Uncompressing..\n"; - `gzip -d < $package | tar xvf -`; ++ print "\nExtracting $package in: $pwd\n"; + `tar xfvz %%DISTDIR%%/$package`; unlink $package; diff --git a/audio/slimserver/files/patch-Slim_Networking_mDNS.pm b/audio/slimserver/files/patch-Slim_Networking_mDNS.pm new file mode 100644 index 000000000000..259bee3f1f52 --- /dev/null +++ b/audio/slimserver/files/patch-Slim_Networking_mDNS.pm @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- Slim/Networking/mDNS.pm.orig ++++ Slim/Networking/mDNS.pm +@@ -100,7 +100,6 @@ + + print CONF "$name\n"; + print CONF "$service\n"; +- print CONF "TXT\n"; + print CONF "$port\n"; + print CONF "\n"; + } +@@ -113,7 +112,7 @@ + return; + } + +- my $command = sprintf("%s -d -f %s -P %s", $mDNSBin, $confFile, $pidFile); ++ my $command = sprintf("%s -b -f %s -P %s", $mDNSBin, $confFile, $pidFile); + + $::d_mdns && msg("mDNS: About to run: $command\n"); + diff --git a/audio/slimserver/files/patch-Slim_Utils_Misc.pm b/audio/slimserver/files/patch-Slim_Utils_Misc.pm index 16a2f1e07a1e..d1a688348668 100644 --- a/audio/slimserver/files/patch-Slim_Utils_Misc.pm +++ b/audio/slimserver/files/patch-Slim_Utils_Misc.pm @@ -3,12 +3,12 @@ $FreeBSD$ --- Slim/Utils/Misc.pm.orig +++ Slim/Utils/Misc.pm -@@ -106,7 +106,7 @@ +@@ -107,7 +107,7 @@ if (Slim::Utils::OSDetect::OS() ne "win") { -- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /sw/bin /usr/sbin)); -+ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/local/libexec /sw/bin /usr/sbin)); +- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /sw/bin /usr/sbin)); ++ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /usr/local/libexec /sw/bin /usr/sbin)); } else { diff --git a/audio/slimserver/files/slimserver.sh.in b/audio/slimserver/files/slimserver.sh.in index ee4783aa1f1e..b91aa35cc23f 100644 --- a/audio/slimserver/files/slimserver.sh.in +++ b/audio/slimserver/files/slimserver.sh.in @@ -17,13 +17,14 @@ name=slimserver start_precmd="slimserver_start_precmd" -stop_cmd="slimserver_stop" +stop_postcmd="slimserver_poststop" rcvar=`set_rcvar` command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl +command_interpreter=%%PERL%% pidfile=/var/run/${name}.pid logfile=/var/log/slimserver.log -statedir=/var/db/slimserver +statedir=%%SLIMDBDIR%% cachedir=${statedir}/cache playlistdir=${statedir}/playlists conffile=${statedir}/slimserver.conf @@ -31,8 +32,6 @@ u=slimserv g=slimserv command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}" -PGREP=%%PGREPBASE%%/bin/pgrep - slimserver_start_precmd() { if [ ! -d ${statedir} ]; then @@ -57,25 +56,18 @@ slimserver_start_precmd() fi } -slimserver_stop() +slimserver_poststop() { - if [ ! -f ${pidfile} ]; then - exit - fi - echo 'Stopping SlimServer.' - rc_pid=`cat ${pidfile}` - rc_pid=`${PGREP} -u ${u} | grep ${rc_pid}` - if [ -n "${rc_pid}" ]; then - # Should be mDNSResponderPosix, but the port truncates - rc_pids="${rc_pid} `${PGREP} -u ${u} mDNSResponderPos`" - - kill $sig_stop $rc_pids - wait_for_pids $rc_pids - else - echo "${name} not running? (check ${pidfile})" - fi - - rm -f ${pidfile} + # Slimserver kills mDNSResponderPosix, but then manages to start + # another one while dying so kill it off. + echo "Stopping SlimServer's mDNSResponderPosix." + mdns_pid=$(check_pidfile ${cachedir}/mDNS.pid %%LOCALBASE%%/bin/mDNSResponderPosix) + if [ -n "${mdns_pid}" ]; then + # mDNSResponderPosix doens't die without a kill + kill -9 $mdns_pid + wait_for_pids $mdns_pid + rm -f ${cachedir}/mDNS.pid + fi } load_rc_config ${name} diff --git a/audio/squeezeboxserver/Makefile b/audio/squeezeboxserver/Makefile index aad1989db748..53a010cae1cc 100644 --- a/audio/squeezeboxserver/Makefile +++ b/audio/squeezeboxserver/Makefile @@ -6,7 +6,7 @@ # PORTNAME= slimserver -PORTVERSION= 6.5.0 +PORTVERSION= 6.5.1 CATEGORIES= audio MASTER_SITES= http://www.slimdevices.com/downloads/SlimServer_v${PORTVERSION}/ DISTNAME= SlimServer_v${PORTVERSION}.no-cpan-arch @@ -80,13 +80,6 @@ RUN_DEPENDS+= oggdec:${PORTSDIR}/audio/vorbis-tools IGNORE= perl 5.8.3 or newer required. Install lang/perl5.8 and try again .endif -.if ${OSVERSION} < 502110 -RUN_DEPENDS+= {LOCALBASE}/bin/pgrep:${PORTSDIR}/sysutils/pkill -PGREPBASE= ${LOCALBASE} -.else -PGREPBASE= /usr -.endif - USE_RC_SUBR= slimserver.sh TMP_SLIMDIR= ${WRKDIR}/slimserver TMP_DOCSDIR= ${WRKDIR}/doc @@ -103,8 +96,9 @@ PLIST_SUB= SLIMDIR=${SLIMDIR} PLIST_FILES= bin/softsqueeze SUB_FILES= softsqueeze.sh pkg-install -SUB_LIST= PGREPBASE=${PGREPBASE} \ +SUB_LIST= PERL=${PERL} \ SLIMDIR=${SLIMDIR} \ + SLIMDBDIR=${SLIMDBDIR} \ CONFFILES="${CONFFILES}" pre-fetch: @@ -115,6 +109,7 @@ pre-fetch: .endif SLIMDIR?= slimserver +SLIMDBDIR= /var/db/slimserver post-fetch: .for _PKG in ${SLIMCPANPKGS} @@ -128,7 +123,12 @@ post-patch: -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%TMP_SLIMDIR%%|${TMP_SLIMDIR}|' \ -e 's|%%CPANWRKDIR%%|${CPANWRKDIR}|' \ - -e 's|%%DISTDIR%%|${_DISTDIR}|' ${WRKSRC}/Bin/build-perl-modules.pl + -e 's|%%DISTDIR%%|${_DISTDIR}|' \ + ${WRKSRC}/Bin/build-perl-modules.pl + @${REINPLACE_CMD} \ + -e 's|/usr/bin/perl|${PERL}|' \ + ${WRKSRC}/scanner.pl ${WRKSRC}/slimserver.pl + @${RM} ${WRKSRC}/scanner.pl.bak ${WRKSRC}/slimserver.pl.bak do-build: @${MKDIR} -m 0755 ${TMP_SLIMDIR} @@ -170,17 +170,17 @@ post-build: ${SED} -e 's|${TMP_DOCSDIR}|@dirrm %%DOCSDIR%%|' | \ ${SORT} -r >> ${PLIST} .endif - @${ECHO} '@unexec rm -rf /var/db/slimserver/cache > /dev/null 2>&1 || true' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver/playlists' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver' >> ${PLIST} - @${ECHO} '@unexec test -d /var/db/slimserver && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove /var/db/slimserver and its contents manually.")' >> ${PLIST} + @${ECHO} '@unexec rm -rf ${SLIMDBDIR}/cache > /dev/null 2>&1 || true' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}/playlists' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}' >> ${PLIST} + @${ECHO} '@unexec test -d ${SLIMDBDIR} && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove ${SLIMDBDIR} and its contents manually.")' >> ${PLIST} pre-install: @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL do-install: @${MKDIR} -m 0755 ${PREFIX}/${SLIMDIR} - @${LN} -s /var/db/slimserver/cache ${PREFIX}/${SLIMDIR}/Cache + @${LN} -s ${SLIMDBDIR}/cache ${PREFIX}/${SLIMDIR}/Cache @cd ${TMP_SLIMDIR} && \ ${FIND} . | \ ${CPIO} ${CPIOARGS} ${BINOWN}:${BINGRP} ${PREFIX}/${SLIMDIR} diff --git a/audio/squeezeboxserver/distinfo b/audio/squeezeboxserver/distinfo index 7cfa8f84dfe2..57a43b99f03d 100644 --- a/audio/squeezeboxserver/distinfo +++ b/audio/squeezeboxserver/distinfo @@ -1,6 +1,6 @@ -MD5 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 420e321577ed5b4f5fd61615cd01eb50 -SHA256 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 63bd2600efd70c4165b474dfab97e32085af80b155e99f944bbcc6937ed68ead -SIZE (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 12320425 +MD5 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 69298ca0a214224ac2a79a522e26dd3c +SHA256 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 8e3122472e94f491984351774925c943a257643044655c468fc11b6be18d6cb5 +SIZE (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 15271878 MD5 (slimserver/YAML-Syck-0.64.tar.gz) = 51054b5da582e381158f10276f82ae15 SHA256 (slimserver/YAML-Syck-0.64.tar.gz) = 70ff201165020c7aeadeb4bd1a6233462994a07a7153c8f5570a3698b0207e07 SIZE (slimserver/YAML-Syck-0.64.tar.gz) = 128255 diff --git a/audio/squeezeboxserver/files/patch-Bin_build-perl-modules.pl b/audio/squeezeboxserver/files/patch-Bin_build-perl-modules.pl index a2cbae114627..b5ddceb89645 100644 --- a/audio/squeezeboxserver/files/patch-Bin_build-perl-modules.pl +++ b/audio/squeezeboxserver/files/patch-Bin_build-perl-modules.pl @@ -12,7 +12,7 @@ $FreeBSD$ - 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', - 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', - 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -- 'Template' => 'Template-Toolkit-2.14.tar.gz', +- 'Template' => 'Template-Toolkit-2.15.tar.gz', - 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', - 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', +# 'Compress::Zlib' => 'Compress-Zlib-1.41.tar.gz', @@ -20,7 +20,7 @@ $FreeBSD$ +# 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', +# 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', +# 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -+# 'Template' => 'Template-Toolkit-2.14.tar.gz', ++# 'Template' => 'Template-Toolkit-2.15.tar.gz', +# 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', +# 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', 'YAML::Syck' => 'YAML-Syck-0.64.tar.gz', @@ -116,7 +116,7 @@ $FreeBSD$ # Only download the packages that were passsed. my @packages = (); -@@ -189,30 +153,9 @@ +@@ -189,30 +153,8 @@ chdir($pwd) or die "Couldn't change to $pwd : $!"; @@ -129,7 +129,7 @@ $FreeBSD$ - - LWP::Simple::getstore("$SOURCE/$package?view=auto", $package); - -- } elsif ($downloadUsing eq 'curl') { +- } elsif ($downloadUsing =~ /curl$/) { - - `$downloadUsing --silent -o $package $SOURCE/$package?view=auto`; - @@ -141,10 +141,10 @@ $FreeBSD$ - unless (-r $package) { - print "Something looks wrong - I couldn't read $pwd/$package, which I just downloaded.\n"; - } -+ print "\nExtracting $package in: $pwd\n"; - +- - print "Uncompressing..\n"; - `gzip -d < $package | tar xvf -`; ++ print "\nExtracting $package in: $pwd\n"; + `tar xfvz %%DISTDIR%%/$package`; unlink $package; diff --git a/audio/squeezeboxserver/files/patch-Slim_Networking_mDNS.pm b/audio/squeezeboxserver/files/patch-Slim_Networking_mDNS.pm new file mode 100644 index 000000000000..259bee3f1f52 --- /dev/null +++ b/audio/squeezeboxserver/files/patch-Slim_Networking_mDNS.pm @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- Slim/Networking/mDNS.pm.orig ++++ Slim/Networking/mDNS.pm +@@ -100,7 +100,6 @@ + + print CONF "$name\n"; + print CONF "$service\n"; +- print CONF "TXT\n"; + print CONF "$port\n"; + print CONF "\n"; + } +@@ -113,7 +112,7 @@ + return; + } + +- my $command = sprintf("%s -d -f %s -P %s", $mDNSBin, $confFile, $pidFile); ++ my $command = sprintf("%s -b -f %s -P %s", $mDNSBin, $confFile, $pidFile); + + $::d_mdns && msg("mDNS: About to run: $command\n"); + diff --git a/audio/squeezeboxserver/files/patch-Slim_Utils_Misc.pm b/audio/squeezeboxserver/files/patch-Slim_Utils_Misc.pm index 16a2f1e07a1e..d1a688348668 100644 --- a/audio/squeezeboxserver/files/patch-Slim_Utils_Misc.pm +++ b/audio/squeezeboxserver/files/patch-Slim_Utils_Misc.pm @@ -3,12 +3,12 @@ $FreeBSD$ --- Slim/Utils/Misc.pm.orig +++ Slim/Utils/Misc.pm -@@ -106,7 +106,7 @@ +@@ -107,7 +107,7 @@ if (Slim::Utils::OSDetect::OS() ne "win") { -- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /sw/bin /usr/sbin)); -+ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/local/libexec /sw/bin /usr/sbin)); +- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /sw/bin /usr/sbin)); ++ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /usr/local/libexec /sw/bin /usr/sbin)); } else { diff --git a/audio/squeezeboxserver/files/slimserver.sh.in b/audio/squeezeboxserver/files/slimserver.sh.in index ee4783aa1f1e..b91aa35cc23f 100644 --- a/audio/squeezeboxserver/files/slimserver.sh.in +++ b/audio/squeezeboxserver/files/slimserver.sh.in @@ -17,13 +17,14 @@ name=slimserver start_precmd="slimserver_start_precmd" -stop_cmd="slimserver_stop" +stop_postcmd="slimserver_poststop" rcvar=`set_rcvar` command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl +command_interpreter=%%PERL%% pidfile=/var/run/${name}.pid logfile=/var/log/slimserver.log -statedir=/var/db/slimserver +statedir=%%SLIMDBDIR%% cachedir=${statedir}/cache playlistdir=${statedir}/playlists conffile=${statedir}/slimserver.conf @@ -31,8 +32,6 @@ u=slimserv g=slimserv command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}" -PGREP=%%PGREPBASE%%/bin/pgrep - slimserver_start_precmd() { if [ ! -d ${statedir} ]; then @@ -57,25 +56,18 @@ slimserver_start_precmd() fi } -slimserver_stop() +slimserver_poststop() { - if [ ! -f ${pidfile} ]; then - exit - fi - echo 'Stopping SlimServer.' - rc_pid=`cat ${pidfile}` - rc_pid=`${PGREP} -u ${u} | grep ${rc_pid}` - if [ -n "${rc_pid}" ]; then - # Should be mDNSResponderPosix, but the port truncates - rc_pids="${rc_pid} `${PGREP} -u ${u} mDNSResponderPos`" - - kill $sig_stop $rc_pids - wait_for_pids $rc_pids - else - echo "${name} not running? (check ${pidfile})" - fi - - rm -f ${pidfile} + # Slimserver kills mDNSResponderPosix, but then manages to start + # another one while dying so kill it off. + echo "Stopping SlimServer's mDNSResponderPosix." + mdns_pid=$(check_pidfile ${cachedir}/mDNS.pid %%LOCALBASE%%/bin/mDNSResponderPosix) + if [ -n "${mdns_pid}" ]; then + # mDNSResponderPosix doens't die without a kill + kill -9 $mdns_pid + wait_for_pids $mdns_pid + rm -f ${cachedir}/mDNS.pid + fi } load_rc_config ${name} diff --git a/audio/squeezeboxserver/files/squeezecenter.sh.in b/audio/squeezeboxserver/files/squeezecenter.sh.in index ee4783aa1f1e..b91aa35cc23f 100644 --- a/audio/squeezeboxserver/files/squeezecenter.sh.in +++ b/audio/squeezeboxserver/files/squeezecenter.sh.in @@ -17,13 +17,14 @@ name=slimserver start_precmd="slimserver_start_precmd" -stop_cmd="slimserver_stop" +stop_postcmd="slimserver_poststop" rcvar=`set_rcvar` command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl +command_interpreter=%%PERL%% pidfile=/var/run/${name}.pid logfile=/var/log/slimserver.log -statedir=/var/db/slimserver +statedir=%%SLIMDBDIR%% cachedir=${statedir}/cache playlistdir=${statedir}/playlists conffile=${statedir}/slimserver.conf @@ -31,8 +32,6 @@ u=slimserv g=slimserv command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}" -PGREP=%%PGREPBASE%%/bin/pgrep - slimserver_start_precmd() { if [ ! -d ${statedir} ]; then @@ -57,25 +56,18 @@ slimserver_start_precmd() fi } -slimserver_stop() +slimserver_poststop() { - if [ ! -f ${pidfile} ]; then - exit - fi - echo 'Stopping SlimServer.' - rc_pid=`cat ${pidfile}` - rc_pid=`${PGREP} -u ${u} | grep ${rc_pid}` - if [ -n "${rc_pid}" ]; then - # Should be mDNSResponderPosix, but the port truncates - rc_pids="${rc_pid} `${PGREP} -u ${u} mDNSResponderPos`" - - kill $sig_stop $rc_pids - wait_for_pids $rc_pids - else - echo "${name} not running? (check ${pidfile})" - fi - - rm -f ${pidfile} + # Slimserver kills mDNSResponderPosix, but then manages to start + # another one while dying so kill it off. + echo "Stopping SlimServer's mDNSResponderPosix." + mdns_pid=$(check_pidfile ${cachedir}/mDNS.pid %%LOCALBASE%%/bin/mDNSResponderPosix) + if [ -n "${mdns_pid}" ]; then + # mDNSResponderPosix doens't die without a kill + kill -9 $mdns_pid + wait_for_pids $mdns_pid + rm -f ${cachedir}/mDNS.pid + fi } load_rc_config ${name} diff --git a/audio/squeezecenter/Makefile b/audio/squeezecenter/Makefile index aad1989db748..53a010cae1cc 100644 --- a/audio/squeezecenter/Makefile +++ b/audio/squeezecenter/Makefile @@ -6,7 +6,7 @@ # PORTNAME= slimserver -PORTVERSION= 6.5.0 +PORTVERSION= 6.5.1 CATEGORIES= audio MASTER_SITES= http://www.slimdevices.com/downloads/SlimServer_v${PORTVERSION}/ DISTNAME= SlimServer_v${PORTVERSION}.no-cpan-arch @@ -80,13 +80,6 @@ RUN_DEPENDS+= oggdec:${PORTSDIR}/audio/vorbis-tools IGNORE= perl 5.8.3 or newer required. Install lang/perl5.8 and try again .endif -.if ${OSVERSION} < 502110 -RUN_DEPENDS+= {LOCALBASE}/bin/pgrep:${PORTSDIR}/sysutils/pkill -PGREPBASE= ${LOCALBASE} -.else -PGREPBASE= /usr -.endif - USE_RC_SUBR= slimserver.sh TMP_SLIMDIR= ${WRKDIR}/slimserver TMP_DOCSDIR= ${WRKDIR}/doc @@ -103,8 +96,9 @@ PLIST_SUB= SLIMDIR=${SLIMDIR} PLIST_FILES= bin/softsqueeze SUB_FILES= softsqueeze.sh pkg-install -SUB_LIST= PGREPBASE=${PGREPBASE} \ +SUB_LIST= PERL=${PERL} \ SLIMDIR=${SLIMDIR} \ + SLIMDBDIR=${SLIMDBDIR} \ CONFFILES="${CONFFILES}" pre-fetch: @@ -115,6 +109,7 @@ pre-fetch: .endif SLIMDIR?= slimserver +SLIMDBDIR= /var/db/slimserver post-fetch: .for _PKG in ${SLIMCPANPKGS} @@ -128,7 +123,12 @@ post-patch: -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%TMP_SLIMDIR%%|${TMP_SLIMDIR}|' \ -e 's|%%CPANWRKDIR%%|${CPANWRKDIR}|' \ - -e 's|%%DISTDIR%%|${_DISTDIR}|' ${WRKSRC}/Bin/build-perl-modules.pl + -e 's|%%DISTDIR%%|${_DISTDIR}|' \ + ${WRKSRC}/Bin/build-perl-modules.pl + @${REINPLACE_CMD} \ + -e 's|/usr/bin/perl|${PERL}|' \ + ${WRKSRC}/scanner.pl ${WRKSRC}/slimserver.pl + @${RM} ${WRKSRC}/scanner.pl.bak ${WRKSRC}/slimserver.pl.bak do-build: @${MKDIR} -m 0755 ${TMP_SLIMDIR} @@ -170,17 +170,17 @@ post-build: ${SED} -e 's|${TMP_DOCSDIR}|@dirrm %%DOCSDIR%%|' | \ ${SORT} -r >> ${PLIST} .endif - @${ECHO} '@unexec rm -rf /var/db/slimserver/cache > /dev/null 2>&1 || true' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver/playlists' >> ${PLIST} - @${ECHO} '@dirrmtry /var/db/slimserver' >> ${PLIST} - @${ECHO} '@unexec test -d /var/db/slimserver && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove /var/db/slimserver and its contents manually.")' >> ${PLIST} + @${ECHO} '@unexec rm -rf ${SLIMDBDIR}/cache > /dev/null 2>&1 || true' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}/playlists' >> ${PLIST} + @${ECHO} '@dirrmtry ${SLIMDBDIR}' >> ${PLIST} + @${ECHO} '@unexec test -d ${SLIMDBDIR} && (echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove ${SLIMDBDIR} and its contents manually.")' >> ${PLIST} pre-install: @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL do-install: @${MKDIR} -m 0755 ${PREFIX}/${SLIMDIR} - @${LN} -s /var/db/slimserver/cache ${PREFIX}/${SLIMDIR}/Cache + @${LN} -s ${SLIMDBDIR}/cache ${PREFIX}/${SLIMDIR}/Cache @cd ${TMP_SLIMDIR} && \ ${FIND} . | \ ${CPIO} ${CPIOARGS} ${BINOWN}:${BINGRP} ${PREFIX}/${SLIMDIR} diff --git a/audio/squeezecenter/distinfo b/audio/squeezecenter/distinfo index 7cfa8f84dfe2..57a43b99f03d 100644 --- a/audio/squeezecenter/distinfo +++ b/audio/squeezecenter/distinfo @@ -1,6 +1,6 @@ -MD5 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 420e321577ed5b4f5fd61615cd01eb50 -SHA256 (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 63bd2600efd70c4165b474dfab97e32085af80b155e99f944bbcc6937ed68ead -SIZE (slimserver/SlimServer_v6.5.0.no-cpan-arch.tar.gz) = 12320425 +MD5 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 69298ca0a214224ac2a79a522e26dd3c +SHA256 (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 8e3122472e94f491984351774925c943a257643044655c468fc11b6be18d6cb5 +SIZE (slimserver/SlimServer_v6.5.1.no-cpan-arch.tar.gz) = 15271878 MD5 (slimserver/YAML-Syck-0.64.tar.gz) = 51054b5da582e381158f10276f82ae15 SHA256 (slimserver/YAML-Syck-0.64.tar.gz) = 70ff201165020c7aeadeb4bd1a6233462994a07a7153c8f5570a3698b0207e07 SIZE (slimserver/YAML-Syck-0.64.tar.gz) = 128255 diff --git a/audio/squeezecenter/files/patch-Bin_build-perl-modules.pl b/audio/squeezecenter/files/patch-Bin_build-perl-modules.pl index a2cbae114627..b5ddceb89645 100644 --- a/audio/squeezecenter/files/patch-Bin_build-perl-modules.pl +++ b/audio/squeezecenter/files/patch-Bin_build-perl-modules.pl @@ -12,7 +12,7 @@ $FreeBSD$ - 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', - 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', - 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -- 'Template' => 'Template-Toolkit-2.14.tar.gz', +- 'Template' => 'Template-Toolkit-2.15.tar.gz', - 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', - 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', +# 'Compress::Zlib' => 'Compress-Zlib-1.41.tar.gz', @@ -20,7 +20,7 @@ $FreeBSD$ +# 'DBD::mysql' => 'DBD-mysql-3.0002.tar.gz', +# 'Digest::SHA1' => 'Digest-SHA1-2.11.tar.gz', +# 'HTML::Parser' => 'HTML-Parser-3.48.tar.gz', -+# 'Template' => 'Template-Toolkit-2.14.tar.gz', ++# 'Template' => 'Template-Toolkit-2.15.tar.gz', +# 'Time::HiRes' => 'Time-HiRes-1.86.tar.gz', +# 'XML::Parser::Expat' => 'XML-Parser-2.34.tar.gz', 'YAML::Syck' => 'YAML-Syck-0.64.tar.gz', @@ -116,7 +116,7 @@ $FreeBSD$ # Only download the packages that were passsed. my @packages = (); -@@ -189,30 +153,9 @@ +@@ -189,30 +153,8 @@ chdir($pwd) or die "Couldn't change to $pwd : $!"; @@ -129,7 +129,7 @@ $FreeBSD$ - - LWP::Simple::getstore("$SOURCE/$package?view=auto", $package); - -- } elsif ($downloadUsing eq 'curl') { +- } elsif ($downloadUsing =~ /curl$/) { - - `$downloadUsing --silent -o $package $SOURCE/$package?view=auto`; - @@ -141,10 +141,10 @@ $FreeBSD$ - unless (-r $package) { - print "Something looks wrong - I couldn't read $pwd/$package, which I just downloaded.\n"; - } -+ print "\nExtracting $package in: $pwd\n"; - +- - print "Uncompressing..\n"; - `gzip -d < $package | tar xvf -`; ++ print "\nExtracting $package in: $pwd\n"; + `tar xfvz %%DISTDIR%%/$package`; unlink $package; diff --git a/audio/squeezecenter/files/patch-Slim_Networking_mDNS.pm b/audio/squeezecenter/files/patch-Slim_Networking_mDNS.pm new file mode 100644 index 000000000000..259bee3f1f52 --- /dev/null +++ b/audio/squeezecenter/files/patch-Slim_Networking_mDNS.pm @@ -0,0 +1,22 @@ + +$FreeBSD$ + +--- Slim/Networking/mDNS.pm.orig ++++ Slim/Networking/mDNS.pm +@@ -100,7 +100,6 @@ + + print CONF "$name\n"; + print CONF "$service\n"; +- print CONF "TXT\n"; + print CONF "$port\n"; + print CONF "\n"; + } +@@ -113,7 +112,7 @@ + return; + } + +- my $command = sprintf("%s -d -f %s -P %s", $mDNSBin, $confFile, $pidFile); ++ my $command = sprintf("%s -b -f %s -P %s", $mDNSBin, $confFile, $pidFile); + + $::d_mdns && msg("mDNS: About to run: $command\n"); + diff --git a/audio/squeezecenter/files/patch-Slim_Utils_Misc.pm b/audio/squeezecenter/files/patch-Slim_Utils_Misc.pm index 16a2f1e07a1e..d1a688348668 100644 --- a/audio/squeezecenter/files/patch-Slim_Utils_Misc.pm +++ b/audio/squeezecenter/files/patch-Slim_Utils_Misc.pm @@ -3,12 +3,12 @@ $FreeBSD$ --- Slim/Utils/Misc.pm.orig +++ Slim/Utils/Misc.pm -@@ -106,7 +106,7 @@ +@@ -107,7 +107,7 @@ if (Slim::Utils::OSDetect::OS() ne "win") { -- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /sw/bin /usr/sbin)); -+ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/local/libexec /sw/bin /usr/sbin)); +- push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /sw/bin /usr/sbin)); ++ push @paths, (split(/:/, $ENV{'PATH'}), qw(/usr/bin /usr/local/bin /usr/libexec /usr/local/libexec /sw/bin /usr/sbin)); } else { diff --git a/audio/squeezecenter/files/slimserver.sh.in b/audio/squeezecenter/files/slimserver.sh.in index ee4783aa1f1e..b91aa35cc23f 100644 --- a/audio/squeezecenter/files/slimserver.sh.in +++ b/audio/squeezecenter/files/slimserver.sh.in @@ -17,13 +17,14 @@ name=slimserver start_precmd="slimserver_start_precmd" -stop_cmd="slimserver_stop" +stop_postcmd="slimserver_poststop" rcvar=`set_rcvar` command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl +command_interpreter=%%PERL%% pidfile=/var/run/${name}.pid logfile=/var/log/slimserver.log -statedir=/var/db/slimserver +statedir=%%SLIMDBDIR%% cachedir=${statedir}/cache playlistdir=${statedir}/playlists conffile=${statedir}/slimserver.conf @@ -31,8 +32,6 @@ u=slimserv g=slimserv command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}" -PGREP=%%PGREPBASE%%/bin/pgrep - slimserver_start_precmd() { if [ ! -d ${statedir} ]; then @@ -57,25 +56,18 @@ slimserver_start_precmd() fi } -slimserver_stop() +slimserver_poststop() { - if [ ! -f ${pidfile} ]; then - exit - fi - echo 'Stopping SlimServer.' - rc_pid=`cat ${pidfile}` - rc_pid=`${PGREP} -u ${u} | grep ${rc_pid}` - if [ -n "${rc_pid}" ]; then - # Should be mDNSResponderPosix, but the port truncates - rc_pids="${rc_pid} `${PGREP} -u ${u} mDNSResponderPos`" - - kill $sig_stop $rc_pids - wait_for_pids $rc_pids - else - echo "${name} not running? (check ${pidfile})" - fi - - rm -f ${pidfile} + # Slimserver kills mDNSResponderPosix, but then manages to start + # another one while dying so kill it off. + echo "Stopping SlimServer's mDNSResponderPosix." + mdns_pid=$(check_pidfile ${cachedir}/mDNS.pid %%LOCALBASE%%/bin/mDNSResponderPosix) + if [ -n "${mdns_pid}" ]; then + # mDNSResponderPosix doens't die without a kill + kill -9 $mdns_pid + wait_for_pids $mdns_pid + rm -f ${cachedir}/mDNS.pid + fi } load_rc_config ${name} diff --git a/audio/squeezecenter/files/squeezecenter.sh.in b/audio/squeezecenter/files/squeezecenter.sh.in index ee4783aa1f1e..b91aa35cc23f 100644 --- a/audio/squeezecenter/files/squeezecenter.sh.in +++ b/audio/squeezecenter/files/squeezecenter.sh.in @@ -17,13 +17,14 @@ name=slimserver start_precmd="slimserver_start_precmd" -stop_cmd="slimserver_stop" +stop_postcmd="slimserver_poststop" rcvar=`set_rcvar` command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl +command_interpreter=%%PERL%% pidfile=/var/run/${name}.pid logfile=/var/log/slimserver.log -statedir=/var/db/slimserver +statedir=%%SLIMDBDIR%% cachedir=${statedir}/cache playlistdir=${statedir}/playlists conffile=${statedir}/slimserver.conf @@ -31,8 +32,6 @@ u=slimserv g=slimserv command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}" -PGREP=%%PGREPBASE%%/bin/pgrep - slimserver_start_precmd() { if [ ! -d ${statedir} ]; then @@ -57,25 +56,18 @@ slimserver_start_precmd() fi } -slimserver_stop() +slimserver_poststop() { - if [ ! -f ${pidfile} ]; then - exit - fi - echo 'Stopping SlimServer.' - rc_pid=`cat ${pidfile}` - rc_pid=`${PGREP} -u ${u} | grep ${rc_pid}` - if [ -n "${rc_pid}" ]; then - # Should be mDNSResponderPosix, but the port truncates - rc_pids="${rc_pid} `${PGREP} -u ${u} mDNSResponderPos`" - - kill $sig_stop $rc_pids - wait_for_pids $rc_pids - else - echo "${name} not running? (check ${pidfile})" - fi - - rm -f ${pidfile} + # Slimserver kills mDNSResponderPosix, but then manages to start + # another one while dying so kill it off. + echo "Stopping SlimServer's mDNSResponderPosix." + mdns_pid=$(check_pidfile ${cachedir}/mDNS.pid %%LOCALBASE%%/bin/mDNSResponderPosix) + if [ -n "${mdns_pid}" ]; then + # mDNSResponderPosix doens't die without a kill + kill -9 $mdns_pid + wait_for_pids $mdns_pid + rm -f ${cachedir}/mDNS.pid + fi } load_rc_config ${name} -- cgit v1.2.3