#!/bin/bash
# $Id: rpm-prep-src,v 1.5 2016/07/08 08:35:58 friedman Exp $

orig_dir=${PWD-`pwd`}

case $# in
    0 ) : ;;
    * ) if ! [ -f "$1" ]; then
            inst=`rpm -q --qf '%{SOURCERPM}\n' $1`
            case $inst in
                *"is not installed" ) : ;;
                * ) rpm=`locate -n 1 '*'/$inst`
                    case $rpm in
                        '' ) : ;;
                        * )
                            shift
                            set x "$rpm" "$@"
                            shift ;;
                    esac ;;
            esac
        fi ;;
esac

case $1 in
    *.src.rpm )
        rpm=${1##*/}
        rpm_dir=${rpm%.rpm}
        mkdir -p $rpm_dir \
            && cd $rpm_dir \
            && ${RPM2CPIO-rpm2cpio} "$1" \
                | ${CPIO-cpio} -dimv --no-absolute-filenames
        shift
        ;;
esac

mkdir -p rpmbuild/BUILD
for d in SOURCES SPECS; do
    if [ -d rpmbuild/$d ]; then
        rm rpmbuild/$d || rmdir rpmbuild/$d || exit 1
    fi
    ln -s .. rpmbuild/$d
done


if rpmbuild --define '_topdir %(pwd)/rpmbuild' --nodeps -bp "$@" *.spec
then
    mv rpmbuild/BUILD/* $orig_dir
    case $rpm_dir in
        '' ) rm -rf rpmbuild ;;
        *  ) cd .. && rm -rf $rpm_dir ;;
    esac
fi

# eof
