jw-pkg/scripts/mkspec-wrapper.sh
2009-05-27 15:08:49 +00:00

102 lines
1.8 KiB
Bash

#!/bin/sh -x
if [ ! "$INSTALL_LOG" ]; then
#INSTALL_LOG=/var/tmp/%{name}-buildroot/install.log
INSTALL_LOG=/tmp/rpmbuild/install.log
fi
MYNAME=`basename $0`
MKSPEC_SH="$1"
shift
FILTER_DEVEL='/include/.*.h$\|devel\|make\|lib.*\.a$\|lib.*\.so$\|*\.exp\|*\.def\|*\.lib'
usage()
{
echo usage: $MYNAME /path/to/mkspec.sh -h [-N name] [-T topdir] [-V version] [-S source] [-R requires] [-P project]
[ "$1" ] && exit $1
}
set -- `getopt P:T:V:S:N:hR:D: "$@"`
while [ "$1" != -- ]; do
case $1 in
-h)
usage 0;;
-T)
TOPDIR="$2"
shift;;
-V)
V="$2"
shift;;
-S)
SOURCE="$2"
shift;;
-N)
NAME="$2"
shift;;
-R)
while [ "`echo $2 | cut -c1`" != "-" ]; do
REQUIRES_RUN="$REQUIRES_RUN $2"
shift
done
;;
-D)
while [ "`echo $2 | cut -c1`" != "-" ]; do
REQUIRES_DEVEL="$REQUIRES_DEVEL $2"
shift
done
;;
-P)
PROJECT="$2"
shift;;
*)
usage 1;;
esac
shift
done
shift
[ -z "$TOPDIR" ] && TOPDIR=.
if [ -z "$V" ]; then
if [ -f $TOPDIR/VERSION ]; then
VERSION="`cat $TOPDIR/VERSION | cut -d- -f1`"
RELEASE="`cat $TOPDIR/VERSION | cut -d- -f2- | sed 's/[-_].*//'`"
else
VERSION=noversion
RELEASE=norelease
fi
else
VERSION="`echo $V | cut -d- -f1`"
RELEASE="`cat $TOPDIR/VERSION | cut -d- -f2- | sed 's/[-_].*//'`"
fi
if [ -z "$NAME" ]; then
NAME=`pwd | xargs basename`
fi
REQUIRES="$REQUIRES_RUN $REQUIRES_DEVEL"
#if [ -n "$REQUIRES" ]; then
# REQUIRES_RUN=`echo $REQUIRES |
# sed -e '
# s/\([a-zA-Z-]\+\) *\([<>=]*\) *\([a-zA-Z0-9\.-]*\)/\1-run \2 \3,/g
# s/,$//
# s/-run-run/-run/
# '`
# REQUIRES_DEVEL="$REQUIRES_RUN, $NAME-run = $VERSION-$RELEASE, `echo $REQUIRES_RUN | sed -e 's/-run/-devel/g'`"
#fi
#echo "REQUIRES_RUN=\"$REQUIRES_RUN\""
#exit
export \
REQUIRES REQUIRES_RUN REQUIRES_DEVEL \
TOPDIR \
PROJECT NAME \
SOURCE \
VERSION RELEASE V \
INSTALL_LOG \
FILTER_DEVEL
sh $MKSPEC_SH