8.17. Expect-5.45.4

O pacote Expect contém ferramentas para automatizar, via diálogos com script, aplicativos interativos, tais como o telnet, ftp, passwd, fsck, rlogin e tip. Expect também é útil para testar esses mesmos aplicativos, bem como para facilitar todos os tipos de tarefas que são proibitivamente difíceis com qualquer outra coisa. A estrutura subjacente da DejaGnu é escrita em Expect.

Tempo aproximado de construção: 0,2 UPC
Espaço em disco exigido: 3,9 MB

8.17.1. Instalação do Expect

Expect precisa de PTYs para funcionar. Verifique se os PTYs estão funcionando corretamente dentro do ambiente chroot realizando um teste simples:

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

Esse comando deveria gerar ok. Se, em vez disso, a saída gerada incluir OSError: out of pty devices, então o ambiente não está configurado para operação adequada de PTY. Você precisa sair do ambiente chroot, ler Seção 7.3, “Preparando Sistemas de Arquivos Virtuais do Núcleo” novamente e garantir que o sistema de arquivos devpts (e outros sistemas de arquivos virtuais do núcleo) foi montado corretamente. Em seguida, entre novamente no ambiente chroot seguindo Seção 7.4, “Entrando no Ambiente Chroot”. Esse problema precisa ser resolvido antes de continuar ou as suítes de teste que exigem o Expect (por exemplo, as suítes de teste do Bash, Binutils, GCC, GDBM e, com certeza, a próprio Expect) falharão catastroficamente e outras falhas sutis possivelmente também aconteçam.

Agora, faça algumas mudanças para permitir o pacote com gcc-14.1 ou posterior:

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

Prepare Expect para compilação:

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

O significado das opções do configure:

--with-tcl=/usr/lib

Esse parâmetro é necessário para dizer ao configure onde o script tclConfig.sh está localizado.

--with-tclinclude=/usr/include

Isso explicitamente diz a Expect onde encontrar os cabeçalhos internos da Tcl.

Construa o pacote:

make

Para testar os resultados, emita:

make test

Instale o pacote:

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

8.17.2. Conteúdo do Expect

Aplicativo instalado: expect
Biblioteca instalada: libexpect5.45.4.so

Descrições Curtas

expect

Comunica-se com outros aplicativos interativos de acordo com um script

libexpect-5.45.4.so

Contém funções que permitem a Expect ser usado como uma extensão da Tcl ou ser usado diretamente a partir de C ou C++ (sem a Tcl)