Bug 2346957 - tcl8-devel packages contains broken TCL_PACKAGE_PATH
Summary: tcl8-devel packages contains broken TCL_PACKAGE_PATH
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: tcl8
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 2337745 2340991
TreeView+ depends on / blocked
 
Reported: 2025-02-21 08:36 UTC by Tomasz Torcz
Modified: 2025-04-03 11:58 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-03-28 17:14:53 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tomasz Torcz 2025-02-21 08:36:25 UTC
I'm fixing owfs FTBFS (https://bugzilla.redhat.com/show_bug.cgi?id=2337745) by using tcl8-devel compat packages.
rpmbuild fails to find files. After looking at the build log, I noticed the `install` command for owfs looks strange:

 /usr/bin/mkdir -p '/builddir/build/BUILD/owfs-3.2p4-build/BUILDROOT/usr/lib64/tcl8.6:/usr/share/tcl8.6:/usr/lib64/tk8.6:/usr/share/tk8.6/owtcl-1.0'
 /usr/bin/install -c -m 644 ow.tcl pkgIndex.tcl '/builddir/build/BUILD/owfs-3.2p4-build/BUILDROOT/usr/lib64/tcl8.6:/usr/share/tcl8.6:/usr/lib64/tk8.6:/usr/share/tk8.6/owtcl-1.0’

Which results in 

error: Directory not found: /builddir/build/BUILD/owfs-3.2p4-build/BUILDROOT/usr/lib64/tcl/owtcl-*
error: File not found: /builddir/build/BUILD/owfs-3.2p4-build/BUILDROOT/usr/lib64/tcl/owtcl-*/*

later on.

After some digging I've uncovered the root cause in TCL compat package. Here's the difference:

tcl-devel-8.6.14-5.fc41.x86_64 (working):
% grep TCL_PACKAGE_PATH `rpm -ql tcl-devel`
/usr/lib64/tcl8.6/tclConfig.sh:TCL_PACKAGE_PATH='/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6 '
/usr/lib64/tclConfig.sh:TCL_PACKAGE_PATH='/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6 '


tcl8-devel-8.6.15-10.fc42.x86_64  (broken):
% grep TCL_PACKAGE_PATH `rpm -ql tcl8-devel`
/usr/lib64/tcl8.6/tclConfig.sh:TCL_PACKAGE_PATH='/usr/lib64/tcl8.6:/usr/share/tcl8.6:/usr/lib64/tk8.6:/usr/share/tk8.6'
/usr/lib64/tclConfig.sh:TCL_PACKAGE_PATH='/usr/lib64/tcl8.6:/usr/share/tcl8.6:/usr/lib64/tk8.6:/usr/share/tk8.6


The problem is that spaces (" ") got replace with semicolons (":") in tcl8-devel package. This breaks owfs's configure script (I suspect, as autoconf macros are unpenetrable for me).


Reproducible: Always

Steps to Reproduce:
1. Try to build fedora owfs package on Rawhide
2.
3.

Comment 1 Jaroslav Škarvada 2025-03-12 15:10:58 UTC
It's not bug in the Tcl compat package. It's intended change in the Tcl-8.6.15 [1, 2] which was for some time in Fedora as the latest tcl package and was later switched to the compat package. Some Tcl consumers (e.g. brltty) already fixed their scripts.

[1] https://github.com/tcltk/tcl/commit/76dad5485f7b5b964131405414ee63734e0b741d
[2] https://core.tcl-lang.org/tcl/tktview/1b8a893ded

Comment 2 Jaroslav Škarvada 2025-03-12 15:14:01 UTC
Could you bring it to the owfs upstream? Because Tcl-8.6.15 is currently the oldest Tcl upstream supported release.

Comment 3 Tomasz Torcz 2025-03-28 17:14:53 UTC
I've let upstream know: https://sourceforge.net/p/owfs/mailman/owfs-developers/thread/Z8AYyb5b4iOOVtgT%40mother.pipebreaker.pl/#msg59154054
In the meantime I've adjusted owfs spec to deal with colons.

Comment 4 Jaroslav Škarvada 2025-04-03 11:58:23 UTC
Thanks, if upstream uses TCL_PACKAGE_PATH, they should also update their scripts to deal with colons.


Note You need to log in before you can comment on or make changes to this bug.