SPECS: builder - use schedtool if available instead of nice

glen glen at pld-linux.org
Tue Apr 25 01:26:56 CEST 2006


Author: glen                         Date: Mon Apr 24 23:26:56 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- use schedtool if available instead of nice

---- Files affected:
SPECS:
   builder (1.413 -> 1.414) 

---- Diffs:

================================================================
Index: SPECS/builder
diff -u SPECS/builder:1.413 SPECS/builder:1.414
--- SPECS/builder:1.413	Wed Apr  5 12:44:59 2006
+++ SPECS/builder	Tue Apr 25 01:26:51 2006
@@ -84,6 +84,7 @@
 ATTICDISTFILES_SERVER="://attic-distfiles.pld-linux.org"
 
 DEF_NICE_LEVEL=19
+SCHEDTOOL="auto"
 
 FAIL_IF_NO_SOURCES="yes"
 
@@ -125,6 +126,14 @@
 
 wget --help 2>&1 | grep -q ' \-\-no-check\-certificate ' && WGET_OPTS="$WGET_OPTS --no-check-certificate"
 
+if [ "$SCHEDTOOL" = "auto" ]; then
+	if [ -x /usr/bin/schedtool ] && schedtool -B -e echo >/dev/null; then
+		SCHEDTOOL="schedtool -B -e"
+	else
+		SCHEDTOOL="no"
+	fi
+fi
+
 if [ -n "$USE_PROZILLA" ]; then
 	GETURI="proz --no-getch -r -P ./ -t$WGET_RETRIES $PROZILLA_OPTS"
 	GETURI2="$GETURI"
@@ -163,10 +172,10 @@
 		if [ -n "$LASTLOG_FILE" ]; then
 			echo "LASTLOG=$LOG" > $LASTLOG_FILE
 		fi
-		(nice -n ${DEF_NICE_LEVEL} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE})|tee -a $LOG
+		(${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE})|tee -a $LOG
 		return $exit_pldk
 	else
-		(nice -n ${DEF_NICE_LEVEL} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE}) 1>&2 >/dev/null
+		(${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE}) 1>&2 >/dev/null
 		return `cat ${RES_FILE}`
 		rm -rf ${RES_FILE}
 	fi
@@ -1066,7 +1075,7 @@
 			echo "LASTLOG=$LOG" > $LASTLOG_FILE
 		fi
 		RES_FILE=~/tmp/$RPMBUILD-exit-status.$RANDOM
-		(time eval nice -n ${DEF_NICE_LEVEL} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
+		(time eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
 		RETVAL=`cat $RES_FILE`
 		rm $RES_FILE
 		if [ -n "$LOGDIROK" ] && [ -n "$LOGDIRFAIL" ]; then
@@ -1077,7 +1086,7 @@
 			fi
 		fi
 	else
-		eval nice -n ${DEF_NICE_LEVEL} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE
+		eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE
 		RETVAL=$?
 	fi
 	if [ "$RETVAL" -ne "0" ]; then
@@ -1831,6 +1840,12 @@
 		"rpm")
 			TARGET_SWITCH="--target=$TARGET" ;;
 	esac
+fi
+
+if [ "$SCHEDTOOL" != "no" ]; then
+	NICE_COMMAND="$SCHEDTOOL"
+else
+	NICE_COMMAND="nice -n ${DEF_NICE_LEVEL}"
 fi
 
 update_shell_title "$COMMAND"
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/builder?r1=1.413&r2=1.414&f=u



More information about the pld-cvs-commit mailing list