From 46ee0bb74eddc63f7d874ba1cf7a8b17a1b3f075 Mon Sep 17 00:00:00 2001 From: Minh Diep Date: Thu, 29 Dec 2011 16:43:44 -0800 Subject: [PATCH] LU-954 build: make lbuild to build lustre-iokit Add additional codes in lbuild to build lustre-iokit rpm. It should be noarch because it's independent of any arch. Add info to Changelog and change iokit version to 1.3.0 Signed-off-by: Minh Diep Change-Id: I8b3c0bbaf348c350155d7c50e9ffcb4ec92fe1ff Reviewed-on: http://review.whamcloud.com/1907 Tested-by: Hudson Reviewed-by: Brian J. Murrell Tested-by: Maloo Reviewed-by: Michael MacDonald Reviewed-by: Oleg Drokin --- build/lbuild | 51 ++++++++++++++++++++++++++++++++++++++- lustre-iokit/ChangeLog | 44 ++++++++++++++++++++------------- lustre-iokit/configure.ac | 4 +-- lustre-iokit/lustre-iokit.spec.in | 20 ++++++++------- 4 files changed, 90 insertions(+), 29 deletions(-) diff --git a/build/lbuild b/build/lbuild index 3abf846..db75c98 100755 --- a/build/lbuild +++ b/build/lbuild @@ -66,6 +66,7 @@ REUSEBUILD= USE_BUILD_CACHE=true # what does this do exactly? does it imply no kernel build? NORPM=false +IOKITRPM=true LDISKFSRPM=true SKIPLDISKFSRPM="v1_4_* b1_4" SMPTYPES="smp bigsmp default ''" @@ -188,6 +189,9 @@ Usage: ${0##*/} [OPTION]... [-- ] --ldiskfs Do ldiskfs RPM. Now true by default + --noiokit + Do not build lustre-iokit RPM. Now true by default + --publish Unused. @@ -766,6 +770,39 @@ do_patch_linux() { } +build_iokit() { + local rpmbuildopt="$1" + + pushd lustre-iokit > /dev/null || return 255 + + if ! ./configure; then + echo "failed to configure in lustre-iokit" + popd >/dev/null # pushd lustre-iokit + return 255 + fi + + if ! make dist; then + echo "failed to make dist in lustre-iokit" + popd >/dev/null # pushd lustre-iokit + return 255 + fi + + if ! $RPMBUILD $rpmbuildopt lustre-iokit*.tar.gz \ + --define "_tmppath /var/tmp" \ + --define "_topdir $TOPDIR" 2>&1; then + popd >/dev/null # pushd lustre-iokit + return 255 + fi + + if $DO_SRC && ! $RPMBUILD -ts lustre-iokit*.tar.gz \ + --define "_tmppath /var/tmp" \ + --define "_topdir $TOPDIR" 2>&1; then + popd >/dev/null # pushd lustre-iokit + return 255 + fi + popd >/dev/null # pushd lustre-iokit +} + build_lustre() { local linux="$1" local linuxobj="$2" @@ -845,6 +882,14 @@ build_lustre() { confoptions="$confoptions --with-ldiskfs=$(ls -d $TOPDIR/BUILD/lustre-ldiskfs-*)" } + if $IOKITRPM; then + if ! build_iokit $rpmbuildopt; then + echo "failed to build lustre-iokit" + popd >/dev/null # pushd lustre + return 255 + fi + fi + # convert the $PATCHLESS boolean to an empty/not-empty boolean # as silly as this seems, it makes the syntax of the rpmbuild command # simpler and not need an eval to deal with the quotes in the quotes @@ -1619,7 +1664,7 @@ backtrace echo echo "Environment:" set -) | mail -s "Untrapped error at ${BASH_SOURCE[0]##*/}:$((LINENO-15)) on $HOSTNAME" brian@sun.com >&2; set $xtrace' ERR +) | mail -s "Untrapped error at ${BASH_SOURCE[0]##*/}:$((LINENO-15)) on $HOSTNAME" brian@whamcloud.com >&2; set $xtrace' ERR set -E [ -r ~/.lbuildrc ] && . ~/.lbuildrc @@ -1698,6 +1743,10 @@ while [ "$1" ]; do LDISKFSRPM=true shift ;; + --noiokit) + IOKITRPM=false + shift + ;; --patchless) PATCHLESS=true shift diff --git a/lustre-iokit/ChangeLog b/lustre-iokit/ChangeLog index 69e48fb..67e7768 100644 --- a/lustre-iokit/ChangeLog +++ b/lustre-iokit/ChangeLog @@ -1,22 +1,32 @@ 2006-10-31 - Borrowing mjmac's most excellent work and setting up autogen/RPM -2007-07-24 - - Bugs committed: - 10851 - minor obdfilter fixes - 11485 - sgpdd_survey uses readcap for block size - 12741 - better error checking for sgpdd_survey +2007-07-24 - + Bugs committed: + 10851 - minor obdfilter fixes + 11485 - sgpdd_survey uses readcap for block size + 12741 - better error checking for sgpdd_survey 2007-07-26 Jitendra Pawar - Fixes for bug: 11171 - - Added common library "libobd" - - Improved obdfilter-survey + Fixes for bug: 11171 + - Added common library "libobd" + - Improved obdfilter-survey 2007-08-01 Jitendra Pawar - Fixes for bug: 10961 - - Modified README.obdfilter-survey + Fixes for bug: 10961 + - Modified README.obdfilter-survey 2007-08-22 Jitendra Pawar - Aditions for bug: 11171 - - Added automatic ondecho module load support on client and server - - Added flexible OSS setup and cleanup + Additions for bug: 11171 + - Added automatic ondecho module load support on client and server + - Added flexible OSS setup and cleanup 2007-09-21 Jitendra Pawar - Aditions for bug: 11171, 10961 - - removed OSTS and ECHO_CLIENTS command line options, instead - used only 'targets' option for all three cases. - - modified README-obdfilter-survey as per changes in 11171. + Additions for bug: 11171, 10961 + - removed OSTS and ECHO_CLIENTS command line options, instead + used only 'targets' option for all three cases. + - modified README-obdfilter-survey as per changes in 11171. +2010-12-30 - + Bugs committed: + 15348 - check the .dat file correctness + 23182 - lustre-iokit sgpdd-survey defect + LU-515 - canonicalize the devices names + 18478 - a new osc is added for echo client purpose + 15685 - fix obdfilter-survey script to work properly with remote oss-s + 23363 - obdfilter-survey: no echo client and ost_name not set + LU-349 - set LC_ALL explicitly in obdfilter-survey + LU-843 - iokit: get_ec_devno returns trash diff --git a/lustre-iokit/configure.ac b/lustre-iokit/configure.ac index 2ec1c4a..3a4d25f 100644 --- a/lustre-iokit/configure.ac +++ b/lustre-iokit/configure.ac @@ -1,9 +1,9 @@ AC_INIT AC_CONFIG_AUX_DIR([.]) -AM_INIT_AUTOMAKE(lustre-iokit,1.2) +AM_INIT_AUTOMAKE(lustre-iokit,1.3.0) AC_PATH_PROGS(BASH, bash) AC_PATH_PROGS(PERL, perl) -RELEASE="`date +%Y%m%d%H%M`" +RELEASE="1" AC_SUBST(RELEASE) AC_OUTPUT( diff --git a/lustre-iokit/lustre-iokit.spec.in b/lustre-iokit/lustre-iokit.spec.in index 08bbc81..b534a6a 100644 --- a/lustre-iokit/lustre-iokit.spec.in +++ b/lustre-iokit/lustre-iokit.spec.in @@ -10,7 +10,7 @@ Release: %{release} License: GPL Group: Applications/System Source: %{name}-%{version}.tar.gz -URL: http://www.sun.com/software/products/lustre/index.xml +URL: http://wiki.whamcloud.com/ BuildRoot: /var/tmp/%{name}-%{version}-root Provides: %{name} = %{version} BuildArch: noarch @@ -19,21 +19,21 @@ Requires: python > 2.2, sg3_utils %description This package includes five tools: sgpdd-survey: -A test of the 'bare metal' performance, bypassing as much of the kernel as we can. Uses the sgp_dd utility. +A test of the 'bare metal' performance, bypassing as much of the kernel as we can. Uses the sgp_dd utility. -obdfilter-survey +obdfilter-survey This survey can be run in 3 modes to test disk I/O including the filesystem, -network I/O, and disk I/O via the network. The script does sequential I/O -with varying numbers of threads and objects (files) by using lctl::test_brw -to drive the echo_client connected to local or remote obdfilter instances, +network I/O, and disk I/O via the network. The script does sequential I/O +with varying numbers of threads and objects (files) by using lctl::test_brw +to drive the echo_client connected to local or remote obdfilter instances, or remote obdecho instances. -ost-survey -This survey tests the client-to-disk performance of individual OSTs, and +ost-survey +This survey tests the client-to-disk performance of individual OSTs, and ranks then for comparison. stats-collect -This script will collect IO stats on a defined set of nodes. +This script will collect IO stats on a defined set of nodes. ior-survey: A script to run the IOR benchmark. The latest version can be downloaded from http://www.llnl.gov/asci/purple/benchmarks/limited/ior/ @@ -70,6 +70,8 @@ make install DESTDIR=$RPM_BUILD_ROOT %changelog +* Fri Dec 30 2011 Minh Diep +- WhamCloud release for bug fixes * Tue Jul 24 2007 Cliff White - Added stats-collect * Mon Apr 9 2007 Cliff White -- 1.8.3.1