更改包中的一个构建选项

更改包中的一个构建选项

我想在 Ubuntu 系统上使用 graphviz 包,但是根据构建日志,它是使用 进行配置的--without-gts,而我希望包含 GTS 支持(我不知道为什么不包含 GTS 支持(我不知道是否有原因,或者这只是一个任意决定)。

最好的做法是什么?理想情况下,我希望我的构建尽可能接近 Ubuntu 中提供的构建,因为这样以后更容易合并更改。我很难找到任何指南来说明如何做到这一点 - 它们似乎都假设您想从头开始打包新软件。

答案1

更改 Ubuntu/Debian 包的构建选项的一般过程如下:

  1. 获取构建依赖项
  2. 下载源码包
  3. 更改相应的文件(通常debian/rules
  4. 提交更改
  5. 构建软件包
  6. 安装软件包

涉及的命令:

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

相关内容