Bashは、Linux系OSでの標準的なシェル、つまりコマンドインタプリタです。 コマンドライン入力された利用者の命令を解析しプログラムを起動することが主な役割です。
最初に、ビルド・インストール前リストを生成します。
/sources/genprevlist.sh > /dev/null 2>&1
ソースファイルを展開します。
cd /sources tar xvf bash-4.3.30.tar.gz cd bash-4.3.30
展開したソースファイルにパッチを適用します。
patch -Np1 < ../bash-4.3.30-upstream_fixes-1.patch
configureを実行します。
./configure \ --prefix=/usr \ --bindir=/bin \ --docdir=/usr/share/doc/bash-4.3.30 \ --without-bash-malloc \ --with-installed-readline > ../../logs/configurelog.bash 2>&1
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../logs/configurelog.bash
テストを行います。
chown -vR nobody . su nobody -s /bin/bash -c "PATH=$PATH make tests" 2>&1 | tee ../../logs/checklog.bash
テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
grep -i -e '^error' -e '^fail' ../../logs/checklog.bash
上記の結果、何も表示されなければ問題ありません。
ソースファイルに付属している文書のインストールを行います。
mkdir -vp /usr/share/doc/bash-4.3.30 cp -va ABOUT-NLS /usr/share/doc/bash-4.3.30 cp -va AUTHORS /usr/share/doc/bash-4.3.30 cp -va CHANGES /usr/share/doc/bash-4.3.30 cp -va COMPAT /usr/share/doc/bash-4.3.30 cp -va COPYING /usr/share/doc/bash-4.3.30 cp -va INSTALL /usr/share/doc/bash-4.3.30 cp -va NEWS /usr/share/doc/bash-4.3.30 cp -va NOTES /usr/share/doc/bash-4.3.30 cp -va POSIX /usr/share/doc/bash-4.3.30 cp -va RBASH /usr/share/doc/bash-4.3.30 cp -va README /usr/share/doc/bash-4.3.30 cp -va Y2K /usr/share/doc/bash-4.3.30 cp -va CWRU/changelog /usr/share/doc/bash-4.3.30 cp -va doc/FAQ /usr/share/doc/bash-4.3.30 cp -va doc/INTRO /usr/share/doc/bash-4.3.30 cp -va doc/*.txt /usr/share/doc/bash-4.3.30 cp -va doc/*.pdf /usr/share/doc/bash-4.3.30 cp -va doc/*.html /usr/share/doc/bash-4.3.30 cp -va doc/*.dvi /usr/share/doc/bash-4.3.30 cp -va doc/*.ps /usr/share/doc/bash-4.3.30
最後に、インストールリストを生成します。
/sources/genpostlist.sh > /dev/null 2>&1 /sources/gendifflist.sh bash
ここで、一度チェンジルート環境から抜け、再度チェンジルートします。 理由は、新たなbashに切り替えるためです。
exit
Fedoraに戻りますので、再度チェンジルートします。
/root/chroot.sh