2.30. bash-5.0

#!/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
    mv ${D}${PREFIX}/bin/bash ${D}/bin/
    ln -s bash ${D}/bin/sh
}

Unit testing

src_check()
{
    chown -R nobody .
    su nobody -s /bin/bash -c "PATH=$PATH HOME=/home make tests"
}

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.

Patches

bash-5.0-upstream_fixes-1.patch

Build code

bash.build
crosstch.sh
tools.sh

Other files

meta.txt
text

Links

url.lfs: https://linuxfromscratch.org/lfs/view/9.1/chapter05/bash.html
url.lfs.stage1: https://linuxfromscratch.org/lfs/view/9.1/chapter06/bash.html