[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 2/2] stats: Parse BD-Problem output of --list and display it



From: Joachim <nomeata@debian.org>

---
 lib.php |    7 +++++++
 mkstats |   10 ++++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/lib.php b/lib.php
index 329dd12..989e26b 100644
--- a/lib.php
+++ b/lib.php
@@ -181,6 +181,13 @@ function expandOne($pkg, $arch, $info = null)
                 $db)))."</pre>\n";
 
         $link = "#fail-$pkg-$arch";
+    } elseif ($info[1] == "BD-Uninstallable") {
+        $info['faildetails'] = "<a name=\"fail-$pkg-$arch\"></a><h5>$pkg/$arch
+            build dependency installability problem:</h5>\n";
+        $info['faildetails'] .= "<pre>".trim(htmlentities(dba_fetch("$pkg#$arch-bd-problem",
+                $db)))."</pre>\n";
+
+        $link = "#fail-$pkg-$arch";
     }
 
     if ($info[1] == "Needs-Build" || $info[1] == "Dep-Wait")
diff --git a/mkstats b/mkstats
index 5aaf4b8..9b264cd 100755
--- a/mkstats
+++ b/mkstats
@@ -85,6 +85,16 @@ while (</org/wanna-build/db/*/build-db-$suite>) {
 			$failure =~ s/\\/\\\\/g;
 			$failure =~ s/\n/\\0a/g;
 			print OUT "$failure\n";
+		if ($state =~ /^BD-Uninstallable/o) {
+			print OUT "$package#$arch-bd-problem\n";
+			my $problem = "";
+			while (<ALL>) {
+				last unless s/^    //o;
+				$problem .= $_;
+			}
+			$problem =~ s/\\/\\\\/g;
+			$problem =~ s/\n/\\0a/g;
+			print OUT "$problem\n";
 		} elsif ($state eq 'Dep-Wait') {
 			/^  Dependencies: (.*)/o;
 			$extrastate = $1;
-- 
1.6.3.3


Reply to: