The build service would "needlessy" recompile core packages (glibc,
gcc, etc.) over and over because of new deep dependencies (e.g.
+glibc/gcc/libcloog0...). This patch adds a bsconfig flag to turn off
this sort of nested dependencies and get a bootstrap done in a timely
manner.
Signed-off-by: Jan Engelhardt
---
src/backend/BSConfig.pm.template | 3 +++
src/backend/bs_sched | 6 +++++-
src/backend/bs_worker | 3 +++
3 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/backend/BSConfig.pm.template b/src/backend/BSConfig.pm.template
index 45d5ae2..61ba247 100644
--- a/src/backend/BSConfig.pm.template
+++ b/src/backend/BSConfig.pm.template
@@ -80,6 +80,9 @@ our $relsync_pool = {
"sparc64" => "sparc64",
};
+# Have bs_sched/bs_worker only do single-depth dependencies.
+#our $quick_dependencies = 1;
+
# This is for prefer a project in scheduler, if it has high or medium
# prio events, but was not processed after $timeout minutes.
#our %max_project_timeout = (
diff --git a/src/backend/bs_sched b/src/backend/bs_sched
index ded6bd0..3da6bc9 100755
--- a/src/backend/bs_sched
+++ b/src/backend/bs_sched
@@ -4330,7 +4330,11 @@ while(1) {
my $mf = substr("$reporoot/$path", 0, -4);
#print " reading meta for $r->{'path'}\n";
if (open(F, '<', "$mf.meta") || open(F, '<', "$mf-MD5SUMS.meta")) {
- @m = <F>;
+ if ($BSConfig::quick_dependencies) {
+ push(@m, scalar <F>);
+ } else {
+ @m = <F>;
+ }
close F;
chomp @m;
s/ / $bpack\// for @m;
diff --git a/src/backend/bs_worker b/src/backend/bs_worker
index f779e37..04c97ff 100755
--- a/src/backend/bs_worker
+++ b/src/backend/bs_worker
@@ -1193,6 +1193,9 @@ sub getbinaries {
} else {
chomp $m;
my @m = split("\n", $m);
+ if ($BSConfig::quick_dependencies) {
+ @m = splice(@m, 0, 1);
+ }
s/ / $dep\// for @m;
$m[0] =~ s/ .*/ $dep/;
push @meta, @m;
--
1.7.0.4
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-buildservice+help@opensuse.org