例如,我维护一个使用 libmemcached 的应用程序。我可以使用 libmemcached5 或 libmemcached6 编译它,也可以构建指向 libmemcached5、libmemcached6 甚至 libmemcached5|libmemcached6 作为依赖项的 .deb 包,但实际上我的二进制文件只使用其中一个编译。在不升级/降级用户端的任何依赖项的情况下,解决这个问题的最佳方法是什么?
问问题
156 次
1 回答
1
如果您正在使用存储库,或者如果您的应用程序的多个编译版本是可以接受的,那么您最好的办法是编译您的应用程序两次,一次使用 libmemcached5,一次使用 libmemcached6,并分别使用不同的包名称将它们打包,并使用自动安装正确的虚拟包:
Package: myapplication-memchched5
Version: 1.3.17-1
Depends: libmemcached5
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
和
Package: myapplication-memchched6
Version: 1.3.17-1
Depends: libmemcached6
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
现在将根据需要安装的其他内容aptitude install myapplication
自动选择myapplication-memchched5
或选择。myapplication-memchched6
于 2012-11-15T12:35:44.037 回答