[Python-Dev] _tkinter and Tcl/Tk versions

Peter Funk pf@artcom-gmbh.de
Wed, 5 Apr 2000 17:08:35 +0200 (MEST)


Hi!

[me]:
[...]
> > particular Tcl/Tk package into the Python package.  This idea might be 
> > interesting for Red Hat, SuSE Linux distribution users to allow partial 
> > system upgrades with a binary python-1.6.rpm
> 
> Can you tell me what problem you are trying to solve here?  It makes
> no sense to me, but maybe I'm missing something.  Typically Python is
> built to match the Tcl/Tk version you have installed, right?

If you build from source this is true.  But the Linux world is now
different:  The two major Linux distributions (RedHat, SuSE) both use 
the RPM format to distribute precompiled binary packages.  
Tcl/Tk usually lives in a separate package.  (BTW.: SuSE in their
perverse mood has splitted Python 1.5.2 itself into more than half
a dozen separate packages, but that's another story).  

If someone wants to prebuild a Python 1.6 binary RPM for installation
on any RPM based Linux system it is unknown, which version of Tcl/Tk
is installed on the destination system.

So either you can build a monster RPM, which includes the Tcl/Tk shared libs
or use the RPM Spec file to force the user to install a specific
version of Tcl/Tk (for example 8.2.3) or implement something
like I suggested above.  Of course this places a lot of burden on 
the RPM builder: he has to install at least all the four major versions of
Tcl/Tk (8.0 - 8.3) on his machine and has to build _tkinter four times 
against each particular shared library and header files... but this would 
be possible.

Currently the situation with SuSE Python 1.5.2 RPMs is even more
dangerous, since the SPEC files used by SuSE simply contains the 
following 'Requires'-definitions:

  %package -n pyth_tk
  Requires: python tk tix blt

This makes RPM believe that *any* version of Tcl/Tk would fit.  Luckily
SuSE 6.4 (released last week) still ships with the old Tcl/Tk 8.0.5, so 
this will not break until SuSE decides to upgrade their Tcl/Tk.
But I guess that Red Hat comes with a newer version of Tcl/Tk.
Hopefully they have got their SPEC file right (they invented
RPM in the first place)

RPM can be a really powerful tool protecting people from breaking their
system with binary updates --- if used the right way... :-(

May be I should go ahead and write a RPM Python.SPEC file?  
Would that have a chance to get included into src/Misc?

Regards, Peter
-- 
Peter Funk, Oldenburger Str.86, D-27777 Ganderkesee, Germany, Fax:+49 4222950260
office: +49 421 20419-0 (ArtCom GmbH, Grazer Str.8, D-28359 Bremen)