The unified diff between revisions [c9f346c2..] and [bd016fa4..] is displayed below. It can also be downloaded as a raw diff.

#
#
# delete "debian/gesql.sgml"
#
# add_file "debian/patches/mtn-ignore.patch"
#  content [746419a6f16c517f87059d5274f523ff72e2aee4]
#
# patch "debian/README.source"
#  from [7723c320d71ee460aec6bf78d02179568e0d16f0]
#    to [e29cfb655e1e73bdab8ff160d0cd760d7ff70d53]
#
# patch "debian/changelog"
#  from [758d0a61726c89681596358078b0afa7ed9a5f83]
#    to [c3b56073a45fd7cfb8a02a70d47ffd72da5ceaf0]
#
# patch "debian/control"
#  from [c89a855e210172411b31269ff123da538782aa5d]
#    to [b0aa0fb7bfe9ccbb40fadd8a2ee25f508fb4b23d]
#
# patch "debian/gnade_common_build.gpr"
#  from [233a5d05712a018d5482010bd8ede7aa81f4e719]
#    to [be98c29551f52e91d5cdc6502d211de4567ddbd8]
#
# patch "debian/gnade_common_ref.gpr"
#  from [21f01d6892257bad18f4cc8aed624e5b6d21d2bf]
#    to [a4e16b54bbae51da5f48d9de3ecc453dc408127b]
#
# patch "debian/gnade_odbc_build.gpr"
#  from [ff7ace60d6c4fe4a6f4c74b0438971b0f5200a1e]
#    to [880521012c75c4047de599758437db2a6de49a4d]
#
# patch "debian/gnade_odbc_example_build.gpr"
#  from [eb0614378bcd752edea56995429cf0ed470840df]
#    to [86a8279b2e3c762144868876c1f38799c9c8127a]
#
# patch "debian/gnade_sqlite3_build.gpr"
#  from [b8b6f50e0e45ce4cdd2673a67c18145d0be7cf07]
#    to [a1807c37c7361bdc4afd6b30e07d2cb9fea7ecd8]
#
# patch "debian/patches/series"
#  from [a3b10ab76b6240de6a0bd07929a2b6c3b0f9eb21]
#    to [51170ff1bc6b2930b41f422c300e171f8f1cbce8]
#
# patch "debian/rules"
#  from [aad015b0b4b4647c87d90b96a1dd541a4639a706]
#    to [ef2a92ad3ab8bb186f1b44287e9a61b74f5a8db2]
#
============================================================
--- debian/patches/mtn-ignore.patch	746419a6f16c517f87059d5274f523ff72e2aee4
+++ debian/patches/mtn-ignore.patch	746419a6f16c517f87059d5274f523ff72e2aee4
@@ -0,0 +1,52 @@
+Index: gnade-1.6.2/.mtn-ignore
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gnade-1.6.2/.mtn-ignore	2009-10-12 09:33:15.000000000 -0400
+@@ -0,0 +1,47 @@
++^.*\.debhelper$
++^.*\.debhelper\.log$
++^.*\.substvars$
++^AUTHORS$
++^COPYING$
++^MANIFEST$
++^Makefile$
++^README$
++^TODO$
++^VERSION$
++^\.pc$
++^autoconf$
++^bin$
++^cfg$
++^configure$
++^configure\.bat$
++^contrib$
++^cygwin$
++^dbi$
++^debian/.*-dbg$
++^debian/.*-dev$
++^debian/.*-stamp$
++^debian/files$
++^debian/libgnadecommon1$
++^debian/libgnadeodbc2$
++^debian/libgnadesqlite3-2$
++^debian/stamp-patched$
++^debian/tmp$
++^doc$
++^esql$
++^etc$
++^gnade\.adp$
++^gnade\.gpp$
++^gnade\.gpr$
++^ide$
++^make\.conf\.in$
++^make\.conf\.win32$
++^pkg-config$
++^projects$
++^rpm$
++^samples$
++^support$
++^test$
++^tmp$
++^tools$
++^version\.ads$
++^win32$
============================================================
--- debian/README.source	7723c320d71ee460aec6bf78d02179568e0d16f0
+++ debian/README.source	e29cfb655e1e73bdab8ff160d0cd760d7ff70d53
@@ -4,6 +4,11 @@ call that version 1.6.2 here.
 The upstream CVS head was not officially released from SourceForge; we
 call that version 1.6.2 here.

