Ticket UUID: | 1231015 | |||
Title: | Fedora Core: TCL_PACKAGE_PATH | |||
Type: | Patch | Version: | None | |
Submitter: | dgp | Created on: | 2005-07-01 15:23:19 | |
Subsystem: | 53. Configure and Build Tools | Assigned To: | dgp | |
Priority: | 9 Immediate | Severity: | ||
Status: | Closed | Last Modified: | 2006-03-14 03:42:05 | |
Resolution: | Rejected | Closed By: | dgp | |
Closed on: | 2006-03-13 20:42:05 | |||
Description: |
Here's a contributed patch from the Fedora Core distributors. Applies to Tcl 8.4.11. | |||
User Comments: |
dgp added on 2006-03-14 03:42:05:
Logged In: YES user_id=80530 Reverted for 8.4.13 and 8.5a4 andreas_kupries added on 2006-03-10 03:35:51: Logged In: YES user_id=75003 Ok. I have nothing against reverting this. It is not a problem for most unix machines because we build with prefix, etc. set place holders which are binary patched on install. However on OSX we cannot do such crippled builds and binary patch, causing the leakage. Note however, if the patch is not reverted, then we can adapt our build system to patch this out of the configure or makefile before the aactual compilation begins, specifically for OSX. So in total I have no strong opinion about this either way. dgp added on 2006-03-07 23:54:22: Logged In: YES user_id=80530 Raising prio to 9 to get a decision on reverting this before the 8.4.13 and 8.5a4 releases. Assigning for andreas_kupries review because of the impact on ActiveTcl. dgp added on 2005-12-08 00:18:21: Logged In: YES user_id=80530 while this change may have been helpful to some packagers, like the Fedora folks, it appears to do the wrong thing for some other packagers. For example, the ActiveTcl 8.4.12.0 release on Mac OSX has a tclsh where the value of $::tcl_pkgPath now include the directory /Users/andreask/dbn/lba/night/builds/macosx-powerpc/out/share That can't be a good thing. Recommend we revert this, and possibly replace with something that different packagers can configure to their particular needs. Along those lines, why don't pacakgers simply make TCL_PACKAGE_PATH=... Doesn't that configuration hook already give all the flexibility required? jenglish added on 2005-07-27 05:48:28: Logged In: YES user_id=68433 (last comment was from me -- sorry, forgot to log in first) nobody added on 2005-07-27 05:45:53: Logged In: NO Two more cents: The patch adds ${prefix}/share to the default built-in package search path if and only if that directory exists at configure-time; I'm not sure if that's necessarily the best criterion. (For example: consider 'configure --prefix=/opt/tcltk', where the /opt/tcltk hierarchy isn't even created until Tcl has been installed (real example, this is how I happen to do things). Also consider if ${prefix}/share does exist but you don't want Tcl to look there -- as dgp notes, this will slow down startup times, sometimes considerably. This is a big concern for me, at least). No existing TEA-based extension will install itself into ${prefix}/share unless it's also patched. So this patch might be marginally useful for FC and other packagers who do things this way, but they'll still have to patch everything else unless TEA is also modified (and all the extensions which use it upgrade to the new version). dgp added on 2005-07-27 03:40:00: Logged In: YES user_id=80530 Yes, there advantages for "a distro" to do this; that's why Fedora has been doing it. It's not as immediately clear to me that there are similar advantages to making this the new default for all builders from source code. mdejong added on 2005-07-27 03:36:20: Logged In: YES user_id=90858 This code would only be used when no --prefix is given or when --prefix=/usr/local or --prefix=/usr is given. When a --prefix is given with some non-system install location there will be no share dir that exists at configure time, so it will not change anything in these cases. Yes, it would slow down startup time when searching in /usr/local/share for Tcl packages, but on the other hand it means that a distro could actually install Tcl packages in /usr/local/share and make them available to Tcl without having to muck around with TCLLIBPATH. A distro is not going to put Tcl packages in /usr/local/lib, that is where library files live in a distro. dgp added on 2005-07-27 03:28:29: Logged In: YES user_id=80530 I had really hoped the Fedora folks would have followed up on these. It's a shame they haven't. dgp added on 2005-07-27 03:27:35: Logged In: YES user_id=80530 I think I dissent from that judgment. Every additional entry on the $auto_path drags down startup times further. If there's a defensible reason to do this, I'm willing to hear about it, but it's not something to just accept on a theory of "does no harm." mdejong added on 2005-07-27 03:25:22: File Added - 143403: distpkg.patch mdejong added on 2005-07-27 03:25:21: Logged In: YES user_id=90858 This patch seems ok. It looks like an attempt to add /usr/local/share to the default Tcl package search path. This seems fine when installing into /usr/local or /usr like some distros would do. Added the attached patch to Tcl 8.4 and the HEAD. dgp added on 2005-07-01 22:23:20: File Added - 140520: tcl8.3.5-tclConfig-package-path-90160.patch |