2008/03/06

CentOS用bonnie++のRPMを準備する

Bonnie++は、ファイルシステムの性能を測定するベンチマークプログラム。最新版は、SourceForge内のBonnie++プロジェクトのページから入手できる。Bonnie++のRPMはCentOS公式のものはないので、自前でRPMを作成する。

RPMをビルドするためには、RPMをビルドする場所(環境)が必要だが、それに関しては、『RHL9用のbind-9.2.8.*.rpmを作る』を参照して欲しい。

材料を準備する。材料は、最新版のtarボールとspecファイルだ。Tarボールは、SourceForgeのプロジェクトページからダウンロードして%{_topdir}/RPM/SOURCESに置く。現時点での最新版は、1.93c。
Specファイル%{_topdir}/RPM/SPECS/bonnie++.specは以下の通り。
Summary: A program for benchmarking hard drives and filesystems
Name: bonnie++
Version: 1.93c
Release: 2
License: GPL
Group: Utilities/Benchmarking
URL: http://www.coker.com.au/bonnie++
Source: http://www.coker.com.au/bonnie++/experimental/bonnie++-%{version}.tgz
BuildRoot: /tmp/%{name}-buildroot
Prefixes: %{_prefix} %{_datadir}
Requires: glibc >= 2.1
Requires: perl >= 5.0
BuildRequires: glibc-devel >= 2.1

%description
Bonnie++ is a benchmark suite that is aimed at performing a number of simple
tests of hard drive and file system performance.

%prep
%setup -n %{name}-%{version}

%{__perl} -pi.orig -e '
s/^#define MinTime \(.*\)/#define MinTime (0.01)/;
' bonnie.h.in

%{__perl} -pi.orig -e '
s|\$\(eprefix\)/sbin|\$(sbindir)|;
s|\$\(eprefix\)/bin|\$(bindir)|;
s|\@mandir\@|\$(mandir)|;
' Makefile.in

%build
%configure \
--disable-schemas-install
%{__make} %{?_smp_mflags}

%install
%{__rm} -rf %{buildroot}
%{__install} -d -m0755 %{buildroot}%{_mandir}/man8/
%makeinstall

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-, root, root, 0755)
%doc changelog.txt readme.html
%doc %{_mandir}/man?/*
%{_bindir}/*
%{_sbindir}/*

%changelog
* Wed Sep 06 2000 Rob Latham <rlatham@plogic.com>
- first packaging

ここまで準備できたら、%{_topdir}/RPM/SPECSから以下の通りコマンドを実行する。
$ rpmbuild -bb bonnie++.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.97594
+ umask 022
+ LANG=C
<<略>>
+ cd bonnie++-1.93c
+ /bin/rm -rf /tmp/bonnie++-buildroot
+ exit 0
$
RPMができているかを確認する。
$ ls ../RPMS/i386
bonnie++-1.93c-2.i386.rpm bonnie++-debuginfo-1.93c-2.i386.rpm
$

0 件のコメント: