Tcl Source Code

View Ticket
Login
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

Attachments: