tags 728298 patch
thank you

I wrote the attached patch to fix this bug. This is completely untested. Sorry.
Index: www/bin/other_to_xml.py
===================================================================
--- www/bin/other_to_xml.py	(revision 3141)
+++ www/bin/other_to_xml.py	(working copy)
@@ -81,6 +81,18 @@
             sources[source].append((size, pkg_a, pkg_b))
     return sources
 
+def read_bootstrap(fname):
+    sources = {}
+    with open(fname) as f:
+        data = json.load(f)
+    sources = {}
+    for pkg,ver in data:
+        # remove "src:" prefix from source package name
+        pkg = pkg[4:]
+        if pkg not in sources: sources[pkg] = []
+        sources[pkg].append(ver)
+    return sources
+
 def read_shortdesc(fname):
     global binary2sources
     source_descs = {} # source package -> (binary package -> short description)
@@ -556,6 +568,8 @@
 
 dedup_packages = read_dedup(os.path.join(dir, "dedup.txt"))
 
+bootstrap_packages = read_bootstrap(os.path.join(dir, "bootstrap.json"))
+
 upstream_info_packages = read_upstream_info(os.path.join(dir, "upstream-info.txt"))
 
 # read release goals information
@@ -1013,6 +1027,21 @@
         root_elt.setAttribute("dedup", "no")
         dedup_sig = ''
 
+    # add bootstrapping links
+    if pkg in bootstrap_packages:
+        elt = doc.createElement("bootstrap")
+        root_elt.appendChild(elt)
+        root_elt.setAttribute("bootstrap", "yes")
+        for version in bootstrap_packages[pkg]:
+            version_elt = doc.createElement("version")
+            text_elt = doc.createTextNode(version)
+            version_elt.appendChild(text_elt)
+            elt.appendChild(version_elt)
+        bootstrap_sig = bootstrap_packages[pkg]
+    else:
+        root_elt.setAttribute("bootstrap", "no")
+        bootstrap_sig = ''
+
     # Add upstream info links
     if pkg in upstream_info_packages:
         root_elt.setAttribute("upstreaminfo", "yes")
@@ -1092,7 +1121,7 @@
             watchbroken_sig, watchavail_sig, depneedsmaint_sig, dms_sig,
             fonts_sig, sec_sig, logcheck_sig, rg_sig, url_issues_sig,
             screenshots_sig, clang_sig, dedup_sig, longdesc_sig,
-            upstream_info_sig, autoremoval_sig, testing_sig)
+            upstream_info_sig, autoremoval_sig, testing_sig, bootstrap_sig)
     if sigs.has_key(pkg) and sig == sigs[pkg] and \
             os.path.isfile("%s/%s/%s/other.xml" % (odir, hash, pkg)):
         continue
Index: www/bin/update_incoming.sh
===================================================================
--- www/bin/update_incoming.sh	(revision 3141)
+++ www/bin/update_incoming.sh	(working copy)
@@ -209,6 +209,9 @@
 
 get http://dedup.debian.net/static/ptslist.txt dedup.txt
 
+# download bootstrapping hints
+get http://bootstrap.debian.net/source/stats_min.json bootstrap.json
+
 nice_redirect_to upstream-info.txt svn ls -R svn://svn.debian.org/svn/collab-qa/packages-metadata
 
 # testing autoremoval info
Index: www/xsl/pts-issues.xsl
===================================================================
--- www/xsl/pts-issues.xsl	(revision 3141)
+++ www/xsl/pts-issues.xsl	(working copy)
@@ -422,6 +422,17 @@
     </xsl:if>
   </xsl:template>
 
+  <xsl:template name="issue-bootstrap">
+    <xsl:if test="$hasother and $other/@bootstrap='yes'">
+      <xsl:for-each select="$other/bootstrap/version">
+        <li>
+          Version <xsl:value-of select="text()"/> of this package is part of the bootstrapping problem.
+          Consider following the <a href="http://bootstrap.debian.net/source/{$package}_{text()}.html">generated bootstrapping hints</a>
+        </li>
+      </xsl:for-each>
+    </xsl:if>
+  </xsl:template>
+
   <xsl:template name="issue-testing-failed">
     <xsl:if test="$hasother and $other/@testing='yes' and $other/testing/@status!='pass'">
       <li>
Index: www/xsl/pts.xsl
===================================================================
--- www/xsl/pts.xsl	(revision 3141)
+++ www/xsl/pts.xsl	(working copy)
@@ -1202,6 +1202,11 @@
 	  <a title="duplicate and similar files" href="http://dedup.debian.net/source/{$package}";>dedup</a>
 	</li>
       </xsl:if>
+      <xsl:if test="$other/@bootstrap='yes'">
+	<li>
+	  <a title="bootstrapping issues" href="http://bootstrap.debian.net/source/{$package}.html";>bootstrap</a>
+	</li>
+      </xsl:if>
       <li>
 	<img src="../common/rdf.png" alt="rdf" /> <a title="Alternate RDF meta-data (Turtle)" href="{$package}.ttl">RDF meta-data</a>
       </li>
@@ -1241,6 +1246,7 @@
     <xsl:call-template name="issue-watchavail" />
     <xsl:call-template name="issue-depneedsmaint" />
     <xsl:call-template name="issue-dedup" />
+    <xsl:call-template name="issue-bootstrap" />
     <xsl:if test="$hasother">
       <xsl:for-each select="$other/todo/item">
 	<xsl:call-template name="outputitem" />

Reply via email to