E2fsprogsは、EXT2 / EXT3 / EXT4 ファイルシステムを管理するためのコマンドおよびライブラリ群です。 mkfs.ext2 コマンド、fsck.ext2 コマンド、dumpe2fs コマンドなどが含まれます。
最初に、ビルド・インストール前リストを生成します。
/sources/genprevlist.sh > /dev/null 2>&1
ソースファイルを展開します。
cd /sources tar xvf e2fsprogs-1.42.13.tar.xz cd e2fsprogs-1.42.13
展開したソースファイルを修正します。
sed -i -e '/int.*old_desc_blocks/s/int/blk64_t/' lib/ext2fs/closefs.c sed -i -e '/if (old_desc_blocks/s/super->s_first_meta_bg/desc_blocks/' lib/ext2fs/closefs.c
ビルド用ディレクトリを準備します。
mkdir -vp build cd build
configureを実行します。
LIBS=-L/tools/lib CFLAGS=-I/tools/include PKG_CONFIG_PATH=/tools/lib/pkgconfig ../configure \ --prefix=/usr \ --bindir=/bin \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --disable-fsck \ --with-root-prefix="" > ../../../logs/configurelog.e2fsprogs 2>&1
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../../logs/configurelog.e2fsprogs
テストを行います。
ln -vsf /tools/lib/libblkid.so.1 lib ln -vsf /tools/lib/libuuid.so.1 lib make LD_LIBRARY_PATH=/tools/lib check 2>&1 | tee ../../../logs/checklog.e2fsprogs
テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
grep 'tests succeeded' ../../../logs/checklog.e2fsprogs
以下の結果であれば問題ありません。
153 tests succeeded 0 tests failed
インストールを行います。
make install
続いて、ライブラリのインストールを行います。
make install-libs
インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。
インストール後の追加作業を行います。 ライブラリを書き込み可能に変更します。
chmod -v u+w /usr/lib/libcom_err.a chmod -v u+w /usr/lib/libe2p.a chmod -v u+w /usr/lib/libext2fs.a chmod -v u+w /usr/lib/libss.a
ライブラリを書き込み可能にしているのは、後の作業で不要なシンボルを削除できるようにするためです。
インストールされたinfoページを展開し、更新します。
gunzip -v /usr/share/info/libext2fs.info.gz install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info
ソースファイルに付属している文書のインストールを行います。
cd .. mkdir -vp /usr/share/doc/e2fsprogs-1.42.13 cp -va ABOUT-NLS /usr/share/doc/e2fsprogs-1.42.13 cp -va COPYING /usr/share/doc/e2fsprogs-1.42.13 cp -va INSTALL /usr/share/doc/e2fsprogs-1.42.13 cp -va INSTALL.elfbin /usr/share/doc/e2fsprogs-1.42.13 cp -va README /usr/share/doc/e2fsprogs-1.42.13 cp -va RELEASE-NOTES /usr/share/doc/e2fsprogs-1.42.13 cp -va SUBMITTING-PATCHES /usr/share/doc/e2fsprogs-1.42.13 cp -va e2fsprogs.lsm /usr/share/doc/e2fsprogs-1.42.13 cp -va doc/*.txt /usr/share/doc/e2fsprogs-1.42.13
最後に、インストールリストを生成します。
/sources/genpostlist.sh > /dev/null 2>&1 /sources/gendifflist.sh e2fsprogs