#!/bin/bash
# $Author: nobu $
# $Date: 2002/03/09 11:53:08 $
#
# builds RPM packages.
# usage: build-rpms [specfile] [srcdir] [versions...] #	(in any order)
#
# To build without tarball, specify source directory.
# If ruby-$version commands are avaiable, builds Ruby version
# dependent packages and `noarch' package which contains only
# system/Ruby-version indenpendet portions.

build () {
    local spec="$1" srcdir="$2" ver="$3"
    shift 3
    if [ "$ver" ]; then
	type "ruby-$ver" >/dev/null 2>&1 || return 1
    fi
    rpm -bb ${ver:+--define "rver $ver"} \
	${srcdir:+--define "srcdir $srcdir"} \
	"$@" $spec || return 1
    return 0
}

unset srcdir spec versions
for i do
    case "$i" in
    *.spec)
	spec="$i"
	continue
	;;
    -*)
	options=("${options[@]}" "$i")
	continue
	;;
    esac
    if [ -d "$i" ]; then
	srcdir="$i"
	continue
    fi
    versions="$versions $i"
done
set -- "${options[@]}"

: ${srcdir="${spec%/*}"} ${spec=${srcdir+$srcdir/ruby-sringio.spec}}
: ${versions="1.4 1.5 1.6 1.7 1.8 1.9 2.0"}
if [ ! -f "$spec" ]; then
    if [ -f ruby-stringio.spec ]; then
	spec=ruby-stringio.spec
    else
	echo "no spec" 1>&2
	exit 1
    fi
fi
versioned=
for i in $versions; do
    build "$spec" "$srcdir" "$i" "$@" && versioned=yes
done
if [ $versioned ]; then
    build "$spec" "$srcdir" "" --target=noarch "$@"
else
    build "$spec" "" "" "$@"
fi
