mt-daapd にパッチをあててインストール
mt-daapd のソースをダウンロードしてきて展開、パッチの修正を手で加える。
[paraches@centos myTemp]$ wget http://nightlies.fireflymediaserver.org/nightlies/svn-1696/mt-daapd-svn-1696.tar.gz [paraches@centos myTemp]$ tar zxvf mt-daapd-svn-1696.tar.gz [paraches@centos myTemp]$ cd mt-daapd-svn-1696 [paraches@centos mt-daapd-svn-1696]$ ls AUTHORS INSTALL README config.guess configure.in ltmain.sh COPYING Makefile.am TODO config.h.in contrib m4 CREDITS Makefile.in aclocal.m4 config.sub depcomp missing ChangeLog NEWS admin-root configure install-sh src [paraches@centos mt-daapd-svn-1696]$
で、パッチの内容はこんな感じ。
#! /bin/sh /usr/share/dpatch/dpatch-run ## 13_itunes10.dpatch by <maarten@informaarten.nl> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Add aeMK to items-query to fix incompatibility issue with iTunes 10 @DPATCH@ diff -urNad mt-daapd-0.9~r1696.dfsg~/src/plugins/out-daap-proto.c mt-daapd-0.9~r1696.dfsg/src/plugins/out-daap-proto.c --- mt-daapd-0.9~r1696.dfsg~/src/plugins/out-daap-proto.c 2007-08-10 06:07:23.000000000 +0200 +++ mt-daapd-0.9~r1696.dfsg/src/plugins/out-daap-proto.c 2010-09-08 01:01:22.000000000 +0200 --- mt-daapd-0.9~r1696.dfsg~/src/plugins/out-daap-proto.c 2007-08-10 06:07:23.000000000 +0200 +++ mt-daapd-0.9~r1696.dfsg/src/plugins/out-daap-proto.c 2010-09-08 01:01:22.000000000 +0200 @@ -582,6 +582,7 @@ */ size = 8; /* mlit */ + size += 9; /* aeMK for iTunes 10 */ if(daap_wantsmeta(pinfo->meta, metaItemKind)) /* mikd */ size += 9; @@ -777,6 +778,7 @@ if(daap_wantsmeta(pinfo->meta, metaSongDataKind)) current += dmap_add_char(current,"asdk", (char)atoi(valarray[SG_DATA_KIND])); + current += dmap_add_char(current,"aeMK",(char)0x1); // FIX for iTunes 10; 1 = Music if(EMIT(valarray[13]) && daap_wantsmeta(pinfo->meta, metaSongDataURL)) current += dmap_add_string(current,"asul",valarray[SG_URL]); if(EMIT(valarray[5]) && daap_wantsmeta(pinfo->meta, metaSongAlbum))
src/plugins/out-daap-proto.c の 584行目の後ろと789行目の後ろに、パッチの行頭に「+」がある行を加えれば良い。簡単なので vi 使って手で修正。修正後のファイルはコレ(out-daap-proto.c )。
で、準備が整ったのでサクっと configure。
[paraches@centos mt-daapd-svn-1696]$ ./configure <省略> Must use either --enable-sqlite or --enable-sqlite3 [paraches@centos mt-daapd-svn-1696]$
怒られた。--enable-sqlite3 としなきゃダメ。
[paraches@centos mt-daapd-svn-1696]$ ./configure --enable-sqlite3 [paraches@centos mt-daapd-svn-1696]$
今度は無事終了。
それじゃ、make & make install にトライ。
[paraches@centos mt-daapd-svn-1696]$ make [paraches@centos mt-daapd-svn-1696]$ sudo make install [paraches@centos mt-daapd-svn-1696]$
とりあえず、なんとか最後まで来た!!!
けど、設定は???
/usr/local/etc に必要なんだけど、実際にはコピーされてない。
[paraches@centos plugins]$ ls /usr/local/etc netatalk [paraches@centos plugins]$
手作業なのかな? contrib の中にあるファイルをコピーしろという事? 設定ファイルは contrib フォルダに入っているので…
[paraches@centos contrib]$ ls Makefile Makefile.in init.d mt-daapd-ssc.sh mt-daapd.conf.templ Makefile.am README mt-daapd-ssc.pl mt-daapd.conf mt-daapd.spec [paraches@centos contrib]$
まずは mt-daapd.conf をコピー
[paraches@centos contrib]$ sudo cp mt-daapd.conf /usr/local/etc/ [paraches@centos contrib]$ ls /usr/local/etc/ mt-daapd.conf netatalk [paraches@centos contrib]$
設定は今まで debian のサーバで使ってたのと基本的に同じにしといた。
曲データやデータベースを置く場所のパーミションに注意しないと起動しなかったり、起動しても曲が見えなかったりする。設定ファイルで log を有効にしておけば、/var/log/mt-daapd.log で見られる。因に曲データを置いておいたフォルダへのアクセス権が無いとこんな感じのログが…。
2010-09-24 23:42:05 (61cfd3ca): Firefly Version svn-1696: Starting with debuglevel 2 2010-09-24 23:42:05 (61cfd3ca): Plugin loaded: rsp/svn-1696 2010-09-24 23:42:05 (61cfd3ca): Plugin loaded: daap/svn-1696 2010-09-24 23:42:05 (61cfd3ca): Plugin loaded: ssc-script/svn-1696 2010-09-24 23:42:05 (61cfd3ca): Starting rendezvous daemon 2010-09-24 23:42:05 (61cfd3ca): Starting signal handler 2010-09-24 23:42:05 (61cfd3ca): Initializing database 2010-09-24 23:42:05 (61cfd3ca): Full reload... 2010-09-24 23:42:06 (61cfd3ca): Starting mp3 scan 2010-09-24 23:42:06 (61cfd3ca): opendir: Permission denied 2010-09-24 23:42:06 (61cfd3ca): Starting playlist scan 2010-09-24 23:42:06 (61cfd3ca): Local Hostname centos.parapara.com.local already in use; will trycentos-2arapara.com.local instead 2010-09-24 23:42:06 (61cfd3ca): Updating playlists 2010-09-24 23:42:06 (61cfd3ca): Error scanning MP3 files: No such file or directory 2010-09-24 23:42:06 (61cfd3ca): Scanned 0 songs in 0 seconds 2010-09-24 23:42:06 (61cfd3ca): Starting web server from /usr/local/share/mt-daapd/admin-root on port 3689 2010-09-24 23:42:06 (61cfd3ca): Registering rendezvous names 2010-09-24 23:42:06 (61cfd3ca): Serving 0 songs. Startup complete in 0 seconds
次は /etc/init.d/mt-daapd だけど、contrib フォルダの README には
mt-daapd..............: an init.d script, suitable for redhat mt-daapd-gentoo.......: an init.d script, suitable for gentoo
ってあるのに、実際にあるのは
[paraches@centos contrib]$ ls init.d/ Makefile mt-daapd-fedora mt-daapd-suse.templ Makefile.am mt-daapd-fedora.templ mtdaapd-bsd Makefile.in mt-daapd-suse mtdaapd-bsd.templ [paraches@centos contrib]$
う〜ん、ここにあると思ったのだけど…???
とりあえず、mt-daapd-fedora を /etc/init.d/ へコピー
[paraches@centos init.d]$ sudo cp mt-daapd-fedora /etc/init.d/mt-daapd [paraches@centos init.d]$
これで /etc/init.d/mt-daapd start とすれば mt-daapd が起動する様になった。