Bash は Bourne-Again SHell を提供します。
アップストリームのパッチを適用します。
patch -Np1 -i ../bash-4.4-upstream_fixes-1.patch
Bash をコンパイルするための準備をします。
./configure --prefix=/usr \ --docdir=/usr/share/doc/bash-4.4 \ --without-bash-malloc \ --with-installed-readline
configure オプションの意味:
--with-installed-readline
このオプションは Bash が持つ独自の readline
ライブラリではなく、既にインストールした readline
ライブラリを用いることを指示します。
パッケージをコンパイルします。
make
テストスィートを実行しない場合は「パッケージをインストールします。」と書かれた箇所まで読み飛ばしてください。
テストを実施するにあたっては nobody
ユーザーによるソースツリーへの書き込みを可能とします。
chown -Rv nobody .
nobody
ユーザーでテストを実行します。
su nobody -s /bin/bash -c "PATH=$PATH make tests"
パッケージをインストールします。 そして実行モジュールを /bin
へ移動します。
make install mv -vf /usr/bin/bash /bin
新たにコンパイルした bash プログラムを実行します。(この時点までに実行されていたものが置き換えられます。)
exec /bin/bash --login +h
ここで指定しているパラメーターは対話形式のログインシェルとして、またハッシュ機能を無効にして bash プロセスを起動します。 これにより新たに構築するプログラム類は構築後すぐに利用できることになります。