how to check for binary compability?
Hello again,
This is the third time I'm writing to debian-mentors. I don't know why
nobody replied to my former mails, but maybe I didn't describe the
problem good enough, or the answers to my questions where to obvious.
At packaging mimelib1 from standalone-source I patched the sources to
use strncpy/strncat instead of strlcpy/strlcpy along with several other
changes.
Now I tried to check for binary compability with libmimelib1c2a packages
from kdepim 3.5.9 sources. To do that, I compared the output of
'objdump -T /usr/lib/libmimelib.so.1 | grep \\.text | cut -b62-'
Unfortunately there are differences. Now I simply don't know if these
differences render the package binary incompatible, or whether they
don't matter at all.
The patches against mimelib sources don't change any struct or functions
to my knowledge.
Now what to do about it? should I simply bump the soname and binary
package names (from 1 to 2) and request binNMUs for reverse depends?
Or is there a way to keep ABI compability with the help of something
like a symbols file?
I attached the diff for output of objdump -T. diff is between the
libmimelib1c2a package from kdepim 3.5.9 sources (debian/lenny), and my
own standalone source package with no source changes other than
strlcat/strlcpy -> strncat/strncpy.
greetings,
jonas
--- objdump_sid_libmimelib1c2a_1.1.2_kde 2009-04-27 16:44:22.000000000 +0200
+++ objdump_sid_libmimelib1c2a_1.1.2 2009-04-28 15:00:15.000000000 +0200
@@ -68,7 +68,6 @@
_ZN7DwGroup5ParseEv
_ZNK11DwPopClient17MultiLineResponseEv
_ZN9DwHeaders18ContentDescriptionEv
-strlcpy
_ZN10DwBodyPartC2ERK8DwEntity
_ZN10DwDateTime4InitEv
_ZN13DwFieldParserC2ERK8DwString
@@ -152,7 +151,6 @@
_ZN12DwNntpClient7ArticleEi
_ZN9DwHeaders8AssembleEv
_ZN10DwBodyPartaSERKS_
-mkstemps
_ZNK11DwMechanism15_PrintDebugInfoERSo
_ZN10DwUuencode11SetFileModeEt
_ZNK7DwMsgId6DomainEv
@@ -222,6 +220,7 @@
_ZNK8DwString4findEPKcm
_ZN13DwMailboxList8CopyListEPK9DwMailbox
_ZNK8DwString17find_first_not_ofEPKcmm
+_ZN13DwFieldParserD1Ev
_ZgtRK8DwStringS1_
_ZltPKcRK8DwString
_ZN17DwDispositionType19DeleteParameterListEv
@@ -230,6 +229,7 @@
_ZN13DwAddressListC2ERKS_
_ZN8DwStringD1Ev
_ZplcRK8DwString
+_Z17new_rep_referenceP11DwStringRep
_ZN12DwBoyerMooreC2ERK8DwString
_ZN9DwMessageaSERKS_
_ZN6DwBody5ParseEv
@@ -296,6 +296,7 @@
_ZN17DwRfc822TokenizerppEv
_ZNK7DwGroup11MailboxListEv
_ZNK9DwMailbox15CheckInvariantsEv
+_ZNK8DwString2atEm
_ZN7DwGroupC1Ev
_ZN6DwBodyC1ERK8DwStringP18DwMessageComponent
_ZN8DwStringD2Ev
@@ -398,6 +399,7 @@
_ZN11DwMediaTypeC1ERKS_
_ZNK17DwDispositionType5CloneEv
_ZltRK8DwStringPKc
+_Z17delete_rep_safelyP11DwStringRep
_Z10DwFinalizev
_ZNK11DwParameter5CloneEv
_ZN8DwString10TakeBufferEPcmmm
@@ -550,7 +552,6 @@
_ZN7DwField15SetFieldNameStrERK8DwString
_ZNK8DwString8max_sizeEv
_ZN10DwBodyPartC2ERKS_
-strlcat
_ZN15DwHeadersParser9NextFieldEP8DwString
_ZN9DwMailboxD1Ev
_ZNK8DwString12find_last_ofEPKcm
@@ -606,6 +607,7 @@
_ZN9DwMailboxD2Ev
_ZN11DwMechanism12EnumToStringEv
_ZN8DwString7replaceEmmRKS_
+_ZN14DwEntityParserD1Ev
_ZNK9DwHeaders10HasControlEv
_ZN8DwString6resizeEmc
_ZN8DwString6appendERKS_
@@ -722,9 +724,11 @@
_ZNK10DwDateTime15CheckInvariantsEv
_ZN12DwNntpClient8PGetLineEPPcPi
_ZN6DwTextD2Ev
+_Z8mem_copyPKcmPc
_ZN12DwNntpClient7ArticleEPKc
_ZN11DwPopClient22PGetSingleLineResponseEv
_ZNK9DwHeaders15HasDistributionEv
+_ZN8DwString2atEm
_ZN9DwMailboxC2Ev
_ZN11DwMediaType10SetTypeStrERK8DwString
_ZN18DwMessageComponentC2Ev
@@ -872,7 +876,6 @@
_ZNK9DwMailbox8FullNameEv
_ZNK9DwHeaders12HasInReplyToEv
_Z9DwToCrEolRK8DwStringRS_
-_ZN8DwStringixEm
_ZN7DwMsgIdC1Ev
_ZN12DwNntpClientC2Ev
_ZNK8DwEntity4BodyEv
Reply to: