[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: