[xml/sgml-pkgs] Expat 2.0.1 packaging

Bryan Donlan bdonlan at fushizen.net
Sat Jun 30 00:04:44 UTC 2007


On Wed, Jun 20, 2007 at 08:58:54PM -0600, ardo at ardolabs.com wrote:
 
> A possible solution to do the upgrade would be to call the package
> something  like libexpat1X with 'X' to be determined, use the soname '1'
> (as in, follow upstream again) and put the proper conflicts and such in
> the control file.  This would force rebuilds of all package dependent on
> libexpat1, although the soname would not change.  This might work, as I
> somehow got the impression on the expat mailing list that the ABI is
> backwards compatible (but we need to verify this) but they just added some
> new functionality to the API.  Again, we need to verify this.

After a closer look, I don't think the ABI is compatible on 64-bit
architectures. Here's the relevant portions of the diff:

in lib/expat.h:

-XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);
-XMLPARSEAPI(int) XML_GetCurrentColumnNumber(XML_Parser parser);
-XMLPARSEAPI(long) XML_GetCurrentByteIndex(XML_Parser parser);
+XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser);
+XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser);
+XMLPARSEAPI(XML_Index) XML_GetCurrentByteIndex(XML_Parser parser);

in lib/expat_external.h
+#ifdef XML_LARGE_SIZE  /* Use large integers for file/stream positions.
*/
+#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
+typedef __int64 XML_Index;
+typedef unsigned __int64 XML_Size;
+#else
+typedef long long XML_Index;
+typedef unsigned long long XML_Size;
+#endif
+#else
+typedef long XML_Index;
+typedef unsigned long XML_Size;
+#endif /* XML_LARGE_SIZE */

As you can see, the return type of  XML_GetCurrentLineNumber and
XML_GetCurrentColumnNumber changes from int to unsigned long, which on
eg amd64 will be a change from a 32-bit value to a 64-bit value.

There are some other changes, but this is the only one that actually
looks incompatible. I suppose this makes our next step simple enough, at
least :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/debian-xml-sgml-pkgs/attachments/20070629/ee78ca2b/attachment.pgp 


More information about the debian-xml-sgml-pkgs mailing list