+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
============================================================
--- debian/changelog	758d0a61726c89681596358078b0afa7ed9a5f83
+++ debian/changelog	c3b56073a45fd7cfb8a02a70d47ffd72da5ceaf0
@@ -29,7 +29,7 @@ gnade (1.6.2-2) UNRELEASED; urgency=low
     (Uploaders): add myself as the sponsor.
     (*): switch to gnat-4.4.

- -- Stephen Leake <stephen_leake@stephe-leake.org>  Sun, 06 Sep 2009 16:40:59 -0400
+ -- Stephen Leake <stephen_leake@stephe-leake.org>  Thu, 22 Oct 2009 22:19:46 +0200

 gnade (1.6.2-1.1) unstable; urgency=low

============================================================
--- debian/control	c89a855e210172411b31269ff123da538782aa5d
+++ debian/control	b0aa0fb7bfe9ccbb40fadd8a2ee25f508fb4b23d
@@ -3,15 +3,13 @@ Uploaders: Ludovic Brenta <lbrenta@debia
 Priority: optional
 Maintainer: Stephen Leake <stephen_leake@stephe-leake.org>
 Uploaders: Ludovic Brenta <lbrenta@debian.org>
-# mysql-server, libmyodbc are used to test the odbc interface
 # sqlite3, libsqlite3-dev are used to test the sqlite3 interface
-# Note that when installing in a chroot, the primary mysql deamon must be stopped
-Build-Depends: debhelper (>> 5), gnat (>= 4.4), gnat-4.4, unixodbc-dev, libsqlite3-dev, quilt, mysql-server, libmyodbc, sqlite3, libsqlite3-dev
-Standards-Version: 3.8.0
+Build-Depends: debhelper (>> 5), gnat (>= 4.4), gnat-4.4, unixodbc-dev, libsqlite3-dev, quilt, sqlite3, libsqlite3-dev
+Standards-Version: 3.8.3
 XS-Vcs-Mtn: www.ada-france.org org.debian.gnade
 XS-Vcs-Browser: http://www.ada-france.org:8081/branch/changes/org.debian.gnade

-Package: libgnadecommon-dev
+Package: libgnadecommon1-dev
 # architecture is limited only because gnat is; keep this in sync with gnat
 Architecture: alpha amd64 hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel ppc64 powerpc sparc s390
 Section: libdevel
@@ -58,10 +56,10 @@ Description: GNat Ada Database Environme
  .
  This package contains the shared library for the common subprograms.

-Package: libgnadeodbc-dev
+Package: libgnadeodbc1-dev
 Architecture: alpha amd64 hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel ppc64 powerpc sparc s390
 Section: libdevel
-Depends: gnat-4.4, unixodbc (>= 2.2.11-16), libgnadeodbc2 (= ${binary:Version})
+Depends: gnat-4.4, libgnadecommon1-dev (= ${binary:Version}), unixodbc (>= 2.2.11-16), libgnadeodbc2 (= ${binary:Version})
 Suggests: gnade-doc (= ${source:Version}), libgnadesqlite3-dev
 Conflicts: gnade-dev
 Description: GNat Ada Database Environment - ODBC programming interface
@@ -106,9 +104,9 @@ Description: GNat Ada Database Environme
  .
  This package contains the shared library for the ODBC interface.

-Package: libgnadesqlite3-dev
+Package: libgnadesqlite3-1-dev
 Architecture: alpha amd64 hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel ppc64 powerpc sparc s390
-Depends: gnat-4.4, libgnadecommon-dev (= ${binary:Version}), libsqlite3-dev, libgnadesqlite3-2 (= ${binary:Version})
+Depends: gnat-4.4, libgnadecommon1-dev (= ${binary:Version}), libsqlite3-dev, libgnadesqlite3-2 (= ${binary:Version})
 Section: libdevel
 Description: GNat Ada Database Environment - SQLite3 programming interface
  GNADE is a complete database development environment for Ada
