The upstream SourceForge repository has switched to svn. However,
there are no stable releases from the svn repository yet.

The upstream CVS head was not officially released from SourceForge; we
call that version 1.6.2 here.

gnade_1.6.2.orig.tar.gz was produced manually from a CVS checkout.

The SourceForge GNADE distribution uses autotools to create some
files. We do not use autotools in the Debian build. We suppress the
lintian error for the out-of-date autotools files in the GNADE source
in source.lintian-overrides.

Many Ada files in GNADE import C structs and functions. Those imports
must be manually checked against the corresponding C header files
(given in Ada comments) for each soname change in the corresponding C
library. This was not done for gnade releases before Debian 1.6.2-2.

Nominally, there is one library in the Debian gnade package for each
directory in gnade/dbi. However, most of those packages are rejected
for one reason or another. Here is the list:

adbc

    This is an early attempt at a higher level abstract database
    binding. It is not well tested.
    
mysql

    This code clearly does not match the current C headers for
    libmysqlclient.

oci

    This is a binding to the Oracle database. Apparently there is a
    free version of Oracle that can be installed on Debian, but I have
    simply not tried to do that, so I don't know if this package would
    work. It contains many C bindings that need to be checked.
    
odbc

    This is a binding to the industry standard ODBC. Since there is
    strong incentive for it to not change, we assume the imports are
    ok.

postgres

    This code uses some very questionable techniques in interfacing to
    C.

sqlite

    This is obsolete; use sqlite3 instead
    
sqlite3
  
    The SQLite3 API appears to be very stable (and cleanly designed).
    The C bindings were last checked for sqlite3 version 3.6.17
    (Sep 2009).

In addition, gnade/esql contains a preprocessor that allows embedding
SQL code in Ada code. It generates a lot of warnings from the gnat
compiler. In the process of eliminating those warnings, it became
clear esql is broken.

Therefore we package only odbc and SQLite3.

debian/control restricts the version of each C library to a range that
should guarantee no C API changes. When the dependency cannot be
satisfied, it is time to check the C headers again.
