2022-06-09 21:47:55 +03:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
|
%general-entities;
|
2024-03-05 21:17:39 +03:00
|
|
|
|
<!ENTITY tdbc-ver "1.1.7">
|
|
|
|
|
<!ENTITY itcl-ver "4.2.4">
|
2022-06-09 21:47:55 +03:00
|
|
|
|
]>
|
|
|
|
|
|
|
|
|
|
<sect1 id="ch-system-tcl" role="wrap">
|
|
|
|
|
<?dbhtml filename="tcl.html"?>
|
|
|
|
|
|
|
|
|
|
<sect1info condition="script">
|
|
|
|
|
<productname>tcl</productname>
|
|
|
|
|
<productnumber>&tcl-version;</productnumber>
|
|
|
|
|
<address>&tcl-url;</address>
|
|
|
|
|
</sect1info>
|
|
|
|
|
|
|
|
|
|
<title>Tcl-&tcl-version;</title>
|
|
|
|
|
|
|
|
|
|
<indexterm zone="ch-system-tcl">
|
|
|
|
|
<primary sortas="a-Tcl">Tcl</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
|
|
<sect2 role="package">
|
|
|
|
|
<title/>
|
|
|
|
|
|
|
|
|
|
<para>Пакет <application>Tcl</application> содержит Tool Command Language,
|
|
|
|
|
надежный скриптовый язык общего назначения. Пакет <application>Expect</application>
|
2023-07-14 20:39:51 +03:00
|
|
|
|
написан на языке <application>Tcl</application> (произносится как "тикл").</para>
|
2022-06-09 21:47:55 +03:00
|
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
|
<segtitle>&buildtime;</segtitle>
|
|
|
|
|
<segtitle>&diskspace;</segtitle>
|
|
|
|
|
|
|
|
|
|
<seglistitem>
|
|
|
|
|
<seg>&tcl-tmp-sbu;</seg>
|
|
|
|
|
<seg>&tcl-tmp-du;</seg>
|
|
|
|
|
</seglistitem>
|
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
|
|
<title>Установка пакета Tcl</title>
|
|
|
|
|
|
|
|
|
|
<para>Этот пакет и следующие два (Expect и DejaGNU) устанавливаются для поддержки
|
2023-07-14 20:39:51 +03:00
|
|
|
|
возможности тестирования Binutils, GCC и других пакетов. Установка трех пакетов
|
|
|
|
|
для целей тестирования может показаться избыточной, но вы будете чувствовать себя
|
|
|
|
|
увереннее, когда знаете, что наиболее важные инструменты работают правильно.</para>
|
2022-06-09 21:47:55 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para>Подготовьте Tcl к компиляции:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="configure">SRCDIR=$(pwd)
|
|
|
|
|
cd unix
|
|
|
|
|
./configure --prefix=/usr \
|
|
|
|
|
--mandir=/usr/share/man</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Соберите пакет:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="make">make
|
|
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix|/usr/lib|" \
|
|
|
|
|
-e "s|$SRCDIR|/usr/include|" \
|
|
|
|
|
-i tclConfig.sh
|
|
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
|
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
|
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
|
|
|
|
|
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
|
|
|
|
|
-i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
|
|
|
|
|
|
|
|
|
|
sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
|
|
|
|
|
-e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
|
|
|
|
|
-e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
|
|
|
|
|
-i pkgs/itcl&itcl-ver;/itclConfig.sh
|
|
|
|
|
|
|
|
|
|
unset SRCDIR</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Различные инструкции <quote>sed</quote> после команды
|
|
|
|
|
<quote>make</quote> удаляют ссылки на каталог сборки из файлов конфигурации и заменяют
|
2023-07-14 20:39:51 +03:00
|
|
|
|
их на созданные каталоги. Это необязательно для остальной части LFS, но может
|
|
|
|
|
понадобиться в случае, когда пакет, собранный позже, использует Tcl.</para>
|
2022-06-09 21:47:55 +03:00
|
|
|
|
|
|
|
|
|
<para>Чтобы протестировать пакет, выполните:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="test">make test</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Установите пакет:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="install">make install</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Сделайте установленную библиотеку доступной для записи, чтобы позже можно было
|
|
|
|
|
удалить отладочные символы:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>>Установите заголовочные файлы Tcl. Они потребуются для следующего пакета - Expect.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="install">make install-private-headers</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Теперь создайте необходимую символическую ссылку:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Переименуйте справочную страницу, которая конфликтует со справочной страницей Perl:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
|
|
|
|
|
|
2023-07-14 20:39:51 +03:00
|
|
|
|
<para>При необходимости установите документацию, выполнив следующие команды:</para>
|
2022-06-09 21:47:55 +03:00
|
|
|
|
|
2023-07-14 20:39:51 +03:00
|
|
|
|
<screen><userinput remap="install">cd ..
|
|
|
|
|
tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1
|
|
|
|
|
mkdir -v -p /usr/share/doc/tcl-&tcl-version;
|
|
|
|
|
cp -v -r ./html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
|
2022-06-09 21:47:55 +03:00
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
<sect2 id="contents-tcl" role="content">
|
|
|
|
|
<title>Содержимое пакета Tcl</title>
|
|
|
|
|
|
|
|
|
|
<segmentedlist>
|
|
|
|
|
<segtitle>Установленные программы</segtitle>
|
|
|
|
|
<segtitle>Установленные библиотеки</segtitle>
|
|
|
|
|
|
|
|
|
|
<seglistitem>
|
|
|
|
|
<seg>
|
|
|
|
|
tclsh (ссылка на tclsh&tcl-major-version;) и
|
|
|
|
|
tclsh&tcl-major-version;
|
|
|
|
|
</seg>
|
|
|
|
|
<seg>
|
|
|
|
|
libtcl&tcl-major-version;.so и
|
|
|
|
|
libtclstub&tcl-major-version;.a
|
|
|
|
|
</seg>
|
|
|
|
|
</seglistitem>
|
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
<bridgehead renderas="sect3">Краткое описание</bridgehead>
|
|
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
|
|
|
|
|
<varlistentry id="tclsh&tcl-major-version;">
|
|
|
|
|
<term><command>tclsh&tcl-major-version;</command></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Командная оболочка Tcl</para>
|
|
|
|
|
<indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
|
|
|
|
|
<primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry id="tclsh">
|
|
|
|
|
<term><command>tclsh</command></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Ссылка на tclsh&tcl-major-version;</para>
|
|
|
|
|
<indexterm zone="ch-system-tcl tclsh">
|
|
|
|
|
<primary sortas="b-tclsh">tclsh</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry id="libtcl&tcl-major-version;.so">
|
|
|
|
|
<term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Библиотека Tcl</para>
|
|
|
|
|
<indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
|
|
|
|
|
<primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry id="libtclstub&tcl-major-version;.a">
|
|
|
|
|
<term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Библиотека-заглушка Tcl</para>
|
|
|
|
|
<indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
|
|
|
|
|
<primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
</sect1>
|