8.35.1. Installation de Bash
Tout d'abord, corrigez des problèmes identifiés en amont :
patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch
Préparez la compilation de Bash :
./configure --prefix=/usr \
--without-bash-malloc \
--with-installed-readline \
--docdir=/usr/share/doc/bash-5.2.21
Voici la signification de la nouvelle option de
configuration :
-
--with-installed-readline
-
Cette option indique à Bash d'utiliser la bibliothèque
readline
déjà installée sur le
système plutôt que d'utiliser sa propre version de readline.
Compilez le paquet :
make
Passez à la partie « Installez le paquet » si vous n'exécutez
pas la suite de test.
Pour préparer les tests, assurez-vous que l'utilisateur
tester
peut écrire dans
l'arborescence des sources :
chown -R tester .
La suite de tests de ce paquet est conçue pour être lancée en tant
qu'utilisateur non-root
qui possède
le terminal connecté à l'entrée standard. Pour satisfaire ce
prérequis, démarrez un nouveau pseudo-terminal avec Expect et lancez les tests en tant
qu'utilisateur tester
:
su -s /usr/bin/expect tester << "EOF"
set timeout -1
spawn make tests
expect eof
lassign [wait] _ _ _ value
exit $value
EOF
La suite de tests utilise diff pour détecter les
différences entre la sortie des scripts de test et la sortie
attendue. Toute sortie de diff (préfixée par <
et >
) indique un échec du test, à moins
qu'un message disant que la différence est ignorée n'apparaisse. Un
test nommé run-builtins
est connu
pour échouer sur certaines distributions hôtes avec une différence
sur la première ligne de la sortie.
Installez le paquet :
make install
Lancez le programme bash nouvellement compilé (en
remplaçant celui en cours d'exécution) :
exec /usr/bin/bash --login