Se a versão da API for 0.4
e for incompatível com outras versões 0.*
, você deverá definir o soname como libfoo.so.0.4
. Na verdade, soname pode ser qualquer string, só é necessário encontrar a biblioteca compartilhada adequada em seu sistema ao carregar o executável.
Muitos pacotes (ou distros) seguem um esquema de nomenclatura diferente do seu. Por exemplo, a versão libfoo 0.4.2
com api 0.4
se tornaria libfoo.so.4.2
com soname libfoo.4
.
E ao fazer mudanças substanciais na interface, exigindo não apenas a recompilação e a correção menor aqui e ali, mas muito código reescrito no código usando a biblioteca - aumente a versão principal "principal" renomeando a biblioteca.
Em seguida, libfoo.4.2
se transforma em libfoo-1.so.0.1
ao aplicar a versão de 0.4.2
a 1.0.1
.
Esse esquema facilita a instalação de várias versões de sua biblioteca, caso algum software antigo ainda não tenha sido reescrito para uma API totalmente nova.