============================================================
--- debian/gnade_common_build.gpr	233a5d05712a018d5482010bd8ede7aa81f4e719
+++ debian/gnade_common_build.gpr	be98c29551f52e91d5cdc6502d211de4567ddbd8
@@ -7,11 +7,21 @@ project GNADE_Common_Build is
    Libtype : Lib_Type := external ("LIBTYPE");

    for Languages use ("Ada");
+
+   --  At install time, Source_Dirs must reflect the build source
+   --  directories
    for Source_Dirs use ("../support");
+
+   --  Library_Dir must be a single directory containing all the
+   --  library files (*.ali, *.a, *.so) for all of the gnade packages.
+   for Library_Dir use "tmp";
+
+   --  Object_Dir is only used at build time; it must be distinct from
+   --  the other package object directories, and from the library
+   --  directory.
    for Object_Dir use "tmp/common-" & Libtype;

    for Library_Name use "gnadecommon";
-   for Library_Dir use "tmp";
    for Library_Kind use Libtype;

    --  Library_Version is not used when Library_Kind is "static"
============================================================
--- debian/gnade_common_ref.gpr	21f01d6892257bad18f4cc8aed624e5b6d21d2bf
+++ debian/gnade_common_ref.gpr	a4e16b54bbae51da5f48d9de3ecc453dc408127b
@@ -19,9 +19,10 @@ project GNADE_Common_Ref is

    for Languages use ("Ada");
    for Source_Dirs use ("../support");
+   for Library_Dir use "tmp";
+   for Object_Dir use "tmp/common-" & Libtype;

    for Library_Name use "gnadecommon";
-   for Library_Dir use  "tmp";
    for Library_Kind use Libtype;
    for Externally_Built use "true";

============================================================
--- debian/gnade_odbc_build.gpr	ff7ace60d6c4fe4a6f4c74b0438971b0f5200a1e
+++ debian/gnade_odbc_build.gpr	880521012c75c4047de599758437db2a6de49a4d
@@ -8,16 +8,31 @@ project GNADE_ODBC_Build is
    Libtype : Lib_Type := external ("LIBTYPE");

    for Languages use ("Ada");
+
+   --  We we only need gnu.ads, gnu-db.ads from ../support; the rest
+   --  of the files in ../support go in libgnadecommon, which we don't
+   --  need otherwise. However, if we don't depend on
+   --  gnade_common_ref, there would be two packages installing
+   --  gnu.ads, gnu-db.ads. That's a problem when one package is
+   --  removed without the other. We also need libgnadecommon to
+   --  install gnade.gpr.
+   --
+   --  So we just ignore the warning from dh_shlibdeps about the
+   --  useless dependency on libgnadecommon.
    for Source_Dirs use ("../dbi/odbc", "tmp/odbc-prep");
+   for Library_Dir use "tmp";
    for Object_Dir use "tmp/odbc-" & Libtype;

    for Library_Name use "gnadeodbc";
-   for Library_Dir use "tmp";
    for Library_Kind use Libtype;

    --  Library_Version is not used when Library_Kind is "static"
    for Library_Version use "libgnadeodbc.so." & Soversion;

