From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.2-sysv/chapter08/expect.html | 260 ++++++++++++++++++++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 lfs-12.2-sysv/chapter08/expect.html (limited to 'lfs-12.2-sysv/chapter08/expect.html') diff --git a/lfs-12.2-sysv/chapter08/expect.html b/lfs-12.2-sysv/chapter08/expect.html new file mode 100644 index 0000000..5c02507 --- /dev/null +++ b/lfs-12.2-sysv/chapter08/expect.html @@ -0,0 +1,260 @@ + + + + + + 8.17. Expect-5.45.4 + + + + + + + + +

+ 8.17. + Expect-5.45.4 +

+
+
+

+ Пакет Expect содержит инструменты + для автоматизации работы интерактивных приложений, таких как + telnet, ftp, passwd, fsck, rlogin и tip, с помощью скриптовых + диалогов и макросов. Кроме того Expect полезен для тестирования перечисленных + выше приложений, а также для решения сложных задач взаимодействия с + другими средствами. Фреймворк DejaGnu написан на языке Expect. +

+
+
+
+ Приблизительное время сборки: + 0.2 SBU +
+
+ Требуемое дисковое + пространство: 3.9 MB +
+
+
+
+
+

+ 8.17.1. Установка пакета Expect +

+

+ Expect для работы необходим псевдотерминал(PTY). Убедитесь, что PTY + работают правильно в среде chroot, выполнив простой тест: +

+
python3 -c 'from pty import spawn; spawn(["echo", "ok"])'
+

+ Эта команда должна вывести ok. + Если вместо этого вывод содержит OSError: out of pty devices, то среда не + настроена для правильной работы PTY. Вам необходимо выйти из среды + chroot, ещё раз прочитать Раздел 7.3, + «Подготовка виртуальных файловых систем ядра» и убедиться, что + файловая система devpts (и другие + файловые системы виртуального ядра) смонтирована правильно. Затем + повторно войдите в среду chroot, следуя инструкции Раздел 7.4, «Вход в окружение + Chroot». Эту проблему необходимо решить, прежде чем вы + продолжите, иначе наборы тестов, зависимые от Expect (например, + наборы тестов Bash, Binutils, GCC, GDBM и, конечно, самого Expect), + потерпят фатальный сбой, а также могут произойти другие + незначительные сбои. +

+

+ Теперь внесите некоторые изменения, чтобы разрешить использование + пакета с gcc-14.1 или более поздней версией: +

+
patch -Np1 -i ../expect-5.45.4-gcc14-1.patch
+

+ Подготовьте Expect к компиляции: +

+
./configure --prefix=/usr           \
+            --with-tcl=/usr/lib     \
+            --enable-shared         \
+            --disable-rpath         \
+            --mandir=/usr/share/man \
+            --with-tclinclude=/usr/include
+
+

+ Значение параметров настройки: +

+
+
+ --with-tcl=/usr/lib +
+
+

+ Этот параметр необходим для указания configure где находится + скрипт tclConfig.sh. +

+
+
+ --with-tclinclude=/usr/include +
+
+

+ Этот параметр явно указывает Expect, где искать внутренние + заголовки Tcl. +

+
+
+
+

+ Соберите пакет: +

+
make
+

+ Чтобы протестировать пакет, выполните: +

+
make test
+

+ Установите пакет: +

+
make install
+ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib
+
+
+

+ 8.17.2. + Содержимое пакета Expect +

+
+
+
+ Установленные программы: + expect +
+
+ Установленные библиотеки: + libexpect5.45.4.so +
+
+
+
+

+ Краткое описание +

+ + + + + + + + + + + + + + + +
+

+ expect +

+
+

+ Взаимодействует с другими интерактивными программами в + соответствии со сценарием +

+
+

+ libexpect-5.45.4.so +

+
+

+ Содержит функции, которые позволяют использовать Expect в + качестве расширения Tcl или непосредственно из C или C++ + (без Tcl). +

+
+
+
+
+ + + -- cgit v1.2.3