Hi,

I'm considering becoming the new Debian maintainer for gnade. I'm very
new at Debian, although I've been using gnade for years.

I'm concerned about the way the library dependencies are handled.

In Lenny, Gnade 1.6.2 lists a dependency on libmysqlclient15. In
Squeeze, libmysqlclient15 will be replaced by libmysqlclient16. So the
gnade dependency needs to change.

You have suggested changing it to unversioned libmysqlclient. However,
I think that is potentially dangerous.

Normally, the version number on a library is changed because of an API
change. There are two kinds of API changes; function profiles, and
function semantics. In either case, we need to consider how the change
impacts gnade.

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.

In addition, gnade does not have an adequate test suite, so we will
not automatically find semantics changes, either. 

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
:(.


Is there some guarantee that the changes in libmysqlclient do not
affect users? 

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 would like to change the gnade dependency to libmysqlclient16,
so that if the version changes again, we will be alerted to condsider
how the version change affects gnade.

-- 
-- Stephe



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to