Package: release.debian.org
Severity: normal
X-Debbugs-Cc: tclx...@packages.debian.org
Control: affects -1 + src:tclx8.4
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package tclx8.4

[ Reason ]
The new version prevents loading the package into Tcl 9.0 shell,
which caused segfaults (Tclx is not ported to Tcl 9 yet). See [1]
for detail.

[ Impact ]
If a software (e.g. Tkabber) is run using Tcl/Tk 9.0 and tries
to load Tclx (it can be optional, so it's no big deal if it can't
be loaded) then a segfault occurs which is not acceptable.

[ Tests ]
I've tested the change manually.

[ Risks ]
The change only deals with the guard which makes Tcl 9.0
to think that the package is not present in the system.
There's no any impact on the packages which use Tcl/Tk 8.6.

[ Checklist ]
  [+] all changes are documented in the d/changelog
  [+] I reviewed all changes and I approve them
  [+] attach debdiff against the package in testing

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104966

unblock tclx8.4/8.4.1-5
diff -Nru tclx8.4-8.4.1/debian/changelog tclx8.4-8.4.1/debian/changelog
--- tclx8.4-8.4.1/debian/changelog      2019-09-23 23:23:25.000000000 +0300
+++ tclx8.4-8.4.1/debian/changelog      2025-05-09 09:50:24.000000000 +0300
@@ -1,3 +1,9 @@
+tclx8.4 (8.4.1-5) unstable; urgency=medium
+
+  * Prevent loading into Tcl 9.0 (closes: #1104966).
+
+ -- Sergei Golovan <sgolo...@debian.org>  Fri, 09 May 2025 09:50:24 +0300
+
 tclx8.4 (8.4.1-4) unstable; urgency=medium
 
   * Adapt the soname patch to GNU/Hurd.
diff -Nru tclx8.4-8.4.1/debian/rules tclx8.4-8.4.1/debian/rules
--- tclx8.4-8.4.1/debian/rules  2019-09-23 23:23:25.000000000 +0300
+++ tclx8.4-8.4.1/debian/rules  2025-05-09 09:50:24.000000000 +0300
@@ -124,7 +124,7 @@
        sh ./debian/install_manpages $(DESTDIR)
        ln -nfs TclX.3tclx.gz $(DESTDIR)/usr/share/man/man3/tclx.3tclx.gz
        # Load only on tcl8.4
-       echo 'if {[package vcompare [info tclversion] 8.4] < 0} return' \
+       echo 'if {![package vsatisfies [package provide Tcl] 8.6]} return' \
            > $(DESTDIR)/usr/lib/tclx$(TCLX_VERSION)/pkgIndex.tcl
        sed 's|\$$dir|/usr/lib|' < pkgIndex.tcl \
            >>$(DESTDIR)/usr/lib/tclx$(TCLX_VERSION)/pkgIndex.tcl

Reply via email to