Stephen Leake <[email protected]> writes:
> I'm considering becoming the new Debian maintainer for gnade. I'm very
Thanks!
> You have suggested changing it to unversioned libmysqlclient. However,
> I think that is potentially dangerous.
The official package name *is* libmysqlclient-dev; there is no
libmysqlclient16-dev, even as a provided virtual package name. I
suspect specifiying
libmysqclient-dev (>= 5.1), libmysqlclient-dev (<< 5.2~)
would have the desired effect, though.
> For a C program using libmysqlclient, the C compiler can detect an API
> function profile change. However, gnade is written in Ada, and has
> hand-written imports of the libmysqlclient functions. Thus changes are
> not automatically detected.
Oops, good point. As I understand it, any backward-incompatible
changes were at the ABI level, and so should only have broken anything
that had to hardcode details of structure layouts and the like, a set
that unfortunately turns out to include gnade at present. :-/
> Both of these issues are major flaws in gnade. The first can be
> addressed by the latest versions of GNAT, which can generate Ada
> imports of C functions. The later can only be addressed by hard work
> :(.
Automatically picking up structure layout and call details from C
headers definitely sounds like the way to go.
> Is there a summary of the API changes?
> http://dev.mysql.com/doc/refman/5.1/en/news-5-1-x.html lists all the
> changes to MySQL; I'm working my way thru the list, but it's hard to
> be sure how that relates to the library API.
I'd just compare the headers to see how the relevant declarations
changed.
--
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/[email protected]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]