Les détails sur ce paquet sont disponibles dans Section 10.34.2, « Contenu de Bash. »
Le paquet Bash contient le shell Bourne-Again.
Le correctif suivant contient des mises à jour issues du mainteneur. Le mainteneur de Bash ne fait ces correctifs que pour corriger des problèmes sérieux :
patch -Np1 -i ../bash-4.2-branch_update-7.patch
Quand Bash est compilé de manière croisée, il ne peut notamment pas
tester la présence de pipes (tubes) nommés. Si vous avez utilisé
su pour devenir
utilisateur non privilégié, cette combinaison aura pour conséquence
que Bash se construira sans substitution
de processus, ce qui va casser un des scripts de test
de C++ dans eglibc
. Ce qui suit
empêche des problèmes futurs en sautant la vérification des tubes
nommés et d'autres tests qui ne peuvent pas s'exécuter lors d'une
compilation croisée ou qui ne s'exécutent pas correctement :
cat > config.cache << "EOF" ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_strcoll_works=yes ac_cv_func_working_mktime=yes bash_cv_func_sigsetjmp=present bash_cv_getcwd_malloc=yes bash_cv_job_control_missing=present bash_cv_printf_a_format=yes bash_cv_sys_named_pipes=present bash_cv_ulimit_maxfds=yes bash_cv_under_sys_siglist=yes bash_cv_unusable_rtsigs=no gt_cv_int_divbyzero_sigfpe=yes EOF
Préparez la compilation de Bash :
CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \ ./configure --prefix=/tools \ --build=${CLFS_HOST} --host=${CLFS_TARGET} \ --without-bash-malloc --cache-file=config.cache
Voici la signification de l'option de configure :
--without-bash-malloc
Cette option désactive l'utilisation de la fonction d'allocation de mémoire de Bash (malloc) qui est connue pour provoquer des erreurs de segmentation. En désactivant cette option, Bash utilisera les fonctions malloc de Glibc qui sont plus stables.
Compilez le paquet :
make
Installez le paquet :
make install
Créez un lien pour les programmes qui utilisent sh comme shell :
ln -sv bash /tools/bin/sh
Les détails sur ce paquet sont disponibles dans Section 10.34.2, « Contenu de Bash. »