Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Aug 1997 20:10:29 +0200
From:      "Julian H. Stacey" <jhs@FreeBSD.ORG>
To:        undisclosed-recipients:;
Subject:   TCL/TK versioning in all path/name accesses
Message-ID:  <199708161812.UAA04061@wall.jhs.no_domain>

next in thread | raw e-mail | index | archive | help
------- Blind-Carbon-Copy

To: freebsd-current@FreeBSD.ORG
cc: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>,
    Chris Csanady <ccsanady@friley01.res.iastate.edu>
Subject: TCL/TK versioning in all path/name accesses
From: "Julian H. Stacey" <jhs@freebsd.org>
Reply-To: "Julian H. Stacey" <jhs@freebsd.org>
X-Email: Home: <jhs@freebsd.org>
		Lists: <jhs@gil.physik.rwth-aachen.de>
		Work (firewall blocks incoming): <stacey@caeh21.otn.lm.dasa.de>
X-web: http://www.freebsd.org/~jhs/
X-address: Holz Strasse 27d, 80469 Munich, Germany
X-tel: Home +49.89.268616,  Work +49.89.607.29788
		Fax +49.89.2608126,  Data +49.89.26023276
X-company: Vector Systems Ltd,  Unix & Internet Consultants.
X-software: FreeBSD (Unix) + EXMH 1.6.9 (PGP key on web)
In-reply-to: Your message of "Sun, 10 Aug 1997 14:25:16 +0400."
		<199708101025.OAA00728@tejblum.dnttm.rssi.ru> 
Date: Sat, 16 Aug 1997 20:10:29 +0200
Sender: jhs@wall.jhs.no_domain

( I bcc'd ports@ for info, but so's to avoid cross post follow up )

Reference:
> Subject:	Re: exmh and current.. anyone?
> From:		Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> 
> Date:		Sun, 10 Aug 1997 14:25:16 +0400 
> Message-id:	<199708101025.OAA00728@tejblum.dnttm.rssi.ru> 

Hi,
Dmitrij Tejblum wrote:
> There is a real problem here! Upgrade of the base system should not break 3rd
  >  
> party binaries! There is shared libraries verion numbers for it. But 
> libtcl75.so.1.1 become broken by overwriting /usr/libdata/tcl. Perhaps, TCL 8
  > .0 
> should use /usr/libdata/tcl80 instead.

Version numbers in _all_ Tcl/Tk path/names would be great !
We're about half way there (looking at 2.2.2), but libdata still needs to be
done, as does various ports read-during-make accesses 
(write accesses are better, more (but incomplete) use of numbered path/names.

It's untenable for my 2.2.2 box at work to have one combi mix of tcl/tk stuff
needed for FreeBSD src & ports dependencies such as vi & exmh, & another
conflicting mix of versions required for use to provide compatibility with
my customer's application, (which runs across a range of OSs, & is not about
to have its version numbers changed for any one OS).
Add to that 2.2.2 scenario, the scenario of current using Tcl 8, & it becomes
tiresome, _unless_ we have a clear way of specifying Tcl/Tk versions required
for all accesses, read & write, src, ports, & commercial add on packages.

Yesterday I tore all the tcl tk stuff with generic non version specific access
out of my machine, & reinstalled the exact versions I needed all with
version numbers in the path (libdata included), & will later reinstall 
whatever breaks on FreeBSD src/, so at least the version requirements
of my project at work no longer get suborned by FreeBSD's non version
specific path/names.

It'll become progressively harder to keep src & all ports Tcl/Tk apps
dependencies aligned, as ports/ grows, & totaly impossible to keep in step
with versions used by customer's own apps (for which FreeBSD is a host), so
if all those lib include libdata & bin dirs/filenames could have a
version indicator in, life would be much easier :-)

Zap EG
	/usr/libdata/tcl/init.tcl	&  -ltcl    etc
& only use  explicit
	/usr/libdata/tcl/[7.4,7.6,8.0}/init.tcl		...	-ltcl76
for {include lib libdata bin local}, for {src & ports & your own commercial
software you want to make safe from version problems}.

FreeBSD could then support simultaneously use of apps. requiring different
tcl/tk versions, instead of ther present situation where one breaks one
Tcl/Tk app while fixing another app's version dependency.

Only truly version independent or naive packages should reach out version-blind
with such as "-ltcl", & none of the FreeBSD src/ or ports/ should read or
install into any non versioned tcl/tk path/name.

To help, I've prepared a ports/lang/tcl75 (for compatibility with tk4.1 & tix)
(at work so can't send-pr it yet),
& have analysed version-blind read & write access conflicts of some of ports/, 
& plan to prepare diffs next week or so.

Version number path/name dependencies are a pain in general, 
but we seem to need them for Tcl/Tk.

PS I carefully express no opinion on the merits/demerits of the recent warmly
 debated "should we/shouldn't we" Tcl/Tk 8 topic (which I read but took no
part in :-).
It seems to me, whether or not Tcl/Tk8 exists, that we have had a version
selection problem at least as long as we have had 
tcl7.4 & tcl7.6 & tk4.1 &4.2 etc.

I support Dmitrij Tejblum's suggestion, but as to which of
	/usr/libdata/tcl80 	76 74 etc
	/usr/libdata/tcl/80 
	/usr/libdata/tcl/8.0
well, I'd be grateful whichever the powers that be choose,
just not /usr/libdata/tcl     :-)

Apologies, I've gone on too long ;-)

Julian
- --
Julian H. Stacey       jhs@freebsd.org         http://www.freebsd.org/~jhs/

------- End of Blind-Carbon-Copy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708161812.UAA04061>