3.33. bash-5.1.16
#!/bin/sh # Copyright © 1999-2022 Gerard Beekmans # Copyright © 2017-2022 Random Crew # Distributed under the terms of MIT License.
Configuration
src_config()
{
./configure \
--prefix=${PREFIX} \
--docdir=${PREFIX}/share/doc/${P} \
--without-bash-malloc \
--with-installed-readline
}
Compilation
src_compile()
{
make ${MAKEOPTS}
}
Installation
src_install()
{
make install ${MAKEOPTS} DESTDIR=${D}
mkdir -p ${D}/bin
ln -s bash ${D}/bin/sh
ln -s ..${PREFIX}/bin/bash ${D}/bin/bash
}
Unit testing
src_check()
{
chown -R tester .
su -s ${PREFIX}/bin/expect tester << EOF
set timeout -1
spawn make tests
expect eof
lassign [wait] _ _ _ value
exit $value
EOF
}
Final notes
The string from original LFS is not executed in the build:
exec /bin/bash --login +h
Instead we stop build session at this package and manually start new process for further packages. When new process starts, it relogins to chroot with desired effect. The option +h is set up in inner engine files for lfs buildage.
Build code
Other files
Links
- url.lfs: https://linuxfromscratch.org/lfs/view/11.2/chapter08/bash.html
- url.lfs.stage1: https://linuxfromscratch.org/lfs/view/11.2/chapter06/bash.html