8.36.1. Установка пакета Bash
Во-первых, исправьте некоторые проблемы, выявленные разработчиками:
patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch
Подготовьте Bash к компиляции:
./configure --prefix=/usr \
--without-bash-malloc \
--with-installed-readline \
--docdir=/usr/share/doc/bash-5.2.21
Значение нового параметра настройки:
-
--with-installed-readline
-
Этот параметр указывает Bash использовать библиотеку
readline
, которая уже
установлена в системе, а не собственную версию readline.
Скомпилируйте пакет:
make
Перейдите к разделу «Установка пакета», если не планируете
запускать тесты.
Перед запуском тестов, убедитесь, что пользователь tester
может писать в каталог с исходниками:
chown -R tester .
Набор тестов пакета предназначен для запуска пользователем без
полномочий root, которому принадлежит терминал, подключенный к
стандартному вводу. Чтобы удовлетворить это требование, создайте
новый псевдотерминал с помощью Expect и запустите тесты от имени пользователя
tester
:
su -s /usr/bin/expect tester << "EOF"
set timeout -1
spawn make tests
expect eof
lassign [wait] _ _ _ value
exit $value
EOF
Набор тестов использует diff для определения разницы
между выводом тестового сценария и ожидаемым результатом. Любой
вывод diff (с
префиксом <
и >
) указывает на сбой теста, если нет
сообщение о том, что различия можно проигнорировать. Известно, что
один тест с именем run-builtins
не
работает на некоторых хост-дистрибутивах, указывая на различия в
первой строке выходных данных.
Установите пакет:
make install
Запустите только что скомпилированную программу bash (заменив ту, которая
выполняется в данный момент):
exec /usr/bin/bash --login