aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2007-07-29 19:41:52 +0000
committerKris Kennaway <kris@FreeBSD.org>2007-07-29 19:41:52 +0000
commitcc0916c8a0d5444c599fc2b4087bbe0988bd45de (patch)
tree43645ab952512c20cbd125f2d8aef34bb92d123e /Tools
parent13e1b025a1111d84f8981c88c2c7a53e5babb68a (diff)
downloadports-cc0916c8a0d5444c599fc2b4087bbe0988bd45de.tar.gz
ports-cc0916c8a0d5444c599fc2b4087bbe0988bd45de.zip
Notes
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/portbuild/scripts/getmachine25
1 files changed, 17 insertions, 8 deletions
diff --git a/Tools/portbuild/scripts/getmachine b/Tools/portbuild/scripts/getmachine
index 2cc940408a81..fb3e71adecdd 100755
--- a/Tools/portbuild/scripts/getmachine
+++ b/Tools/portbuild/scripts/getmachine
@@ -17,20 +17,28 @@ if [ "$1" = "*" ]; then
exit 1
fi
-min=9999
+
+min=999999
while [ $# -gt 0 ]; do
m=$1
- num=$(cat $m)
- if [ $num -lt $min ]; then
+
+ # Pull in maxjobs
+ . ${pb}/${arch}/portbuild.conf
+ test -f ${pb}/${arch}/portbuild.${m} && . ${pb}/${arch}/portbuild.${m}
+
+ curjobs=$(cat $m)
+ weight=$((${curjobs}*1000/${maxjobs}))
+
+ if [ $weight -lt $min ]; then
mach=$m
- min=$num
- elif [ $num -eq $min ]; then
+ min=$weight
+ elif [ $weight -eq $min ]; then
mach="${mach} ${m}"
fi
shift
done
-if [ "$min" = 9999 -o -z "${mach}" ]; then
+if [ "$min" = 999999 -o -z "${mach}" ]; then
echo ""
exit 1
fi
@@ -45,11 +53,12 @@ fi
. ${pb}/${arch}/portbuild.conf
test -f ${pb}/${arch}/portbuild.${mach} && . ${pb}/${arch}/portbuild.${mach}
+curjobs=$(cat $mach)
# Now that we've found a machine, register our claim in the queue
-if [ "$((${min}+1))" -ge "${maxjobs}" ]; then
+if [ "$((${curjobs}+1))" -ge "${maxjobs}" ]; then
rm ${mach}
else
- echo $(($min+1)) > ${mach}
+ echo $(($curjobs+1)) > ${mach}
fi
# Report to caller