From: Andreas Barth Date: Fri, 11 Feb 2011 19:41:09 +0000 (+0000) Subject: packages loose one priority point per hour (packages without recorded build time... X-Git-Url: https://git.donarmstrong.com/?p=wannabuild.git;a=commitdiff_plain;h=394174b445a08a380dce24dba4c7d0344a0bb8b1 packages loose one priority point per hour (packages without recorded build time loose 2), up to 15 points --- diff --git a/bin/wanna-build b/bin/wanna-build index 2101f18..91d05df 100755 --- a/bin/wanna-build +++ b/bin/wanna-build @@ -1939,6 +1939,13 @@ sub calculate_prio { my $scale = $priomap->{'waitingdays'}->{'scale'} || 1; $pkg->{'calprio'} += $days * $scale; + my $btime = max($pkg->{'anytime'}, $pkg->{'successtime'}); + my $bhours = defined($btime) ? int($btime/3600) : ($priomap->{'buildhours'}->{'default'} || 2); + $bhours = $priomap->{'buildhours'}->{'min'} if $priomap->{'buildhours'}->{'min'} and $bhours < $priomap->{'buildhours'}->{'min'}; + $bhours = $priomap->{'buildhours'}->{'max'} if $priomap->{'buildhours'}->{'max'} and $bhours > $priomap->{'buildhours'}->{'max'}; + $scale = $priomap->{'buildhours'}->{'scale'} || 1; + $pkg->{'calprio'} -= $bhours * $scale; + $pkg->{'calprio'} += $pkg->{'permbuildpri'} if $pkg->{'permbuildpri'}; $pkg->{'calprio'} += $pkg->{'buildpri'} if $pkg->{'buildpri'}; diff --git a/etc/yaml/wanna-build.yaml b/etc/yaml/wanna-build.yaml index 9d5f24d..ebcb229 100644 --- a/etc/yaml/wanna-build.yaml +++ b/etc/yaml/wanna-build.yaml @@ -20,6 +20,10 @@ priority: min: 0 max: 6 scale: 2 + buildhours: + default: 2 + min: 0 + max: 15 list-order: default: PScpsn failed: fPcpsn