fc2ブログ

bonnie++をRPM化してインストール

OSはCentOS 5.5 x86_64。

---------------------------------------
1.03eの場合
---------------------------------------

# tar zxf bonnie++-1.03e.tgz
# cd bonnie++-1.03e
# vi bonnie.h.in

#define MinTime (0.5)
の部分を
#define MinTime (0.01)
に変更する。

# vi bonnie.h

#define MinTime (0.5)
の部分を
#define MinTime (0.01)
に変更する。

# vi bonnie++.spec

Copyright: GPL
の部分を
License: GPL
に変更する。

# cd ../
# tar zcf bonnie++-1.03e.tgz bonnie++-1.03e
# rpmbuild -tb bonnie++-1.03e.tgz
# cd /usr/src/redhat/RPMS/x86_64
# rpm -ivh bonnie++-1.03e-1.x86_64.rpm

---------------------------------------
1.96の場合
---------------------------------------

# tar zxf bonnie++-1.96.tgz
# cd bonnie++-1.96
# vi bonnie.h.in

#define MinTime (0.5)
の部分を
#define MinTime (0.01)
に変更する。

# vi bonnie.h

#define MinTime (0.5)
の部分を
#define MinTime (0.01)
に変更する。

# vi bonnie++.spec

Copyright: GPL
の部分を
License: GPL
に変更する。

./configure --prefix=$RPM_BUILD_ROOT%{_prefix} --mandir=3D$RPM_BUILD_ROOT%{_mandir}
の部分を
./configure --prefix=$RPM_BUILD_ROOT%{_prefix} --mandir=$RPM_BUILD_ROOT%{_mandir}
に変更する。

これでrpmbuildすると

Processing files: bonnie++-1.96-1
error: File not found: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2html.1
error: File not found: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2txt.1
error: File not found: /tmp/bonnie++-buildroot/usr/share/man/man8/bonnie++.8
error: File not found: /tmp/bonnie++-buildroot/usr/share/man/man8/zcav.8
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.76640
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd bonnie++-1.96
+ DOCDIR=/tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ export DOCDIR
+ rm -rf /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ /bin/mkdir -p /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ cp -pr changelog.txt readme.html /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ exit 0
Processing files: bonnie++-debuginfo-1.96-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/bonnie++-buildroot
error: Installed (but unpackaged) file(s) found:
/usr/bin/generate_randfile
/usr/sbin/getc_putc
/usr/sbin/getc_putc_helper
/usr/share/man/man1/bon_csv2html.1.gz
/usr/share/man/man1/bon_csv2txt.1.gz
/usr/share/man/man1/generate_randfile.1.gz
/usr/share/man/man8/bonnie++.8.gz
/usr/share/man/man8/getc_putc.8.gz
/usr/share/man/man8/zcav.8.gz


RPM build errors:
File not found: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2html.1
File not found: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2txt.1
File not found: /tmp/bonnie++-buildroot/usr/share/man/man8/bonnie++.8
File not found: /tmp/bonnie++-buildroot/usr/share/man/man8/zcav.8
Installed (but unpackaged) file(s) found:
/usr/bin/generate_randfile
/usr/sbin/getc_putc
/usr/sbin/getc_putc_helper
/usr/share/man/man1/bon_csv2html.1.gz
/usr/share/man/man1/bon_csv2txt.1.gz
/usr/share/man/man1/generate_randfile.1.gz
/usr/share/man/man8/bonnie++.8.gz
/usr/share/man/man8/getc_putc.8.gz
/usr/share/man/man8/zcav.8.gz

とかエラーが出る。日本語エラーメッセージの場合

ファイルの処理中: bonnie++-1.96-1
エラー: ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2html.1
エラー: ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2txt.1
エラー: ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man8/bonnie++.8
エラー: ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man8/zcav.8
実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.92020
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd bonnie++-1.96
+ DOCDIR=/tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ export DOCDIR
+ rm -rf /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ /bin/mkdir -p /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ cp -pr changelog.txt readme.html /tmp/bonnie++-buildroot/usr/share/doc/bonnie++-1.96
+ exit 0
ファイルの処理中: bonnie++-debuginfo-1.96-1
伸張ファイルの検査中: /usr/lib/rpm/check-files /tmp/bonnie++-buildroot
エラー: インストール済み(ただし未伸張)ファイルが見つかりました:
/usr/bin/generate_randfile
/usr/sbin/getc_putc
/usr/sbin/getc_putc_helper
/usr/share/man/man1/bon_csv2html.1.gz
/usr/share/man/man1/bon_csv2txt.1.gz
/usr/share/man/man1/generate_randfile.1.gz
/usr/share/man/man8/bonnie++.8.gz
/usr/share/man/man8/getc_putc.8.gz
/usr/share/man/man8/zcav.8.gz


RPM ビルドエラー:
ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2html.1
ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man1/bon_csv2txt.1
ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man8/bonnie++.8
ファイルが見つかりません: /tmp/bonnie++-buildroot/usr/share/man/man8/zcav.8
インストール済み(ただし未伸張)ファイルが見つかりました:
/usr/bin/generate_randfile
/usr/sbin/getc_putc
/usr/sbin/getc_putc_helper
/usr/share/man/man1/bon_csv2html.1.gz
/usr/share/man/man1/bon_csv2txt.1.gz
/usr/share/man/man1/generate_randfile.1.gz
/usr/share/man/man8/bonnie++.8.gz
/usr/share/man/man8/getc_putc.8.gz
/usr/share/man/man8/zcav.8.gz

ということで、bonnie++.specをさらに編集。

%files
%defattr(-,root,root)
%doc changelog.txt readme.html

の下の部分に追加

%{_prefix}/bin/generate_randfile
%{_prefix}/sbin/getc_putc
%{_prefix}/sbin/getc_putc_helper
%{_mandir}/man1/generate_randfile.1.gz
%{_mandir}/man8/getc_putc.8.gz

そして修正

%{_mandir}/man1/bon_csv2html.1 → %{_mandir}/man1/bon_csv2html.1.gz
%{_mandir}/man1/bon_csv2txt.1 → %{_mandir}/man1/bon_csv2txt.1.gz
%{_mandir}/man8/bonnie++.8 → %{_mandir}/man8/bonnie++.8.gz
%{_mandir}/man8/zcav.8 → %{_mandir}/man8/zcav.8.gz

# cd ../
# tar zcf bonnie++-1.96.tgz bonnie++-1.96
# rpmbuild -tb bonnie++-1.96.tgz
# cd /usr/src/redhat/RPMS/x86_64
# rpm -ivh bonnie++-1.96-1.x86_64.rpm

Template Designed by DW99