我已经使用 mediatomb 有一段时间了,当我决定以自定义方式呈现文件和文件夹时,我发现 ubuntu 11.4(服务器)中的 mediatomb 不是用 javascript 编译的。
有没有人遇到过这种情况,并找到了“简单”(几个步骤)的解决方案?
注意,我尝试编译并重新打包 mediatomb,但是它的依赖项 libjs 之一现在是 libmozjs185 API 和 ABI 已更改,因此我中止了。
提前致谢。
答案1
Mediatomb 未使用 javascript 编译,因为存储库库(libmozjs185) 不支持将 SpiderMonkey 编译到 MediaTomb 中。
回顾过去 - 这个特定的构建方法自 v10.04(lucid)以来就一直在使用,因此您需要自己重新打包支持 Javascript 的 Debian MediaTomb 包。
使用 JavaScript 支持重新打包的先决条件
你需要从 Debian Sid “借用”一些较旧的库 - 并删除有问题的库(如果已安装)。
从 debian sid 发行版获取 libmozjs2d 和 libmozjs-dev:libmozjs2d_1.9.1.16-6_i386.deb和libmozjs-dev_1.9.1.16-6_i386.deb &安装缺少的库
sudo apt-get remove libmozjs185*
sudo apt-get install build-essential libnspr4-0d
sudo dpkg -i libmoz*.deb
获取源代码
获取 mediatomb 源码:
sudo apt-get build-dep mediatomb
sudo apt-get source mediatomb
现在编辑 debian/rules 以启用 javascript
sudo nano <mediatombfolder>/debian/rules
在 debian/rules 文件中,搜索 MEDIATOMB_CONFIG_OPTIONS 并更改--disable-libjs到--启用 libjs。
您还应该更新 changelog 文件(在同一个 debian 目录中)并可能更新“mediatomb.dsc”文件来更改版本。
检查并重新包装
第一的:
cd <mediatombfolder>
sudo ./configure
这应该确认已安装编译所需的所有必要先决条件。
最后:
sudo dpkg-buildpackage -rfakeroot -us -uc
如果一切顺利,您应该在上面的文件夹中看到 3 个新的 deb 文件。
全部安装:
sudo apt-get install libjs-prototype
sudo dpkg -i mediatomb*.deb