저는 이것이 주요 패키지 버전이고 다음에 지정된 명명 규칙을 준수하는 libfoo0.deb
런타임 공유 라이브러리 패키지를 구축하고 있습니다.0
데비안 정책.
libbar
문제는 런타임 공유 라이브러리 패키지를 기반으로 또 다른 공유 라이브러리를 구축하고 싶다는 것입니다 libfoo0
. 그래서 종속성 섹션을 추가하려고 생각하고 있지만 버전을 지정해야 하는지 잘 모르겠습니다.
Depends: libfoo0 (= 0.0.4)
이것은 빌드된 0.0.4
버전 입니다 libfoo0-dev.deb
(개발 파일/필요한 심볼릭 링크가 포함된 패키지 /usr/lib/
). libbar
내가 보는 문제는 이로 인해 사용자가 libfoo0
.
질문:바이너리가 주요 라이브러리 버전 간에 이전 버전과 호환되는 한 빌드 중인 라이브러리/바이너리의 정확한 버전에 대한 종속성을 libfoo0
지정할 필요가 없습니까 ?libfoo0
답변1
빌드에 dh_shlibdeps
또는 (를 dpkg-shlibdeps
사용하는 경우 dh
처리됩니다.
Depends: ${shlibs:Depends}
에 적절한 종속성이 추가됩니다 libbar
.control
라이브러리를 동시에 업그레이드해야 하는 경우가 아니면 특정 버전을 하드코딩해서는 안 됩니다. 동일한 주요 버전을 가진 라이브러리는 이전 버전과 호환되어야 하므로 버전이 필요한 버전보다 크거나 같으면 괜찮을 것입니다. 도구는 이 문제도 처리합니다. IIRC 에 수동으로 파일을 shlibs
추가 해야 할 수도 있습니다 . 빌드에서 처리해야 할 시기를 알려줍니다.symbols
libfoo