星期五, 1月 16, 2015

minidlna + rmvb 與 archlinux pkg

minidlna 預設是不找 rmvb 檔案的,網路上有人已經加上 patch (让 minidlna 支持 rmvb、gb2312 mp3 标签) 了,只是那是在 1.0.23 上做修改。現在已經 1.1.4 了,所以我參考了它的 patch,幫 1.1.4 也做了一次。

另外就是第一次在 Arch Linux 上做 package,基本上有 PKGBUILD 檔案就沒啥問題了。minidlna 的 PKGBUILD 可透過 git 下載:git clone git://projects.archlinux.org/svntogit/community.git ,接著就是修改 PKGBUILD,我改了以下項目:
  1. 在 source 添加新檔案,就是新的 patch 檔案
  2. 因為有新檔案,md5sums 也需要用 md5sum 去取得 patch 檔案的校驗碼,然後填到這裡
  3. prepare() 的最後,加上 patch -i $srcdir/999-realmedia-support.patch 。
  4. 改 pkgrel ,這是方便自己辨識用,反正改一個比原來大的數字就可以。
修改完以後,執行 makepkg ,就可以得到 .xz 的檔案,用 pacman -U xxx.xz 就可以安裝了。
後 記:重新啟動 minidlna 之後,發現 rmdb 的檔案還是沒有納入。根據 Log 去追程式,才知道 minidlna 是拿之前產生好的 sqlite3 資料庫裡的資料去回應,知道原因之後,就好解決了,試著去 touch 所有的 rmvb 檔案,觸發 minidlna 的 inotify ,這樣 minidlna 就會把這些檔案納入資料庫裡了。Log 的層級可以在 minidlna.conf 裡修改,例如 log_level=general=debug,artwork=info,database,inotify,scanner,metadata,http,ssdp,tivo=warn ,而程式裡輸出 Log 的函式則是 DPRINTF。

沒有留言: