Source: ogdi-dfsg Version: 3.2.0~beta2-6 Severity: wishlist User: pkg-tcltk-de...@lists.alioth.debian.org Usertags: UpgradeDefaultTclTkTo85
Hi Francesco, Here’s another patch to prepare before uploading tcltk-defaults 8.5 to sid. Although ogdi build-depends on tcl-dev (rather than tcl8.4-dev), it expects to find headers in /usr/include/tcl8.4. So the build system needs patching. The patch here is not complete yet. Questions: The existing version of the tcl bindings does not link to tcl. That is okay, since the tcl interpreter will be available to resolve symbols, but: . When loaded, the tcl bindings do not check whether the current tcl version is suitable . There is no corresponding dependency in the libogdi3.2 package. Shouldn’t it at least Suggests: tclsh? . I am not sure how well tools like prelink can handle this . Is using libtcl this way supported? What kind of ABI guarantees can we count on? I would be more comfortable using tcl stubs. What do you think? The patch below does not use tcl stubs but just uses -ltcl directly. It also adds a few other missing -l<this or that> to compiler command lines. Tested only by building against tcl8.5-dev and running load("/usr/lib/ogdi/libecs_tcl.so") from tclsh; in other words, no actual functionality has been tested yet. debian/changelog | 13 +++++ debian/control | 2 +- debian/patches/00list | 1 + debian/patches/hurd.dpatch | 113 ---------------------------------------- debian/patches/linklibs.dpatch | 90 +++++++++++++++++++++++++++++++ debian/patches/makefile.dpatch | 10 +++- 6 files changed, 112 insertions(+), 117 deletions(-) create mode 100755 debian/patches/linklibs.dpatch mode change 100644 => 100755 debian/patches/makefile.dpatch diff --git a/debian/changelog b/debian/changelog index 3d1af21..842c5df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +ogdi-dfsg (3.2.0~beta2-7) experimental; urgency=low + + * Changed makefile.dpatch: + - use headers from /usr/include/tcl instead of hard-coding + /usr/include/tcl8.4. + - specify flags to link to libtcl, libtk, and libm + * Removed unused GNU.mak from hurd.dpatch. + * Added linklibs.dpatch to make sure each object is + linked to the libraries it uses. + * Rebuilt against tk-dev (>= 8.5). + + -- Jonathan Nieder <jrnie...@gmail.com> Wed, 26 May 2010 04:37:40 -0500 + ogdi-dfsg (3.2.0~beta2-6) unstable; urgency=low [ David Paleino ] diff --git a/debian/control b/debian/control index 8bb5914..8f91f48 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: ogdi-dfsg Priority: extra Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org> Uploaders: Francesco Paolo Lovergine <fran...@debian.org> -Build-Depends: debhelper (>= 7), autotools-dev, zlib1g-dev, libexpat1-dev, libproj-dev, dpatch, tcl-dev (>=8.4) +Build-Depends: debhelper (>= 7), autotools-dev, zlib1g-dev, libexpat1-dev, libproj-dev, dpatch, tcl-dev (>= 8.5) Standards-Version: 3.8.4 Section: libs Homepage: http://ogdi.sourceforge.net/ diff --git a/debian/patches/00list b/debian/patches/00list index 48b3158..e7a26c1 100644 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -2,3 +2,4 @@ makefile shared endianess hurd +linklibs diff --git a/debian/patches/hurd.dpatch b/debian/patches/hurd.dpatch index 2490add..ececc49 100644 --- a/debian/patches/hurd.dpatch +++ b/debian/patches/hurd.dpatch @@ -5,119 +5,6 @@ ## DP: Support the GNU Hurd too. @DPATCH@ -diff -urNad ogdi-dfsg~/config/GNU.mak ogdi-dfsg/config/GNU.mak ---- ogdi-dfsg~/config/GNU.mak -+++ ogdi-dfsg/config/GNU.mak -@@ -0,0 +1,109 @@ -+# Copyright (C) 2001 Her Majesty the Queen in Right of Canada. -+# Permission to use, copy, modify and distribute this software and -+# its documentation for any purpose and without fee is hereby granted, -+# provided that the above copyright notice appear in all copies, that -+# both the copyright notice and this permission notice appear in -+# supporting documentation, and that the name of Her Majesty the Queen -+# in Right of Canada not be used in advertising or publicity pertaining -+# to distribution of the software without specific, written prior -+# permission. Her Majesty the Queen in Right of Canada makes no -+# representations about the suitability of this software for any purpose. -+# It is provided "as is" without express or implied warranty. -+ -+# Generic unix configuration file, processed by configure to make -+# platform specific. -+ -+# -+# Read in the configuration common to all Unix -+# -+include /config/unix.mak -+ -+# -+# platform specific Symbols -+# -+PLATFORM= -+_SOLARIS= 1 -+USE_TERMIO= -DUSE_TERMIO -+ -+# -+# platform specific tools -+# -+AR= ar cr -+ -+ -+# -+# Compilation and linking flags -+# -+SHLIB_CFLAGS= -fPIC -+COMMON_CFLAGS= -Wall -O2 -Wall -DUNIX=1 -+ -+SHLIB_LDFLAGS= -shared -+COMMON_LDFLAGS = -+ -+RPC_INCLUDES = -DHAVE_STD_RPC_INCLUDES -+ -+UCB_STATICLIB = -+ -+TCL_INCLUDE = -I/usr/include/tcl8.4 -+TCL_LINKLIB = -+ -+# -+#Install Locations -+# -+prefix= /usr -+exec_prefix = -+INST_INCLUDE= /include -+INST_LIB= /lib -+INST_BIN= /bin -+ -+# -+# platform specific file locations -+# -+#RPC_LINKLIB= -lrpcsvc -lnsl -lsocket -+#RPC_LINKLIB=-ldl -ldbmalloc -+RPC_LINKLIB=-ldl -+ -+# -+# Endian definition, could be little or big -+# -+BIG_ENDIAN = 0 -+ -+# -+# Handle internal/external PROJ.4 library usage. -+# -+ -+PROJ_SETTING=external -+ -+ifeq (,external) -+PROJ_INCLUDE :=-I/usr/include -+PROJ_STATICLIB := -lproj -+endif -+ -+# -+# Handle internal/external ZLIB library usage. -+# -+ -+ZLIB_SETTING=external -+ -+ifeq (,external) -+ZLIB_INCLUDE :=-I/usr/include -+ZLIB_LINKLIB := -lz -+endif -+ -+# -+# Handle internal/external/disabled "Expat" library handling. -+# -+ -+EXPAT_SETTING=external -+ -+ifeq (,external) -+EXPAT_INCLUDE := -I/usr/include -+EXPAT_LINKLIB := -lexpat -+endif -+ -+ifeq (,disabled) -+EXPAT_INCLUDE := -DEXPAT_DISABLED -+EXPAT_LINKLIB := -+endif -+ -+ diff -urNad ogdi-dfsg~/config/common.mak.in ogdi-dfsg/config/common.mak.in --- ogdi-dfsg~/config/common.mak.in +++ ogdi-dfsg/config/common.mak.in diff --git a/debian/patches/linklibs.dpatch b/debian/patches/linklibs.dpatch new file mode 100755 index 0000000..c883704 --- /dev/null +++ b/debian/patches/linklibs.dpatch @@ -0,0 +1,90 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## linklibs.dpatch by Jonathan Nieder <jrnie...@gmail.com> +## +## All lines beginning with `## DP:' are a description of the patch. +## +## DP: Link libraries and binaries to the libs providing the +## DP: symbols they use, instead of relying on the user to do so. +## DP: +## DP: dpkg-shlibdeps, symbol versioning, the gold linker, and +## DP: some versions of ld.so can benefit from this. + +...@dpatch@ +diff --git a/contrib/ogdi_import/makefile b/contrib/ogdi_import/makefile +index 0b32fb0..ba37449 100644 +--- a/contrib/ogdi_import/makefile ++++ b/contrib/ogdi_import/makefile +@@ -17,14 +17,12 @@ TARGETGEN=$(PROGGEN) + SOURCES = ogdi_import.c shpopen.c dbfopen.c + + INCLUDES = $(CURRENT_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)\ +- $(ZLIB_INCLUDE) $(GENERAL_INCLUDE) $(TCLTK_INCLUDE) ++ $(GENERAL_INCLUDE) $(TCLTK_INCLUDE) + + CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(FLAGS_X86DEF) + +-LINK_LIBS= $(OGDI_LINKLIB) $(ZLIB_LINKLIB) $(RPC_LINKLIB) \ +- $(PROJ_STATICLIB) $(MATH_LINKLIB) \ +- $(LIBC_LINKLIB) $(UCB_STATICLIB) $(DL_LINKLIB) \ +- $(WIN_LINKLIB) ++LINK_LIBS= $(OGDI_LINKLIB) $(PROJ_STATICLIB) $(MATH_LINKLIB) \ ++ $(LIBC_LINKLIB) $(UCB_STATICLIB) $(WIN_LINKLIB) + + include $(TOPDIR)/config/common.mak + +diff --git a/contrib/ogdi_info/makefile b/contrib/ogdi_info/makefile +index 3a33089..fa195a9 100644 +--- a/contrib/ogdi_info/makefile ++++ b/contrib/ogdi_info/makefile +@@ -16,15 +16,13 @@ TARGETGEN=$(PROGGEN) + + SOURCES = ogdi_info.c + +-INCLUDES = $(CURRENT_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)\ +- $(ZLIB_INCLUDE) $(GENERAL_INCLUDE) $(TCLTK_INCLUDE) ++INCLUDES = $(CURRENT_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE) \ ++ $(GENERAL_INCLUDE) + + CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(FLAGS_X86DEF) + +-LINK_LIBS= $(OGDI_LINKLIB) $(ZLIB_LINKLIB) $(RPC_LINKLIB) \ +- $(PROJ_STATICLIB) $(MATH_LINKLIB) \ +- $(LIBC_LINKLIB) $(UCB_STATICLIB) $(DL_LINKLIB) \ +- $(WIN_LINKLIB) ++LINK_LIBS= $(OGDI_LINKLIB) $(PROJ_STATICLIB) $(MATH_LINKLIB) \ ++ $(LIBC_LINKLIB) $(UCB_STATICLIB) $(WIN_LINKLIB) + + include $(TOPDIR)/config/common.mak + +diff --git a/ogdi/gltpd/makefile b/ogdi/gltpd/makefile +index 353df7f..7feaa1b 100644 +--- a/ogdi/gltpd/makefile ++++ b/ogdi/gltpd/makefile +@@ -21,11 +21,9 @@ INCLUDES = $(CURRENT_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)\ + + CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(FLAGS_X86DEF) $(RPC_INCLUDES) + +-LINK_LIBS= $(OGDI_LINKLIB) $(ZLIB_LINKLIB) $(RPC_LINKLIB) \ +- $(PROJ_STATICLIB) $(MATH_LINKLIB) \ +- $(LIBC_LINKLIB) $(UCB_STATICLIB) $(DL_LINKLIB) \ +- $(WIN_LINKLIB) $(X11_LINKLIB) $(LXLIB_LINKLIB) \ +- $(TK_LINKLIB) $(TCL_LINKLIB) ++LINK_LIBS= $(OGDI_LINKLIB) $(PROJ_STATICLIB) $(MATH_LINKLIB) \ ++ $(LIBC_LINKLIB) $(UCB_STATICLIB) \ ++ $(WIN_LINKLIB) $(X11_LINKLIB) $(LXLIB_LINKLIB) + + include $(TOPDIR)/config/common.mak + +diff --git a/vpflib/makefile b/vpflib/makefile +index b3fc68b..1207836 100644 +--- a/vpflib/makefile ++++ b/vpflib/makefile +@@ -33,6 +33,8 @@ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(VPF_INCLUDE) + CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(UNIX_DEFINE) \ + -DSYS_BIG_ENDIAN=$(BIG_ENDIAN) + ++LINK_LIBS = $(MATH_LINKLIB) ++ + include $(TOPDIR)/config/common.mak + + all: MKOBJECTDIR diff --git a/debian/patches/makefile.dpatch b/debian/patches/makefile.dpatch old mode 100644 new mode 100755 index dd8f25a..b7f88df --- a/debian/patches/makefile.dpatch +++ b/debian/patches/makefile.dpatch @@ -10,13 +10,17 @@ diff -urNad ogdi-dfsg~/config/generic.mak.in ogdi-dfsg/config/generic.mak.in --- ogdi-dfsg~/config/generic.mak.in 2007-03-27 17:35:33.000000000 +0200 +++ ogdi-dfsg/config/generic.mak.in 2007-03-27 23:17:20.000000000 +0200 -@@ -44,7 +44,7 @@ +@@ -44,7 +44,10 @@ UCB_STATICLIB = -TCL_INCLUDE = -I/usr/include/tcl8.3 -+TCL_INCLUDE = -I/usr/include/tcl8.4 - TCL_LINKLIB = +-TCL_LINKLIB = ++TCL_INCLUDE = -I/usr/include/tcl ++TCL_LINKLIB = -ltcl ++TK_LINKLIB = -ltk ++ ++MATH_LINKLIB = -lm # diff -urNad ogdi-dfsg~/makefile ogdi-dfsg/makefile -- 1.7.1 _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-grass-devel