Les détails sur ce paquet sont disponibles dans Section 10.27.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-3.2-fixes-8.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
glibc
. Ce qui suit empêche des problèmes futurs en sautant les 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.27.2, “Contenu de Bash.”