Findutils パッケージはファイル検索を行うプログラムを提供します。 このプログラムはディレクトリツリーを再帰的に検索したり、データベースの生成、保守、検索を行います。 (データベースによる検索は再帰的検索に比べて処理速度は速いものですが、データベースが最新のものに更新されていない場合は信頼できない結果となります。)
特定のマシンにおいて特定のテストが無限ループに陥るため、そのテストを省略します。
sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in
glibc-2.28 以降に対して必要となる修正を行います。
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h
Findutils をコンパイルするための準備をします。
./configure --prefix=/usr --localstatedir=/var/lib/locate
configure オプションの意味:
--localstatedir
locate
データベースの場所を FHS コンプライアンスに準拠するディレクトリ /var/lib/locate
に変更します。
パッケージをコンパイルします。
make
コンパイル結果をテストするなら以下を実行します。
make check
パッケージをインストールします。
make install
BLFS 以降のパッケージの中には find プログラムが /bin
ディレクトリに存在していることが必要なものもあります。
このためそのプログラムを移動させます。
mv -v /usr/bin/find /bin sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb