Você não deve fazer isso. A lista de dependências deve incluir cada biblioteca da qual o seu software depende diretamente. A razão para isso é que seu binário requer que a biblioteca, e exatamente essa biblioteca, seja vinculada corretamente quando executada. Suponha que você tente otimizar isso:
- Seu programa depende de libX e libY
- libY depende da libX
- Você tenta minimizar isso especificando uma dependência para apenas libY
Agora, o que acontece se o autor ou mantenedor do pacote de libY alterar seu código para não depender mais da libX? Seu pacote vai quebrar. Isso quebra porque você fez uma suposição falsa - que liby sempre dependerá da libX. Essa suposição não é válida - as dependências dos pacotes podem mudar ao longo do tempo. Então, se o seu programa precisa de libX, você precisa especificar isso.
A boa notícia é que a lista de bibliotecas compartilhadas pode ser gerada automaticamente usando dpkg-shlibdeps
: