Re: SONAME and package version question
Roberto C. Sanchez wrote:
>I am working on packaging the ROTE library so that I can depend on it
>for anyterm. I need to package version 0.2.6 + the CVS from 20050511.
>I have created a patch between the 0.2.6 release and the 20050511 CVS.
>Without the patch, the relevant contents of the .deb are:
>$ dpkg -c librote0_0.2.6-1_i386.deb
>drwxr-xr-x root/root 0 2005-06-21 22:36:21 ./
>drwxr-xr-x root/root 0 2005-06-21 22:36:20 ./usr/
>drwxr-xr-x root/root 0 2005-06-21 22:36:21 ./usr/lib/
>-rw-r--r-- root/root 13744 2005-06-21 22:36:21 ./usr/lib/librote.so.0.2.6
>lrwxrwxrwx root/root 0 2005-06-21 22:36:21 ./usr/lib/librote.so.0 -> librote.so.0.2.6
>With the patch, the relevant content are:
>$ dpkg -c librote0_0.2.6+20050511-1_i386.deb
>drwxr-xr-x root/root 0 2005-06-22 10:48:51 ./
>drwxr-xr-x root/root 0 2005-06-22 10:48:51 ./usr/
>drwxr-xr-x root/root 0 2005-06-22 10:48:51 ./usr/lib/
>-rw-r--r-- root/root 13744 2005-06-22 10:48:51 ./usr/lib/librote.so.0.2.7
>lrwxrwxrwx root/root 0 2005-06-22 10:48:51 ./usr/lib/librote.so.0 -> librote.so.0.2.7
>Is it OK for the last digit in the library to change from 6 to 7? Do I
>need to do something about the version number?
The soname doesn't appear to have changed. It appears to be
librote.so.0 The other parts are not part of the soname, just the filename.
Of course, I'm assuming that upstream knows what they are doing and not
just having soname=version and deleting or changing interfaces in the
library. Some upstream are clueless that way.
You will also need to be careful about when you run dh_makeshlibs if you
manually set the version numbers.