From 2542e7f308b294665db76b49ff83dac9c338d012 Mon Sep 17 00:00:00 2001 From: Guido Falsi Date: Tue, 8 May 2012 18:47:50 +0000 Subject: [PATCH] - Update xmms2 to 0.8 [1] - Add SNDFILE option [1] - Don't install test and debugging components by default [2] - Fix slave ports - Take maintainership PR: ports/163056 Submitted by: Jan Beich [1] and [2] partly Approved by: crees (mentor) --- audio/p5-xmms2/pkg-plist | 4 ++ audio/py-xmms2/pkg-plist | 1 + audio/xmms2/Makefile | 68 ++++++++++++++----- audio/xmms2/distinfo | 4 +- .../extra-patch-src-clients-vistest-wscript | 43 ++++++------ .../patch-patch-src-plugins-musepack-wscript | 14 ++-- .../files/patch-src-plugins-airplay-wscript | 24 +++---- .../files/patch-src-plugins-file-wscript | 19 ++++++ audio/xmms2/files/patch-wafadmin-Task.py | 18 ----- audio/xmms2/files/patch-wscript | 51 +++++++------- audio/xmms2/pkg-plist | 13 +++- 11 files changed, 154 insertions(+), 105 deletions(-) create mode 100644 audio/xmms2/files/patch-src-plugins-file-wscript delete mode 100644 audio/xmms2/files/patch-wafadmin-Task.py diff --git a/audio/p5-xmms2/pkg-plist b/audio/p5-xmms2/pkg-plist index 2508ae18d947..3cca5fbf118e 100644 --- a/audio/p5-xmms2/pkg-plist +++ b/audio/p5-xmms2/pkg-plist @@ -3,6 +3,10 @@ %%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient/Glib.pm %%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient/Sync.pm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Audio/XMMSClient/XMMSClient.so +%%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient/Collection.pod +%%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient/Playlist.pod +%%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient/Result.pod +%%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient.pod @dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Audio/XMMSClient @dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Audio @dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/Audio/XMMSClient diff --git a/audio/py-xmms2/pkg-plist b/audio/py-xmms2/pkg-plist index 645ab38c7f0c..df7358782438 100644 --- a/audio/py-xmms2/pkg-plist +++ b/audio/py-xmms2/pkg-plist @@ -5,5 +5,6 @@ %%PYTHON_SITELIBDIR%%/xmmsclient/propdict.py %%PYTHON_SITELIBDIR%%/xmmsclient/qt3.py %%PYTHON_SITELIBDIR%%/xmmsclient/sync.py +%%PYTHON_SITELIBDIR%%/xmmsclient/xmmsvalue.so %%PYTHON_SITELIBDIR%%/xmmsclient/xmmsapi.so @dirrm %%PYTHON_SITELIBDIR%%/xmmsclient diff --git a/audio/xmms2/Makefile b/audio/xmms2/Makefile index ca64b0da56b5..caf90c640e56 100644 --- a/audio/xmms2/Makefile +++ b/audio/xmms2/Makefile @@ -6,13 +6,12 @@ # PORTNAME?= xmms2 -PORTVERSION= 0.7 -PORTREVISION?= 4 -DISTVERSIONSUFFIX=DrNo +PORTVERSION= 0.8 +DISTVERSIONSUFFIX=DrO_o CATEGORIES?= audio MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}%20${DISTVERSIONSUFFIX} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= madpilot@FreeBSD.org COMMENT?= Rewrite of xmms as a client/server system (developer release) USE_BZIP2= yes @@ -24,10 +23,12 @@ USE_SQLITE= 3 USE_LDCONFIG= yes -MAN1= nyxmms2.1 xmms2.1 xmms2-et.1 xmms2d.1 xmms2-launcher.1 +MAN1= xmms2.1 xmms2d.1 xmms2-launcher.1 MANCOMPRESSED= yes PLIST_SUB+= INCLUDEDIR="include/${PORTNAME}" LIBDIR="lib/${PORTNAME}" +CPPFLAGS+= -I${LOCALBASE}/include + OPTIONS= AIRPLAY "Support output via Airport Express" off \ AO "Support to output via libao" off \ APE "Support to playback Monkey's Audio files" off \ @@ -52,16 +53,22 @@ OPTIONS= AIRPLAY "Support output via Airport Express" off \ PULSE "Support to output via the PulseAudio" off \ SAMBA "Support to playback files via SMB" off \ SID "Support to playback SID files" off \ + SNDFILE "Support to playback AIFF/AU/CAF/PAF files" off \ SPEEX "Support to playback SPEEX files" off \ TREMOR "Support to playback OGG files" off \ VISUAL "Support for visualization plugins" off \ VOCODER "Phase Vocoder effect plugin" off \ VORBIS "Support to playback OGG files" on \ WAVPACK "Support to playback WV files" off \ - XML "Support for XML based playlists (XSPF, RSS)" off + XML "Support for XML based playlists (XSPF, RSS)" off \ + ET "Install usage feedback reporting client" off .endif # !XMMS_SLAVE -.include +.include + +.if ${OSVERSION} < 800030 +BROKEN= Does not compile on 7.x: Requires fstatat(2) +.endif .if defined(XMMS2_SLAVE) EXCLUDE+= --without-xmms2d @@ -206,24 +213,24 @@ PLIST_SUB+= MAD="@comment " .if !defined(WITHOUT_MDNS_APPLE) && !defined(WITHOUT_MDNS_AVAHI) BROKEN= You may choose either MDNS_APPLE or MDNS_AVAHI, but not both +.elif defined(WITHOUT_MDNS_APPLE) && defined(WITHOUT_MDNS_AVAHI) +EXCLUDE+= --without-optionals="mdns" .endif .if !defined(WITHOUT_MDNS_APPLE) -EXCLUDE+= --without-optionals="avahi" +EXCLUDE+= --with-mdns-backend="dns_sd" LIB_DEPENDS+= dns_sd:${PORTSDIR}/net/mDNSResponder PLIST_SUB+= MDNS_APPLE="" .else -EXCLUDE+= --without-optionals="dns_sd" PLIST_SUB+= MDNS_APPLE="@comment " .endif .if !defined(WITHOUT_MDNS_AVAHI) -EXCLUDE+= --without-optionals="dns_sd" +EXCLUDE+= --with-mdns-backend="avahi" LIB_DEPENDS+= avahi-core:${PORTSDIR}/net/avahi-app PLIST_SUB+= MDNS_AVAHI="" MAN1+= xmms2-mdns-avahi.1 .else -EXCLUDE+= --without-optionals="avahi" PLIST_SUB+= MDNS_AVAHI="@comment " .endif @@ -291,6 +298,14 @@ EXCLUDE+= --without-plugins="sid" PLIST_SUB+= SID="@comment " .endif +.if !defined(WITHOUT_SNDFILE) +LIB_DEPENDS+= sndfile.1:${PORTSDIR}/audio/libsndfile +PLIST_SUB+= SNDFILE="" +.else +EXCLUDE+= --without-plugins="sndfile" +PLIST_SUB+= SNDFILE="@comment " +.endif + .if !defined(WITHOUT_SPEEX) LIB_DEPENDS+= speex.1:${PORTSDIR}/audio/speex PLIST_SUB+= SPEEX="" @@ -318,9 +333,13 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src-clients-vistest-wscript .if !defined(WITHOUT_VISUAL) USE_SDL= yes LIB_DEPENDS+= visual-0.4.0:${PORTSDIR}/graphics/libvisual04 -PLIST_SUB+= VISUAL="" .else EXCLUDE+= --without-optionals="vistest" +.endif + +.if !defined(WITHOUT_VISUAL) && ${EXCLUDE:M--with-vis-reference-clients} +PLIST_SUB+= VISUAL="" +.else PLIST_SUB+= VISUAL="@comment " .endif @@ -358,16 +377,31 @@ EXCLUDE+= --without-plugins="xml" --without-plugins="rss" \ PLIST_SUB+= XML="@comment " .endif +.if !defined(WITHOUT_ET) +PLIST_SUB+= ET="" +MAN1+= xmms2-et.1 +.else +EXCLUDE+= --without-optionals="et" +PLIST_SUB+= ET="@comment " +.endif + .endif # !XMMS2_SLAVE +post-patch: + @${REINPLACE_CMD} -e "s|%%WRKSRC%%|${WRKSRC}|" ${WRKSRC}/wscript + do-configure: - cd ${WRKSRC} && ./waf configure --conf-prefix=${LOCALBASE} \ - --prefix=${PREFIX} --mandir=${PREFIX}/man ${EXCLUDE} + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./waf ${_MAKE_JOBS} configure \ + --conf-prefix=${LOCALBASE} --prefix=${PREFIX} \ + --mandir=${PREFIX}/man ${EXCLUDE} do-build: - cd ${WRKSRC} && ./waf build + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./waf ${_MAKE_JOBS} build do-install: - cd ${WRKSRC} && ./waf install + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./waf install --without-ldconfig + if [ ! -d ${DATADIR}/scripts/startup.d ]; then \ + ${MKDIR} ${DATADIR}/scripts/startup.d;\ + fi -.include +.include diff --git a/audio/xmms2/distinfo b/audio/xmms2/distinfo index 80536b0417f8..0db108e337bf 100644 --- a/audio/xmms2/distinfo +++ b/audio/xmms2/distinfo @@ -1,2 +1,2 @@ -SHA256 (xmms2-0.7DrNo.tar.bz2) = 59c58d9380e6b002920a8dc75f0fd4629ab175b82f29b6637f7816fdc9832b2c -SIZE (xmms2-0.7DrNo.tar.bz2) = 1519973 +SHA256 (xmms2-0.8DrO_o.tar.bz2) = c77e41e7bd5788889d5a2f78331ca8c748b8721bd2e59f36c36ad4c7cae8694a +SIZE (xmms2-0.8DrO_o.tar.bz2) = 1670726 diff --git a/audio/xmms2/files/extra-patch-src-clients-vistest-wscript b/audio/xmms2/files/extra-patch-src-clients-vistest-wscript index 1550d87a382a..db0c7495c7b1 100644 --- a/audio/xmms2/files/extra-patch-src-clients-vistest-wscript +++ b/audio/xmms2/files/extra-patch-src-clients-vistest-wscript @@ -1,25 +1,30 @@ --- src/clients/vistest/wscript~ +++ src/clients/vistest/wscript -@@ -15,14 +15,6 @@ def build(bld): - obj.uselib_local = 'xmmsclient-glib xmmsclient' - obj.uselib = 'glib2 math' +@@ -23,17 +23,6 @@ def build(bld): + t.install_path = None -- if bld.env['LIB_vorbisenc']: -- obj = bld.new_task_gen('cc', 'program') -- obj.target = 'xmms2-ripper' -- obj.source = 'ripper.c' -- obj.includes = '. ../../.. ../../include' -- obj.uselib_local = 'xmmsclient' -- obj.uselib = 'vorbisenc' + +- if bld.env.LIB_vorbisenc: +- t = bld(features = 'c cprogram', +- target = 'xmms2-ripper', +- source = 'ripper.c', +- includes = '. ../../.. ../../include', +- uselib = 'vorbisenc', +- use = 'xmmsclient' +- ) +- if not bld.env.INSTALL_VIS_REFERENCE_CLIENTS: +- t.install_path = None - - if bld.env['LIB_visual'] and bld.env['LIB_sdl']: - obj = bld.new_task_gen('cc', 'program') - obj.target = 'xmms2-libvisual' -@@ -38,7 +30,6 @@ def configure(conf): - conf.check_cc(lib="m", uselib_store="math") - conf.check_cfg(package='libvisual-0.4', uselib_store='visual', args='--cflags --libs') - conf.check_cfg(package='sdl', uselib_store='sdl', args='--cflags --libs') -- conf.check_cfg(package='vorbisenc', uselib_store='vorbisenc', args='--cflags --libs') + if bld.env.LIB_visual and bld.env.LIB_sdl: + t = bld(features = 'c cprogram', + target = 'xmms2-libvisual', +@@ -53,9 +42,6 @@ def configure(conf): - return True + conf.check_cc(lib="m", uselib_store="math", mandatory=False) +- conf.check_cfg(package='vorbisenc', uselib_store='vorbisenc', +- args='--cflags --libs', mandatory=False) +- + if conf.check_cfg(package='libvisual-0.4', uselib_store='visual', + args='--cflags --libs', mandatory=False): + conf.check_cfg(package='sdl', uselib_store='sdl', diff --git a/audio/xmms2/files/patch-patch-src-plugins-musepack-wscript b/audio/xmms2/files/patch-patch-src-plugins-musepack-wscript index 9a450a72c3da..174234794991 100644 --- a/audio/xmms2/files/patch-patch-src-plugins-musepack-wscript +++ b/audio/xmms2/files/patch-patch-src-plugins-musepack-wscript @@ -1,11 +1,11 @@ --- src/plugins/musepack/wscript.orig 2010-09-10 22:55:03.412930402 +0200 +++ src/plugins/musepack/wscript 2010-09-10 23:02:05.738208553 +0200 -@@ -5,7 +5,7 @@ - if not conf.check_cc(header_name="mpcdec/mpcdec.h", defines="HAVE_MPCDEC_OLD", uselib_store="mpcdec"): - return False +@@ -8,7 +8,7 @@ def plugin_configure(conf): + conf.check_cc(header_name="mpcdec/mpcdec.h", defines="HAVE_MPCDEC_OLD", + uselib_store="mpcdec") -- if not conf.check_cc(lib="mpcdec", uselib_store="mpcdec"): -+ if not conf.check_cc(lib="mpcdec", uselib="math", uselib_store="mpcdec"): - return False +- conf.check_cc(lib="mpcdec", uselib_store="mpcdec") ++ conf.check_cc(lib="mpcdec", uselib="math", uselib_store="mpcdec") - return True + configure, build = plugin("musepack", configure=plugin_configure, + libs=["mpcdec"]) diff --git a/audio/xmms2/files/patch-src-plugins-airplay-wscript b/audio/xmms2/files/patch-src-plugins-airplay-wscript index 9a06e08da61c..961daba7755b 100644 --- a/audio/xmms2/files/patch-src-plugins-airplay-wscript +++ b/audio/xmms2/files/patch-src-plugins-airplay-wscript @@ -1,19 +1,11 @@ --- src/plugins/airplay/wscript.orig 2010-02-19 18:43:54.000000000 +0100 +++ src/plugins/airplay/wscript 2010-03-17 15:14:34.459359323 +0100 -@@ -1,15 +1,6 @@ - from waftools.plugin import plugin +@@ -12,8 +12,6 @@ rtspmessage.c + def plugin_configure(conf): + # MinGW doesn't ship sys/select.h + conf.check_cc(header_name='sys/select.h') +- conf.check_cfg(package="openssl", args="--cflags --libs", +- uselib_store="openssl") --def plugin_configure(conf): -- # MinGW doesn't ship sys/select.h -- if not conf.check_cc(header_name='sys/select.h'): -- return False -- -- if not conf.check_cfg(package="openssl", args="--cflags --libs", uselib_store="openssl"): -- return False -- return True -- --configure, build = plugin("airplay", configure=plugin_configure, -+configure, build = plugin("airplay", - source=["airplay.c", "raop_client.c", - "net_utils.c", "rtspdefs.c", - "rtspconnection.c", "rtspmessage.c"], + configure, build = plugin("airplay", configure=plugin_configure, + source = source, libs=["openssl"], output_prio=4) diff --git a/audio/xmms2/files/patch-src-plugins-file-wscript b/audio/xmms2/files/patch-src-plugins-file-wscript new file mode 100644 index 000000000000..b148d973ec0d --- /dev/null +++ b/audio/xmms2/files/patch-src-plugins-file-wscript @@ -0,0 +1,19 @@ +--- src/plugins/file/wscript.orig 2011-10-20 21:26:08.000000000 +0200 ++++ src/plugins/file/wscript 2012-05-04 23:01:58.940585349 +0200 +@@ -1,7 +1,7 @@ + from waftools.plugin import plugin + + def plugin_build(bld, obj): +- if bld.env.HAVE_FSTATAT and bld.env.HAVE_DIRFD: ++ if bld.env.HAVE_FSTATAT: + obj.source.append('browse/fstatat.c') + else: + obj.source.append('browse/gdir.c') +@@ -9,7 +9,6 @@ + def plugin_configure(conf): + conf.check_cc(function_name='fstatat', header_name=['fcntl.h','sys/stat.h'], + defines=['_ATFILE_SOURCE=1']) +- conf.check_cc(function_name='dirfd', header_name=['dirent.h','sys/types.h']) + + configure, build = plugin("file", + configure=plugin_configure, build=plugin_build, diff --git a/audio/xmms2/files/patch-wafadmin-Task.py b/audio/xmms2/files/patch-wafadmin-Task.py deleted file mode 100644 index 6e7553a31e1f..000000000000 --- a/audio/xmms2/files/patch-wafadmin-Task.py +++ /dev/null @@ -1,18 +0,0 @@ ---- wafadmin/Task.py.orig 2010-02-19 18:43:54.000000000 +0100 -+++ wafadmin/Task.py 2011-10-14 14:36:57.000663231 +0200 -@@ -47,6 +47,7 @@ - import Build, Runner, Utils, Node, Logs, Options - from Logs import debug, warn, error - from Constants import * -+import time - - algotype = NORMAL - #algotype = JOBCONTROL -@@ -406,6 +407,7 @@ - def call_run(self): - if self.can_retrieve_cache(): - return 0 -+ time.sleep(0.02) - return self.run() - - def run(self): diff --git a/audio/xmms2/files/patch-wscript b/audio/xmms2/files/patch-wscript index e953ae0ee506..1580805f6694 100644 --- a/audio/xmms2/files/patch-wscript +++ b/audio/xmms2/files/patch-wscript @@ -1,27 +1,30 @@ ---- wscript.orig 2010-02-19 18:43:54.000000000 +0100 -+++ wscript 2010-03-17 15:21:16.184861151 +0100 -@@ -303,7 +303,7 @@ - conf.env['PKGCONFIGDIR'] = Options.options.pkgconfigdir - print(conf.env['PKGCONFIGDIR']) +--- wscript.orig 2011-10-20 21:26:08.000000000 +0200 ++++ wscript 2012-05-06 18:28:07.902349353 +0200 +@@ -295,9 +295,6 @@ + conf.msg("uncommited changed", changed and "yes" or "no") + conf.env.VERSION = "%s (git commit: %s%s)" % (BASEVERSION, nam, dirty) + +- conf.env.append_unique('CFLAGS', ['-g', '-O0']) +- conf.env.append_unique('CXXFLAGS', ['-g', '-O0']) +- + if conf.options.with_profiling: + conf.env.with_profiling = True + conf.env.append_unique('CFLAGS', ['--coverage']) +@@ -330,7 +327,7 @@ + conf.env.PKGCONFIGDIR = conf.options.pkgconfigdir + Logs.pprint('Normal', conf.env.PKGCONFIGDIR) #XXX What is it ? else: -- conf.env['PKGCONFIGDIR'] = os.path.join(conf.env["LIBDIR"], "pkgconfig") -+ conf.env['PKGCONFIGDIR'] = os.path.join(conf.env["PREFIX"], "libdata", "pkgconfig") +- conf.env.PKGCONFIGDIR = os.path.join(conf.env.LIBDIR, 'pkgconfig') ++ conf.env.PKGCONFIGDIR = os.path.join(conf.env.PREFIX, 'libdata', 'pkgconfig') - if Options.options.config_prefix: - for dir in Options.options.config_prefix: -@@ -480,15 +480,6 @@ - opt.sub_options(o) + if conf.options.config_prefix: + for d in conf.options.config_prefix: +@@ -339,6 +336,8 @@ + conf.env.prepend_value('LIBPATH', os.path.join(d, 'lib')) + conf.env.prepend_value('CPPPATH', os.path.join(d, 'include')) - def shutdown(): -- if Options.commands['install'] and ( -- Options.options.ldconfig or -- (Options.options.ldconfig is None and os.geteuid() == 0) -- ): -- ldconfig = '/sbin/ldconfig' -- if os.path.isfile(ldconfig): -- libprefix = Utils.subst_vars('${PREFIX}/lib', Build.bld.env) -- try: Utils.cmd_output(ldconfig + ' ' + libprefix) -- except: pass - - if Options.options.run_tests: - os.system(os.path.join(blddir, "default/tests/test_xmmstypes")) ++ conf.env.prepend_value('LIBPATH', "%%WRKSRC%%/_build_/src/clients/lib/xmmsclient") ++ + if Options.platform != 'win32': + conf.env.append_unique('CFLAGS_cstlib', ['-fPIC', '-DPIC']) + conf.env.append_unique('CPPFLAGS_cxxshlib', ['-fPIC', '-DPIC']) diff --git a/audio/xmms2/pkg-plist b/audio/xmms2/pkg-plist index 148eeb6d8076..ffbd525548c0 100644 --- a/audio/xmms2/pkg-plist +++ b/audio/xmms2/pkg-plist @@ -2,7 +2,7 @@ bin/nyxmms2 %%VISUAL%%bin/vistest %%VISUAL%%bin/vistest-fft bin/xmms2 -bin/xmms2-et +%%ET%%bin/xmms2-et %%MDNS_AVAHI%%bin/xmms2-find-avahi bin/xmms2-launcher %%VISUAL%%bin/xmms2-libvisual @@ -38,7 +38,14 @@ bin/xmms2d %%INCLUDEDIR%%/xmmsc/xmmsc_util.h %%INCLUDEDIR%%/xmmsc/xmmsc_visualization.h %%INCLUDEDIR%%/xmmsc/xmmsv.h +%%INCLUDEDIR%%/xmmsc/xmmsv_bitbuffer.h +%%INCLUDEDIR%%/xmmsc/xmmsv_build.h %%INCLUDEDIR%%/xmmsc/xmmsv_coll.h +%%INCLUDEDIR%%/xmmsc/xmmsv_deprecated.h +%%INCLUDEDIR%%/xmmsc/xmmsv_dict.h +%%INCLUDEDIR%%/xmmsc/xmmsv_general.h +%%INCLUDEDIR%%/xmmsc/xmmsv_list.h +%%INCLUDEDIR%%/xmmsc/xmmsv_util.h %%INCLUDEDIR%%/xmmsclient/xmmsclient++-glib.h %%INCLUDEDIR%%/xmmsclient/xmmsclient++.h %%INCLUDEDIR%%/xmmsclient/xmmsclient++/bindata.h @@ -114,6 +121,7 @@ lib/libxmmsclient.so.6.0.0 %%XML%%%%LIBDIR%%/libxmms_rss.so %%SAMBA%%%%LIBDIR%%/libxmms_samba.so %%SID%%%%LIBDIR%%/libxmms_sid.so +%%SNDFILE%%%%LIBDIR%%/libxmms_sndfile.so %%SPEEX%%%%LIBDIR%%/libxmms_speex.so %%TREMOR%%%%LIBDIR%%/libxmms_tremor.so %%LIBDIR%%/libxmms_tta.so @@ -134,7 +142,8 @@ share/pixmaps/xmms2-black-on-white.svg share/pixmaps/xmms2-white-on-black.svg share/pixmaps/xmms2.svg %%DATADIR%%/mind.in.a.box-lament_snipplet.ogg -%%DATADIR%%/scripts/startup.d/xmms2-et-launcher.sh +@exec if [ ! -d %D/%%DATADIR%%/scripts/startup.d ] ; then mkdir -p %D/%%DATADIR%%/scripts/startup.d; fi +%%ET%%%%DATADIR%%/scripts/startup.d/xmms2-et-launcher.sh %%MDNS_AVAHI%%%%DATADIR%%/scripts/startup.d/xmms2-mdns-launcher.sh %%MDNS_APPLE%%%%DATADIR%%/scripts/startup.d/xmms2-mdns-launcher.sh %%FAM%%%%DATADIR%%/scripts/startup.d/xmms2-mlib-updater.sh