Bash は Bourne-Again SHell を提供します。
Bash をコンパイルするための準備をします。
./configure --prefix=/usr \ --docdir=/usr/share/doc/bash-5.1.8 \ --without-bash-malloc \ --with-installed-readline
configure オプションの意味
--with-installed-readline
このオプションは Bash が持つ独自の readline
ライブラリではなく、既にインストールした readline
ライブラリを用いることを指示します。
パッケージをコンパイルします。
make
テストスィートを実行しない場合は「パッケージをインストールします。」と書かれた箇所まで読み飛ばしてください。
テストを実施するにあたっては tester
ユーザーによるソースツリーへの書き込みを可能とします。
chown -Rv tester .
本パッケージのテストスイートは、非ルートユーザーが実行するものとされていて、利用する端末が標準入力に接続できているものとしています。
この仕様を満たすためには、Expect
を使って新たな疑似端末を起動します。 そして tester
ユーザーとしてテストを実行します。
su -s /usr/bin/expect tester << EOF set timeout -1 spawn make tests expect eof lassign [wait] _ _ _ value exit $value EOF
パッケージをインストールします。
make install
新たにコンパイルした bash プログラムを実行します。(この時点までに実行されていたものが置き換えられます。)
exec /bin/bash --login +h
ここで指定しているパラメーターは対話形式のログインシェルとして、またハッシュ機能を無効にして bash プロセスを起動します。 これにより新たに構築するプログラム類は構築後すぐに利用できることになります。