Updated Tcl and Tk to 8.4.13; Also modified the build commands to not use any user-created environment variables

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5972 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Randy McMurchy 2006-04-29 14:17:21 +00:00
parent 83655c7e88
commit 36f2c9e47b
4 changed files with 72 additions and 118 deletions

View File

@ -183,8 +183,8 @@
<!ENTITY Python-version "2.4.2">
<!ENTITY pyxml-version "0.8.4">
<!ENTITY ruby-version "1.8.4">
<!ENTITY tcl-version "8.4.12">
<!ENTITY tk-version "8.4.12">
<!ENTITY tcl-version "8.4.13">
<!ENTITY tk-version "8.4.13">
<!-- Perl module versions used in the Perl Modules instructions -->
<!ENTITY Algorithm-Diff-version "1.1901">

View File

@ -6,11 +6,14 @@
<!ENTITY tcl-download-http "http://prdownloads.sourceforge.net/tcl/tcl&tcl-version;-src.tar.gz">
<!ENTITY tcl-download-ftp " ">
<!-- <!ENTITY tcl-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tcl&tcl-version;-src.tar.gz"> -->
<!ENTITY tcl-md5sum "7480432d8730263f267952788eb4839b">
<!-- <!ENTITY tcl-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tcl&tcl-version;-src.tar.gz"> -->
<!ENTITY tcl-md5sum "c6b655ad5db095ee73227113220c0523">
<!ENTITY tcl-size "3.5 MB">
<!ENTITY tcl-buildsize "24.5 MB">
<!ENTITY tcl-time "0.3 SBU (additional 0.4 SBU to run the test suite)">
<!ENTITY tcl-buildsize "24.6 MB">
<!ENTITY tcl-time "0.3 SBU (additional 0.8 SBU to run the test suite)">
<!-- Ensure this is updated when Tcl moves to the 8.5.x branch -->
<!ENTITY tcl-ver "8.4">
<!-- Ensure the above is updated when Tcl moves to the 8.5.x branch -->
]>
<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
@ -76,45 +79,26 @@
<para>Install <application>Tcl</application> by running the following
commands:</para>
<screen><userinput>export VERSION=&tcl-version; &amp;&amp;
export V=`echo $VERSION | cut -d "." -f 1,2` &amp;&amp;
export DIR=$PWD &amp;&amp;
cd unix &amp;&amp;
sed -i "s/relid'/relid/" configure &amp;&amp;
<screen><userinput>cd unix &amp;&amp;
./configure --prefix=/usr --enable-threads &amp;&amp;
make &amp;&amp;
sed -i -e "s:${DIR}/unix:/usr/lib:" \
-e "s:${DIR}:/usr/include/tcl${V}:" \
-e "s:^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so':\
TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\":" tclConfig.sh</userinput></screen>
sed -i -e "s:${PWD}:/usr/lib:" \
-e "s:$(dirname ${PWD}):/usr/include/tcl&tcl-ver;:" \
-e "/TCL_LIB_FILE/ s:':\":g" \
tclConfig.sh</userinput></screen>
<para>To test the results, issue: <command>make test</command>.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<caution>
<para>If you become the <systemitem class="username">root</systemitem>
user in a manner that doesn't preserve the unprivileged user's
environment, ensure you correctly set the environment variable
<envar>V</envar> again before running the installation commands.</para>
</caution>
<screen role="root"><userinput>make install &amp;&amp;
install -v -d /usr/include/tcl${V}/unix &amp;&amp;
install -v -m644 *.h /usr/include/tcl${V}/unix/ &amp;&amp;
install -v -d /usr/include/tcl${V}/generic &amp;&amp;
install -v -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &amp;&amp;
rm -v -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &amp;&amp;
ln -v -nsf ../../include/tcl${V} /usr/lib/tcl${V}/include &amp;&amp;
ln -v -sf libtcl${V}.so /usr/lib/libtcl.so &amp;&amp;
ln -v -sf tclsh${V} /usr/bin/tclsh</userinput></screen>
<para>Clean up the unprivileged user's environment using the following
commands:</para>
<screen><userinput>unset VERSION &amp;&amp;
unset V &amp;&amp;
unset DIR</userinput></screen>
install -v -d /usr/include/tcl&tcl-ver;/{unix,generic} &amp;&amp;
install -v -m644 *.h /usr/include/tcl&tcl-ver;/unix/ &amp;&amp;
install -v -m644 ../generic/*.h /usr/include/tcl&tcl-ver;/generic/ &amp;&amp;
rm -v -f /usr/include/tcl&tcl-ver;/generic/tcl{,{,Plat}Decls}.h &amp;&amp;
ln -v -nsf ../../include/tcl&tcl-ver; /usr/lib/tcl&tcl-ver;/include &amp;&amp;
ln -v -sf libtcl&tcl-ver;.so /usr/lib/libtcl.so &amp;&amp;
ln -v -sf tclsh&tcl-ver; /usr/bin/tclsh</userinput></screen>
</sect2>
@ -124,15 +108,11 @@ unset DIR</userinput></screen>
<para><parameter>--enable-threads</parameter>: This switch forces the package
to build with thread support.</para>
<para><command>sed -i "s/relid'/relid/" configure</command>: This command
fixes a syntax error in the <command>configure</command> script.</para>
<para><command>sed -i -e ... tclConfig.sh</command>: The
<application>Tcl</application> package assumes that the source used to build
<application>Tcl</application> is always kept around for compiling packages
that depend on <application>Tcl</application>. This <command>sed</command>
removes the references to the build directory and replaces them with saner
system-wide locations.</para>
<application>Tcl</application> package expects that its source tree is
preserved so that packages depending on it for their compilation
can utilize it. This <command>sed</command> removes the references to the
build directory and replaces them with saner system-wide locations.</para>
<para><command>install ...</command>: These commands install the internal
headers into a system-wide location.</para>
@ -151,9 +131,9 @@ unset DIR</userinput></screen>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>tclsh and tclsh8.4</seg>
<seg>libtcl.so and libtclstub8.4.a</seg>
<seg>/usr/include/tcl8.4 and /usr/lib/tcl8.4</seg>
<seg>tclsh and tclsh&tcl-ver;</seg>
<seg>libtcl.so and libtclstub&tcl-ver;.a</seg>
<seg>/usr/include/tcl&tcl-ver; and /usr/lib/tcl&tcl-ver;</seg>
</seglistitem>
</segmentedlist>
@ -165,7 +145,7 @@ unset DIR</userinput></screen>
<varlistentry id="tclsh">
<term><command>tclsh</command></term>
<listitem>
<para> is a symlink to the <command>tclsh8.4</command>
<para> is a symlink to the <command>tclsh&tcl-ver;</command>
program.</para>
<indexterm zone="tcl tclsh">
<primary sortas="g-tclsh">tclsh</primary>
@ -173,13 +153,13 @@ unset DIR</userinput></screen>
</listitem>
</varlistentry>
<varlistentry id="tclsh8.4">
<term><command>tclsh8.4</command></term>
<varlistentry id="tclsh-eight">
<term><command>tclsh&tcl-ver;</command></term>
<listitem>
<para> is a simple shell containing the
<application>Tcl</application> interpreter.</para>
<indexterm zone="tcl tclsh8.4">
<primary sortas="b-tclsh8.4">tclsh8.4</primary>
<indexterm zone="tcl tclsh-eight">
<primary sortas="b-tclsh&tcl-ver;">tclsh&tcl-ver;</primary>
</indexterm>
</listitem>
</varlistentry>

View File

@ -4,25 +4,16 @@
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Inserted as a reminder to do this. The mention of a test suite
is usually right before the root user installation commands. Please
delete these 12 (including one blank) lines after you are done.-->
<!-- Use one of the two mentions below about a test suite,
delete the line that is not applicable. Of course, if the
test suite uses syntax other than "make check", revise the
line to reflect the actual syntax to run the test suite -->
<!-- <para>This package does not come with a test suite.</para> -->
<!-- <para>To test the results, issue: <command>make check</command>.</para> -->
<!ENTITY tk-download-http "http://prdownloads.sourceforge.net/tcl/tk&tk-version;-src.tar.gz">
<!ENTITY tk-download-ftp " ">
<!-- <!ENTITY tk-download-ftp "ftp://ftp.us.xemacs.org/pub/tcl/tcl8_4/tk&tk-version;-src.tar.gz"> -->
<!ENTITY tk-md5sum "316491cb82d898b434842353aed1f0d6">
<!ENTITY tk-md5sum "0a16d4d9398e43cbb85784c85fb807a4">
<!ENTITY tk-size "3.2 MB">
<!ENTITY tk-buildsize "23.5 MB">
<!ENTITY tk-buildsize "23.3 MB">
<!ENTITY tk-time "0.4 SBU">
<!-- Ensure this is updated when Tk moves to the 8.5.x branch -->
<!ENTITY tk-ver "8.4">
<!-- Ensure the above is updated when Tk moves to the 8.5.x branch -->
]>
<sect1 id="tk" xreflabel="Tk-&tk-version;">
@ -88,64 +79,42 @@
<para>Install <application>Tk</application> by running the following
commands:</para>
<screen><userinput>export VERSION=&tk-version; &amp;&amp;
export V=`echo $VERSION | cut -d "." -f 1,2` &amp;&amp;
export DIR=$PWD &amp;&amp;
cd unix &amp;&amp;
sed -i "s/relid'/relid/" configure &amp;&amp;
<screen><userinput>cd unix &amp;&amp;
./configure --prefix=/usr --enable-threads &amp;&amp;
make &amp;&amp;
sed -i -e "s:${DIR}/unix:/usr/lib:" \
-e "s:${DIR}:/usr/include/tk${V}:" tkConfig.sh</userinput></screen>
sed -i -e "s:${PWD}:/usr/lib:" \
-e "s:$(dirname ${PWD}):/usr/include/tk&tk-ver;:" \
tkConfig.sh</userinput></screen>
<para>The test is not recommended. Some tests may crash your X Server. To
test the results, issue: <command>make test</command>. Ensure you run it
from an X Window display device with the GLX extensions loaded, else the
tests will hang.</para>
<para>Running the tests is not recommended. Some tests may crash your X
Server. To test the results anyway, issue: <command>make test</command>.
Ensure you run it from an X Window display device with the GLX extensions
loaded, else the tests will hang.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<caution>
<para>If you become the <systemitem class="username">root</systemitem>
user in a manner that doesn't preserve the unprivileged user's
environment, ensure you correctly set the environment variable
<envar>V</envar> again before running the installation commands.</para>
</caution>
<screen role="root"><userinput>make install &amp;&amp;
install -v -d /usr/include/tk${V}/unix &amp;&amp;
install -v -m644 *.h /usr/include/tk${V}/unix/ &amp;&amp;
install -v -d /usr/include/tk${V}/generic &amp;&amp;
install -v -m644 ../generic/*.h /usr/include/tk${V}/generic/ &amp;&amp;
rm -v -f /usr/include/tk${V}/generic/{tk,tkDecls,tkPlatDecls}.h &amp;&amp;
ln -v -nsf ../../include/tk${V} /usr/lib/tk${V}/include &amp;&amp;
ln -v -sf libtk${V}.so /usr/lib/libtk.so &amp;&amp;
ln -v -sf wish${V} /usr/bin/wish</userinput></screen>
<para>Clean up the unprivileged user's environment using the following
commands:</para>
<screen><userinput>unset VERSION &amp;&amp;
unset V &amp;&amp;
unset DIR</userinput></screen>
install -v -m755 -d /usr/include/tk&tk-ver;/{unix,generic} &amp;&amp;
install -v -m644 *.h /usr/include/tk&tk-ver;/unix/ &amp;&amp;
install -v -m644 ../generic/*.h /usr/include/tk&tk-ver;/generic/ &amp;&amp;
rm -v -f /usr/include/tk&tk-ver;/generic/tk{,{,Plat}Decls}.h &amp;&amp;
ln -v -nsf ../../include/tk&tk-ver; /usr/lib/tk&tk-ver;/include &amp;&amp;
ln -v -sf libtk&tk-ver;.so /usr/lib/libtk.so &amp;&amp;
ln -v -sf wish&tk-ver; /usr/bin/wish</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><parameter>--enable-threads</parameter>: This switch forces the package
to build with thread support.</para>
<para><command>sed -i "s/relid'/relid/" configure</command>: This command
fixes a syntax error in the <command>configure</command> script.</para>
<para><parameter>--enable-threads</parameter>: This switch forces the
package to build with thread support.</para>
<para><command>sed -i -e ... tkConfig.sh</command>: The
<application>Tk</application> package assumes that the source used to build
<application>Tk</application> is always kept around for compiling packages
that depend on <application>Tk</application>. This <command>sed</command>
removes the references to the build directory and replaces them with saner
system-wide locations.</para>
<application>Tk</application> package expects that its source tree is
preserved so that packages depending on it for their compilation
can utilize it. This <command>sed</command> removes the references to the
build directory and replaces them with saner system-wide locations.</para>
<para><command>install ...</command>: These commands install the internal
headers into a system-wide location.</para>
@ -164,9 +133,9 @@ unset DIR</userinput></screen>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>wish and wish8.4</seg>
<seg>libtk.so and libtkstub8.4.a</seg>
<seg>/usr/include/tk8.4 and /usr/lib/tk8.4</seg>
<seg>wish and wish&tk-ver;</seg>
<seg>libtk.so and libtkstub&tk-ver;.a</seg>
<seg>/usr/include/tk&tk-ver; and /usr/lib/tk&tk-ver;</seg>
</seglistitem>
</segmentedlist>
@ -178,21 +147,22 @@ unset DIR</userinput></screen>
<varlistentry id="wish">
<term><command>wish</command></term>
<listitem>
<para> is a symlink to the <command>wish8.4</command> program.</para>
<para> is a symlink to the <command>wish&tk-ver;</command>
program.</para>
<indexterm zone="tk wish">
<primary sortas="g-wish">wish</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="wish8.4">
<term><command>wish8.4</command></term>
<varlistentry id="wish-eight">
<term><command>wish&tk-ver;</command></term>
<listitem>
<para> is a simple shell containing the
<application>Tk</application> toolkit that creates a main window and
then processes <application>Tcl</application> commands.</para>
<indexterm zone="tk wish8.4">
<primary sortas="b-wish8.4">wish8.4</primary>
<indexterm zone="tk wish-eight">
<primary sortas="b-wish&tk-ver;">wish&tk-ver;</primary>
</indexterm>
</listitem>
</varlistentry>

View File

@ -44,6 +44,10 @@
<listitem>
<para>April 29th, 2006</para>
<itemizedlist>
<listitem>
<para>[randy] - Updated Tcl and Tk to 8.4.13. Also modified the build
commands to not use any user-created environment variables.</para>
</listitem>
<listitem>
<para>[bdubbs] - Changed openssh libexecdir to /usr/lib/openssh.</para>
</listitem>