トップ > 最小システムの構築 > 新システムの作成(後半) >
attr

attrのビルド

attrは、拡張ファイル属性を設定・参照するためのコマンドおよびライブラリ群です。 拡張ファイル属性とは、従来のファイル属性である、

  1. パーミッション
  2. ファイル作成日時
  3. ファイル更新日時

などに加えて、アプリケーションや利用者が自由に属性値を設定できるようにするための仕組みです

  
拡張ファイル属性は、Linux Kernel 2.6からサポートされるようになりました。

ビルド・インストール前リストの生成

最初に、ビルド・インストール前リストを生成します。


/sources/genprevlist.sh > /dev/null 2>&1

ソースファイルの展開

ソースファイルを展開します。


cd /sources
tar xvf attr-2.4.47.src.tar.gz
cd attr-2.4.47

ソースファイルの修正

展開したソースファイルを修正します。


sed -i -e 's,/@pkg_name@,&-@pkg_version@,' include/builddefs.in

configure

configureを実行します。


./configure \
  --prefix=/usr \
  --bindir=/bin > ../../logs/configurelog.attr 2>&1

configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


cat ../../logs/configurelog.attr

ビルド

ビルドを実行します。


make

ビルドが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

テスト

テストを行います。


make -j1 tests 2>&1 | tee ../../logs/checklog.attr

テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


grep 'commands' ../../logs/checklog.attr

以下の結果であれば問題ありません

114 commands (114 passed, 0 failed)

インストール

インストールを行います。


make install

続いて、ヘッダファイルをインストールします。


make install-dev

さらに、ライブラリをインストールします。


make install-lib

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール後の追加作業

インストール後の追加作業を行います。 ライブラリを、本来あるべきディレクトリに移動します。


mv -v /usr/lib/libattr.so.* /lib
ln -vsf ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so

ライブラリを /lib に移動し、/usr/lib からのシンボリックリンクを再生成しています。

ソースファイル付属文書のインストール

ソースファイルに付属している文書のインストールを行います。


mkdir -vp /usr/share/doc/attr-2.4.47
cp -va README           /usr/share/doc/attr-2.4.47
cp -va VERSION          /usr/share/doc/attr-2.4.47
cp -va doc/CHANGES      /usr/share/doc/attr-2.4.47
cp -va doc/COPYING      /usr/share/doc/attr-2.4.47
cp -va doc/COPYING.LGPL /usr/share/doc/attr-2.4.47
cp -va doc/INSTALL      /usr/share/doc/attr-2.4.47
cp -va doc/PORTING      /usr/share/doc/attr-2.4.47

後始末

ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。


cd ..
rm -fr attr-2.4.47

インストールリストの生成

最後に、インストールリストを生成します。


/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh attr

ページの先頭へ
 

まとめ

attrは、拡張ファイル属性を設定・参照するためのコマンドおよびライブラリ群です。

ページの先頭へ