gpt4 book ai didi

deb - 如何确保 debian 包没有依赖项

转载 作者:行者123 更新时间:2023-12-04 04:39:14 30 4
gpt4 key购买 nike

我正在使用 dpkg 构建一个 debian 包。

该软件包依赖于 libvirt,这是不希望的。

规则文件没有指定这个依赖项,但它是由 dpkg 添加的,我想是由于在构建时对 libvirt-dev 的一些调用。

但是我的包在没有 libvirt 的情况下工作正常。因此,libvirt 是“推荐”包,但不是“必需”包。如何覆盖此依赖项并确保它不存在于我的最终 deb 文件中?

最佳答案

没有看到你的实际包很难知道,但我猜你有一个与 libvirt 链接的二进制或共享库。那会导致 dh_shlibdeps${shlibs:Depends} 中包含 libvirt子变量。

如果这是您的问题,那么正确的解决方法取决于链接到 libvirt 的内容。应该很容易确定;刚刚运行 ldd在包中的每个二进制或共享库对象上,并 grep 表示“libvirt”。

如果链接到 libvirt 的东西只是包附带的东西,而不是主要功能的一部分,那么使用 Recommends: 确实是正确的。使dh_shlibdeps从其依赖项扫描中排除该对象,给它一个 -X 选项。 debian/rules 的示例目标,假设 debhelper7 风格的包装:

override_dh_shlibdeps:
dh_shlibdeps -Xname_of_your_object_to_exclude

如果链接到 libvirt 的东西实际上是包功能的重要组成部分,那么生成的 libvirt 依赖项是合适的。如果您仍然不想要它,则需要研究如何避免在构建过程中链接到 libvirt。

关于deb - 如何确保 debian 包没有依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192751/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com