5858# file from the tarball specified on the command line. By default,
5959# the script will look for the specfile in the current directory.
6060#
61+ # -R directory
62+ # Specifies the top level RPM build direcotry.
63+ #
6164# -h
6265# Prints script usage information.
6366#
@@ -107,7 +110,7 @@ orig_param="$@"
107110#
108111# usage information
109112#
110- usage=" Usage: $0 [-b][-o][-m][-d][-u][-s][-h] [-n name][-f lf_location][-t tm_location] tarball
113+ usage=" Usage: $0 [-b][-o][-m][-d][-u][-s][-h] [-n name][-f lf_location][-t tm_location][-R directory] tarball
111114
112115 -b
113116 build all-in-one binary RPM only (required for all other flags to work)
@@ -146,6 +149,9 @@ usage="Usage: $0 [-b][-o][-m][-d][-u][-s][-h] [-n name][-f lf_location][-t tm_lo
146149 -r parameter
147150 add custom RPM build parameter
148151
152+ -R directory
153+ Specifies the top level RPM build direcotry.
154+
149155 -h print this message and exit
150156
151157 tarball path to Open MPI source tarball
@@ -155,8 +161,9 @@ usage="Usage: $0 [-b][-o][-m][-d][-u][-s][-h] [-n name][-f lf_location][-t tm_lo
155161# parse args
156162#
157163libfabric_path=" "
164+ rpmtopdir=
158165
159- while getopts bn:omif:t:dc:r:sh flag; do
166+ while getopts bn:omif:t:dc:r:sR:h flag; do
160167 case " $flag " in
161168 b) build_srpm=" no"
162169 build_single=" yes"
@@ -180,6 +187,8 @@ while getopts bn:omif:t:dc:r:sh flag; do
180187 ;;
181188 r) configure_options=" $rpmbuild_options $OPTARG "
182189 ;;
190+ R) rpmtopdir=" $OPTARG "
191+ ;;
183192 s) unpack_spec=" 1"
184193 ;;
185194 h) echo " $usage " 1>&2
267276# Find where the top RPM-building directory is
268277#
269278
270- rpmtopdir=
271- file=~ /.rpmmacros
272- if test -r $file ; then
273- rpmtopdir=${rpmtopdir:- " ` grep %_topdir $file | awk ' { print $2 }' ` " }
279+ # if the user did not specify an $rpmtopdir, check for an .rpmmacros file.
280+ if test " $rpmtopdir " == " " ; then
281+ file=~ /.rpmmacros
282+ if test -r $file ; then
283+ rpmtopdir=${rpmtopdir:- " ` grep %_topdir $file | awk ' { print $2 }' ` " }
284+ fi
274285fi
286+
287+ # If needed, initialize the $rpmtopdir directory. If no $rpmtopdir was
288+ # specified, try various system-level defaults.
275289if test " $rpmtopdir " ! = " " ; then
276- rpmbuild_options=" $rpmbuild_options --define '_topdir $rpmtopdir '"
290+ rpmbuild_options=" $rpmbuild_options --define '_topdir $rpmtopdir '"
277291 if test ! -d " $rpmtopdir " ; then
278- mkdir -p " $rpmtopdir "
279- mkdir -p " $rpmtopdir /BUILD"
280- mkdir -p " $rpmtopdir /RPMS"
281- mkdir -p " $rpmtopdir /RPMS/i386"
282- mkdir -p " $rpmtopdir /RPMS/i586"
283- mkdir -p " $rpmtopdir /RPMS/i686"
284- mkdir -p " $rpmtopdir /RPMS/noarch"
285- mkdir -p " $rpmtopdir /RPMS/athlon"
286- mkdir -p " $rpmtopdir /SOURCES"
287- mkdir -p " $rpmtopdir /SPECS"
288- mkdir -p " $rpmtopdir /SRPMS"
292+ mkdir -p " $rpmtopdir "
293+ mkdir -p " $rpmtopdir /BUILD"
294+ mkdir -p " $rpmtopdir /RPMS"
295+ mkdir -p " $rpmtopdir /RPMS/i386"
296+ mkdir -p " $rpmtopdir /RPMS/i586"
297+ mkdir -p " $rpmtopdir /RPMS/i686"
298+ mkdir -p " $rpmtopdir /RPMS/noarch"
299+ mkdir -p " $rpmtopdir /RPMS/athlon"
300+ mkdir -p " $rpmtopdir /SOURCES"
301+ mkdir -p " $rpmtopdir /SPECS"
302+ mkdir -p " $rpmtopdir /SRPMS"
289303 fi
290304 need_root=0
291305elif test -d /usr/src/RPM; then
0 commit comments