我正在构建一个运行时共享库包libfoo0.deb
,0
这里是主要包版本并遵守Debian 政策中指定的命名约定。
问题是我想libbar
根据运行时共享库包构建另一个共享库libfoo0
。所以我正在考虑添加一个依赖节,但我不确定是否有必要指定一个版本,比如
Depends: libfoo0 (= 0.0.4)
这里是构建的(包含开发文件/必要符号链接的包)0.0.4
的版本。我看到的问题是会禁止用户更新.libfoo0-dev.deb
/usr/lib/
libbar
libfoo0
问题:只要构建库/二进制文件libfoo0
的确切版本的依赖关系libfoo0
如果您的构建包含
dh_shlibdeps
或dpkg-shlibdeps
(如果您正在使用dh
,这将被处理),您应该添加to
libbar
的control
文件,并且会为您添加适当的依赖项。您不应该对特定版本进行硬编码,除非库需要同步升级。这个想法是,具有相同主要版本的库应该是向后兼容的,因此只要您的版本大于或等于您需要的版本,就应该没问题。这些工具也会为您解决这个问题;您可能需要手动添加一个
shlibs
或symbols
文件到libfoo
;IIRC 构建会告诉您何时需要处理该问题。