[DebianGIS-dev] Bug#583203: ogdi-dfsg: please rebuild against tcl/tk 8.5 in experimental
Jonathan Nieder
jrnieder at gmail.com
Wed May 26 10:26:10 UTC 2010
Source: ogdi-dfsg
Version: 3.2.0~beta2-6
Severity: wishlist
User: pkg-tcltk-devel at 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 <jrnieder at 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 at lists.alioth.debian.org>
Uploaders: Francesco Paolo Lovergine <frankie at 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 <jrnieder at 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.
+
+ at 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
More information about the Pkg-grass-devel
mailing list