+   --  We want libgnadeodbc.so to contain a dynamic link to libodbc,
+   --  so dh_shlibdeps will create the correct package dependencies.
+   for Library_Options use ("-lodbc");
+
    package Compiler is
       Base_Switches :=
         ("-g",
============================================================
--- debian/gnade_odbc_example_build.gpr	eb0614378bcd752edea56995429cf0ed470840df
+++ debian/gnade_odbc_example_build.gpr	86a8279b2e3c762144868876c1f38799c9c8127a
@@ -1,4 +1,3 @@
-with "gnade_common_ref";
 with "gnade_odbc_ref";
 project GNADE_ODBC_Example_Build is

@@ -22,4 +21,8 @@ project GNADE_ODBC_Example_Build is

    end Compiler;

+   --  Note that we don't need any linker options here; 'with
+   --  gnadeodbc_ref' pulls in libgnadeodbc.so, and a 'pragma
+   --  Linker_Options' in gnu.db.sqlcli pulls in libodbc.
+
 end GNADE_ODBC_Example_Build;
============================================================
--- debian/gnade_sqlite3_build.gpr	b8b6f50e0e45ce4cdd2673a67c18145d0be7cf07
+++ debian/gnade_sqlite3_build.gpr	a1807c37c7361bdc4afd6b30e07d2cb9fea7ecd8
@@ -8,16 +8,25 @@ project GNADE_Sqlite3_Build is
    Libtype : Lib_Type := external ("LIBTYPE");

    for Languages use ("Ada");
+
+   --  libgnadeodbc doesn't need ../support, so could just link it in
+   --  here, rather than creating a separate library package. However,
+   --  then we'd have to decide which package would install gnade.gpr,
+   --  gnu.ads, and gnu-db.ads.
    for Source_Dirs use ("../dbi/sqlite3");
+   for Library_Dir use "tmp";
    for Object_Dir use "tmp/sqlite3-" & Libtype;

    for Library_Name use "gnadesqlite3";
-   for Library_Dir use "tmp";
    for Library_Kind use Libtype;

    --  Library_Version is not used when Library_Kind is "static"
    for Library_Version use "libgnadesqlite3.so." & Soversion;

+   --  We want libgnadesqlite3.so to contain a dynamic link to libsqlite3,
+   --  so dh_shlibdeps will create the correct package dependencies.
+   for Library_Options use ("-lsqlite3");
+
    package Compiler is
       Base_Switches :=
         ("-g",
============================================================
--- debian/patches/series	a3b10ab76b6240de6a0bd07929a2b6c3b0f9eb21
+++ debian/patches/series	51170ff1bc6b2930b41f422c300e171f8f1cbce8
@@ -1,2 +1,3 @@ demo_warnings.patch
 bug-538643.patch
 demo_warnings.patch
+mtn-ignore.patch
============================================================
--- debian/rules	aad015b0b4b4647c87d90b96a1dd541a4639a706
+++ debian/rules	ef2a92ad3ab8bb186f1b44287e9a61b74f5a8db2
@@ -17,12 +17,10 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301 USA
+#
+# To run this makefile in a chroot:
+# cd ..; sudo schroot --chroot=unstable -- dpkg-buildpackage -uc -us -i

-# This file builds GNADE for Debian GNU/Linux, without touching the
-# original source files.  The build target does everything in the
-# build directory.  The binary targets move files from there to
-# the package-specific subdirectories under debian.
-
 .SUFFIXES=

 include /usr/share/quilt/quilt.make
@@ -35,6 +33,11 @@ sqlite3_soversion := 2
 odbc_soversion 	  := 2
 sqlite3_soversion := 2

+# aliversions change when any ali file changes
+common_aliversion  := 1
+odbc_aliversion    := 1
+sqlite3_aliversion := 1
+
 CPUS := $(shell getconf _NPROCESSORS_ONLN)

 # Targets mandated by the Debian Policy
@@ -48,14 +51,17 @@ libs := common odbc sqlite3

 libs := common odbc sqlite3

-all_packages += $(foreach l,$(libs), install$(l) libgnade$(l)-dev)
-
 build-arch: $(addprefix debian/libgnade,$(addsuffix -stamp,$(libs)))

 build-indep:

+all_packages += $(foreach l,$(libs), libgnade$(l)-so libgnade$(l)-dev)
+
 binary: binary-arch

+# we ignore the warnings about "dependency on libgnadecommon.so.1
+# could be avoided" for libgnadeodbc; see gnade_odbc_build.gpr for
+# more info.
 binary-arch: build-arch testroot $(all_packages)
 	dh_shlibdeps -a
 	dh_installdocs -a
@@ -112,11 +118,11 @@ debian/tmp/%-prep:
 ##############################################################################
 # Targets that move files into the proper packages

-# Install a binary library package
-installcommon:  package := libgnadecommon$(common_soversion)
-installodbc:    package := libgnadeodbc$(odbc_soversion)
-installsqlite3: package := libgnadesqlite3-$(sqlite3_soversion)
-install%: debian/libgnade%-stamp
+# Install a shared object library package
+libgnadecommon-so:  package := libgnadecommon$(common_soversion)
+libgnadeodbc-so:    package := libgnadeodbc$(odbc_soversion)
+libgnadesqlite3-so: package := libgnadesqlite3-$(sqlite3_soversion)
+libgnade%-so: debian/libgnade%-stamp
 	dh_installdirs -p$(package) usr/lib
 	dh_install -p$(package) debian/tmp/libgnade$*.so.$($*_soversion) usr/lib
 	dh_strip -p$(package) --dbg-package=libgnade$*-dbg
@@ -126,27 +132,30 @@ install%: debian/libgnade%-stamp
 # adalib/gnade and adainclude/gnade, and there is only one project
 # file provided by libgnadecommon-dev. All other -dev packages depend
 # on it.
+libgnadeodbc-dev:    package := libgnadeodbc$(odbc_aliversion)-dev
+libgnadesqlite3-dev: package := libgnadesqlite3-$(sqlite3_aliversion)-dev
 libgnade%-dev: debian/libgnade%-stamp
-	dh_installdirs -p$@ \
+	dh_installdirs -p$(package) \
 	   usr/share/ada/adainclude/gnade \
 	   usr/lib/ada/adalib/gnade
-	dh_install -p$@ debian/tmp/$*-dynamic/*.ali usr/lib/ada/adalib/gnade
-	dh_install -p$@ dbi/$*/*.ad[bs] usr/share/ada/adainclude/gnade
-	if [ -d debian/tmp/$*-prep ]; then dh_install -p$@ debian/tmp/$*-prep/*.ad[bs] usr/share/ada/adainclude/gnade; fi
-	dh_install -p$@ debian/tmp/libgnade$*.a debian/tmp/libgnade$*.so.$($*_soversion) /usr/lib
+	dh_install -p$(package) debian/tmp/$*-dynamic/*.ali usr/lib/ada/adalib/gnade
+	dh_install -p$(package) dbi/$*/*.ad[bs] usr/share/ada/adainclude/gnade
+	if [ -d debian/tmp/$*-prep ]; then dh_install -p$(package) debian/tmp/$*-prep/*.ad[bs] usr/share/ada/adainclude/gnade; fi
+	dh_install -p$(package) debian/tmp/libgnade$*.a /usr/lib
 	dh_link -p$@ /usr/lib/libgnade$*.so.$($*_soversion) \
 	   /usr/lib/libgnade$*.so

 # Install libgnadecommon-dev; this overrides the pattern target above.
+libgnadecommon-dev: package := libgnadecommon$(common_aliversion)-dev
 libgnadecommon-dev: debian/libgnadecommon-stamp
-	dh_installdirs -p$@ \
+	dh_installdirs -p$(package) \
 	   usr/share/ada/adainclude/gnade \
 	   usr/lib/ada/adalib/gnade
-	dh_install -p$@ debian/tmp/common-dynamic/*.ali usr/lib/ada/adalib/gnade
-	dh_install -p$@ support/*.ad[bs] usr/share/ada/adainclude/gnade
-	dh_install -p$@ debian/gnade.gpr usr/share/ada/adainclude
-	dh_install -p$@ debian/tmp/libgnadecommon.a debian/tmp/libgnadecommon.so.$(common_soversion) /usr/lib
-	dh_link -p$@ /usr/lib/libgnadecommon.so.$(common_soversion) \
+	dh_install -p$(package) debian/tmp/common-dynamic/*.ali usr/lib/ada/adalib/gnade
+	dh_install -p$(package) support/*.ad[bs] usr/share/ada/adainclude/gnade
+	dh_install -p$(package) debian/gnade.gpr usr/share/ada/adainclude
+	dh_install -p$(package) debian/tmp/libgnadecommon.a /usr/lib
+	dh_link -p$(package) /usr/lib/libgnadecommon.so.$(common_soversion) \
 	   /usr/lib/libgnadecommon.so

 # check the build by running some examples running the odbc example
@@ -182,4 +191,9 @@ debian/check-sqlite3-stamp: debian/libgn
 	export LD_LIBRARY_PATH=`pwd`/debian/tmp; debian/tmp/sqlite3-example-obj/demo debian/tmp/demo.db
 	touch $@

+lint: regexp := ^Version: \([0-9.]\+-.\+\)$$
+lint: version := $(shell dpkg-parsechangelog | grep ^Version | sed 's/$(regexp)/\1/')
+lint:
+	cd ..; lintian --lab ../../lint/gnade-$(version) -i gnade*.changes
+
 # end of file