DEBUG=""
NOURLS=""
NOCVS=""
+ALLWAYS_CVSUP="yes"
CVSROOT=${CVSROOT:-""}
LOGFILE=""
CHMOD="yes"
+RPMOPTS=""
PATCHES=""
SOURCES=""
PACKAGE_VERSION=""
PACKAGE_NAME=""
+DEF_NICE_LEVEL=0
+
if [ -f ~/etc/builderrc ]; then
. ~/etc/builderrc
elif [ -f ~/.builderrc ]; then
[-d <cvsroot>] [--cvsroot <cvsroot>] [-g] [--get] [-h] [--help]
[-l <logfile>] [-m] [--mr-proper] [--logtofile <logfile>] [-q] [--quiet]
[-r <cvstag>] [--cvstag <cvstag>] [-u] [--no-urls] [-v] [--verbose]
- <package>.spec
+ [--opts <rpm opts>] <package>.spec
-D, --debug - enable script debugging mode,
-V, --version - output builder version
CVS repo or HTTP/FTP,
-h, --help - this message,
-l, --logtofile - log all to file,
- -m, --mr-proper - only remove all files relayted to spec file and
+ -m, --mr-proper - only remove all files related to spec file and
all work resources,
-nc, --no-cvs - don't download from CVS, if source URL is given,
-nu, --no-urls - don't try to download from FTP/HTTP location,
+ --opts - additional options for rpm
-q, --quiet - be quiet,
-r, --cvstag - build package using resources from specified CVS
tag,
OPTIONS="$OPTIONS -A"
fi
for i in $SOURCES $PATCHES $ICONS; do
+ if [ ! -f `nourl $i` ] || [ $ALLWAYS_CVSUP = "yes" ]
+ then
if
- echo $i | egrep -v '(http|ftp)://' |\
- egrep -q '\.(gz|bz2)$'
+ echo $i | grep -vE '(http|ftp|https|cvs)://' |\
+ grep -qE '\.(gz|bz2)$'
then
echo "Warning: no URL given for $i"
fi
if [ -z "$NOCVS" ]||\
- [ `echo $i | egrep -v 'ftp://|http://'` ]
+ [ `echo $i | grep -vE '(ftp|http|https)://'` ]
then
cvs $OPTIONS `nourl $i`
fi
if [ -z "$NOURLS" ]&&[ ! -f "`nourl $i`" ]&&\
- [ `echo $i | egrep 'ftp://|http://'` ]
+ [ `echo $i | grep -E 'ftp://|http://|https://'` ]
then
- wget -c -t0 "$i"
+ wget -c -nd -t0 "$i"
fi
if [ ! -f "`nourl $i`" ]; then
Exit_error err_no_source_in_repo;
fi
+ fi
done
if [ "$CHMOD" = "yes" ]; then
build-binary )
BUILD_SWITCH="-bb" ;;
build-source )
- BUILD_SWITCH="-bs" ;;
+ BUILD_SWITCH="-bs --nodeps" ;;
esac
- rpm $BUILD_SWITCH -v $QUIET $CLEAN $SPECFILE
+ nice -n ${DEF_NICE_LEVEL} rpm $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $SPECFILE
if [ "$?" -ne "0" ]; then
Exit_error err_build_fail;
nourl()
{
- echo "$@" | sed 's#\<\(ftp\|http\)://.*/##g'
+ echo "$@" | sed 's#\<\(ftp\|http\|https\|cvs\)://.*/##g'
}
#---------------------------------------------
# main()
COMMAND="usage"; shift ;;
-l | --logtofile )
shift; LOGFILE="${1}"; shift ;;
+ -ni| --nice )
+ shift; DEF_NICE_LEVEL=${1}; shift ;;
-m | --mr-proper )
COMMAND="mr-proper"; shift ;;
-nc | --no-cvs )
NOCVS="yes"; shift ;;
-nu | --no-urls )
NOURLS="yes"; shift ;;
+ --opts )
+ shift; RPMOPTS="${1}"; shift ;;
-q | --quiet )
QUIET="--quiet"; shift ;;
-r | --cvstag )