[Pkg-tcltk-devel] Bug#887883: tktreectrl uses deprecated Tcl/Tk 8.5

Sergei Golovan sgolovan at nes.ru
Sun Jan 21 12:23:54 UTC 2018


Source: tktreectrl
Version: 2.2.8-1
Severity: important
Tags: patch

Dear Maintainer,

We are currently deprecating and going to remove Tcl/Tk 8.5 from Debian,
so please, switch the tktreectrl package to a more recent version.

I'm attaching a proposed NMU patch which switches to the default Tcl/Tk
version (currently 8.6, prospectively 8.7), and I could do this NMU if you
don't mind. Or you may want to switch to 8.6 explicitely, this way there won't
be unexpected changes when the default Tcl/Tk version will change.

The patch contains a change in generic/tkTreeElem.c which is required for
the package to be working on Tcl/Tk 8.6 and newer.

-- System Information:
Debian Release: 9.3
  APT prefers stable-debug
  APT policy: (500, 'stable-debug'), (500, 'proposed-updates'), (500, 'stable'), (1, 'unstable'), (1, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.14.0-0.bpo.3-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- no debconf information
-------------- next part --------------
diff -u tktreectrl-2.2.8/debian/changelog tktreectrl-2.2.8/debian/changelog
--- tktreectrl-2.2.8/debian/changelog
+++ tktreectrl-2.2.8/debian/changelog
@@ -1,3 +1,13 @@
+tktreectrl (2.2.8-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Switch to the default Tcl/Tk version from Tcl/Tk 8.5 since the latter is
+    to be removed from Debian.
+  * Add a patch from upstream which fixes loading the package into Tk 8.6
+    where TclGetLong() has been removed.
+
+ -- Sergei Golovan <sgolovan at debian.org>  Sun, 21 Jan 2018 13:09:32 +0300
+
 tktreectrl (2.2.8-1) unstable; urgency=low
 
   * Initial release
diff -u tktreectrl-2.2.8/debian/control tktreectrl-2.2.8/debian/control
--- tktreectrl-2.2.8/debian/control
+++ tktreectrl-2.2.8/debian/control
@@ -4,7 +4,7 @@
 Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel at lists.alioth.debian.org>
 Uploaders: Miriam Ruiz <little_miry at yahoo.es>
 Build-Depends: debhelper (>= 7), quilt, autoconf, automake, autotools-dev,
- tcl8.5-dev, tk8.5-dev
+ tcl-dev, tk-dev
 Standards-Version: 3.8.0
 Homepage: http://tktreectrl.sourceforge.net/
 Vcs-Svn: svn://svn.debian.org/svn/pkg-tcltk/packages/tktreectrl/trunk/
diff -u tktreectrl-2.2.8/debian/rules tktreectrl-2.2.8/debian/rules
--- tktreectrl-2.2.8/debian/rules
+++ tktreectrl-2.2.8/debian/rules
@@ -28,10 +28,10 @@
 	--prefix=/usr \
 	--mandir=\$${prefix}/share/man \
 	--infodir=\$${prefix}/share/info \
-	--with-tcl=/usr/lib/tcl8.5/ \
-	--with-tk=/usr/lib/tk8.5/ \
-	--with-tclinclude=/usr/include/tcl8.5/ \
-	--with-tkinclude=/usr/include/tcl8.5/ \
+	--with-tcl=/usr/lib \
+	--with-tk=/usr/lib \
+	--with-tclinclude=/usr/include/tcl \
+	--with-tkinclude=/usr/include/tcl \
 	CFLAGS="$(CFLAGS)" \
 	LDFLAGS="-lm -Wl,-z,defs -Wl,--no-undefined -Wl,--as-needed"
 	touch $@
diff -u tktreectrl-2.2.8/debian/patches/series tktreectrl-2.2.8/debian/patches/series
--- tktreectrl-2.2.8/debian/patches/series
+++ tktreectrl-2.2.8/debian/patches/series
@@ -1,0 +2 @@
+tkTreeElem.c.patch
only in patch2:
unchanged:
--- tktreectrl-2.2.8.orig/debian/patches/tkTreeElem.c.patch
+++ tktreectrl-2.2.8/debian/patches/tkTreeElem.c.patch
@@ -0,0 +1,33 @@
+Index: tkTreeElem.c
+===================================================================
+RCS file: /cvsroot/tktreectrl/tktreectrl/generic/tkTreeElem.c,v
+retrieving revision 1.67
+diff -a -u -8 -p -r1.67 tkTreeElem.c
+--- a/generic/tkTreeElem.c	22 Jan 2008 01:03:02 -0000	1.67
++++ b/generic/tkTreeElem.c	22 Jun 2009 20:36:19 -0000
+@@ -3438,17 +3438,24 @@ TreeElement_GetSortData(
+ 		    int iv;
+ 		    if (Tcl_GetIntFromObj(tree->interp, dataObj, &iv) != TCL_OK)
+ 			return TCL_ERROR;
+ 		    (*lv) = iv;
+ 		    break;
+ 		}
+ 	    }
+ 	    if (elemX->textCfg != NULL) {
+-		if (TclGetLong(tree->interp, elemX->textCfg, lv) != TCL_OK)
++		Tcl_Obj obj;
++
++		obj.refCount = 1;
++		obj.bytes = (char *) elemX->textCfg;
++		obj.length = strlen(elemX->textCfg);
++		obj.typePtr = NULL;
++
++		if (Tcl_GetLongFromObj(tree->interp, &obj, lv) != TCL_OK)
+ 		    return TCL_ERROR;
+ 		break;
+ 	    }
+ 	    FormatResult(tree->interp, "can't get a long from an empty -text value");
+ 	    return TCL_ERROR;
+     }
+     return TCL_OK;
+ }


More information about the Pkg-tcltk-devel mailing list