我想在 Ubuntu 系统上使用 graphviz 包,但是根据构建日志,它是使用 进行配置的--without-gts
,而我希望包含 GTS 支持(我不知道为什么不包含 GTS 支持(我不知道是否有原因,或者这只是一个任意决定)。
最好的做法是什么?理想情况下,我希望我的构建尽可能接近 Ubuntu 中提供的构建,因为这样以后更容易合并更改。我很难找到任何指南来说明如何做到这一点 - 它们似乎都假设您想从头开始打包新软件。
答案1
更改 Ubuntu/Debian 包的构建选项的一般过程如下:
- 获取构建依赖项
- 下载源码包
- 更改相应的文件(通常
debian/rules
) - 提交更改
- 构建软件包
- 安装软件包
涉及的命令:
sudo apt-get build-dep graphviz
apt-get source graphviz
cd graphviz-* # Or check the directory with ls and pick the correct version
然后,您可以使用编辑器从中删除配置选项debian/rules
,或者:
sed -i '/--without-gts/d' debian/rules
--without-gts
此命令特定于此实例,因为中只有一个匹配项debian/rules
。
根据所做的更改,需要提交带有消息的提交,否则在构建步骤中会出现错误。
dpkg-source --commit
然后构建包:
dpkg-buildpackage -us -uc
这将在父目录中创建一堆包。这些选项表明您不想制作用于上传到 Ubuntu 存储库的包(因此不想对它们进行签名等)。现在您可以安装这些包:
sudo dpkg -i ../*.deb # or pick out the packages manually
构建依赖项可能与安装依赖项不同,因此要安装所有依赖项,您可能需要运行:
sudo apt-get install -f