[Piuparts-commits] rev 389 - in trunk: . debian piupartslib

Holger Levsen holger at alioth.debian.org
Mon May 4 14:38:29 UTC 2009


Author: holger
Date: 2009-05-04 14:38:28 +0000 (Mon, 04 May 2009)
New Revision: 389

Modified:
   trunk/TODO
   trunk/debian/changelog
   trunk/piuparts-report.py
   trunk/piupartslib/packagesdb.py
Log:
   - handle binNMUs where the Source header in the Packages file includes the 
     Version and the Source package name in one line.
   - handle udebs.


Modified: trunk/TODO
===================================================================
--- trunk/TODO	2009-05-03 22:01:11 UTC (rev 388)
+++ trunk/TODO	2009-05-04 14:38:28 UTC (rev 389)
@@ -4,25 +4,17 @@
 for 0.36:
 
 - report:
- - refactor code, sources.txt should not be calculated where it currently is
+ - refactor code, search for FIXME
+ - sources.txt should not be calculated where it currently is (or maybe yes..)
+ - packages.txt for binary packages
  - get rid of old log pages and put stats in the index page
  - do fancy R graphs with the data from $distro/counts.txt
-  - refactor..! search for FIXME
   - also per state
- - include links to http://qa.debian.org/developer.php?login=$maintainer_email 
-   or probably better: create maintainer centric pages.
-  - include uploaders in maintainer centric pages
+ - create maintainer centric pages.
+  - also create pages for uploaders
 
-- http://piuparts.debian.org/sid/state-dependency-does-not-exist.html#addresses-goodies-for-gnustep 
-  links to http://goldwasser.athome/source/a/addresses-for-gnustep (0.4.7-1).html 
-  obviously doesnt exist.
-
 - udebs turn up as a state - see http://piuparts.debian.org/source/u/udev.html
 
-- untestable packages are not recognicable as such, see http://piuparts.debian.org/source/a/apache2.html 
-  atm. (log is N/A, even though its there, even if empty) - http://piuparts.debian.org/sid/state-cannot-be-tested.html
-  aint helpful neither.
-
 - take care of old conf files on upgrades
 	/etc/piuparts/piuparts-master.conf
 	/etc/piuparts/piuparts-slave.conf
@@ -42,6 +34,10 @@
 - master:
  - write stats about number of daily tests (-> report: create fancy graphs)
 
+- untestable packages are not recognicable as such, see http://piuparts.debian.org/source/a/apache2.html 
+  atm. (log is N/A, even though its there, even if empty) - http://piuparts.debian.org/sid/state-cannot-be-tested.html
+  aint helpful neither.
+
 - report:
  - write stats about the reasons for failures:
   - installation hangs and uses all cpu when installing with 
@@ -122,6 +118,11 @@
   Interestingly enough this currently seems to prevent start-stop-daemon
   from starting any daemons ;)
 
+- binary packages which have been binNMUed are shown with the wrong version 
+  number on the package pages. this is just a problem in reporting, not in 
+  testing. PackagesDB.get_source_package() gives back the right value, but 
+  piuparts-reports does not care.
+
 Low priority stuff (a.k.a. "nobody's said they must have it now")
 -----------------------------------------------------------------
 

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2009-05-03 22:01:11 UTC (rev 388)
+++ trunk/debian/changelog	2009-05-04 14:38:28 UTC (rev 389)
@@ -24,6 +24,8 @@
       package is of priority "required", and not whether it's "Essential".
     - rename status "essential-required-important" to "essential-required" 
       as important packages can be tested like all the others.
+    - handle binNMUs where the Source header in the Packages file includes the 
+      Version and the Source package name in one line.
   * Install scripts for master-slave mode without .py extension.
   * piuparts-master.py: remove code to write statistics, that is done only in 
     piuparts-report.py now.
@@ -45,7 +47,7 @@
     - generate sources.txt (per section) with a summary status per source
       package (for the PTS to display a source packages piuparts state)
     - generate html status pages for all source packages (to link from the PTS)
-      with links to state explaination and available logfiles.
+      with links to state explaination and available logfiles, handle udebs.
     - provide links to logfiles in statistics page.
     - provide links to source packages pages from state pages and back, as well
       as links to the dependencies state.

Modified: trunk/piuparts-report.py
===================================================================
--- trunk/piuparts-report.py	2009-05-03 22:01:11 UTC (rev 388)
+++ trunk/piuparts-report.py	2009-05-04 14:38:28 UTC (rev 389)
@@ -305,8 +305,7 @@
     </tr>
     <tr class="normalrow">
      <td class="contentcell2">
-      piuparts is meant as a quality assurance tool for people who create .deb packages to test them before they upload 
-      them to the Debian package archive.
+      piuparts is meant as a quality assurance tool for people who create .deb packages to test them before they upload them to the Debian package archive. See the <a href="/doc/README.html" target="_blank">piuparts README</a> for a quick intro and then read the <a href="/doc/piuparts.1.html" target="_blank">piuparts manpage</a> to learn about all the fancy options!
      </td>
     </tr>
     <tr class="normalrow">
@@ -318,8 +317,7 @@
       the University of Helsinki, at the 
       <a href="http://cs.helsinki.fi/index.en.html" target="_blank">Department of Computer Science</a>
       in Finland.
-      This setup is currently still being polished. Better reports and statistics as well as PTS integration is
-      planned. Join #debian-qa if you want to help.
+      As this is still being polished, see the piuparts wiki page for more information on <a href="http://wiki.debian.org/piuparts" target="_blank">piuparts development and the piuparts setup on piatti</a>. Better reports and statistics as well as PTS integration is planned. Join #debian-qa if you want to help.
      </td>
     </tr>
     <tr class="normalrow">
@@ -334,7 +332,7 @@
     </tr>
     <tr class="normalrow">
      <td class="contentcell2">
-      <b>2009-05-01</b>All packages in squeeze and sid which can be tested have been tested. So it takes about one month to do a full piuparts run against one suite of the archive on this machine, that's almost 1000 packages tested per day.
+      <b>2009-05-01</b>: All packages in squeeze and sid which can be tested have been tested. So it takes about one month to do a full piuparts run against one suite of the archive on this machine, that's almost 1000 packages tested per day.
      </td>
     </tr>
     <tr class="normalrow">
@@ -623,24 +621,26 @@
         return links
 
     def link_to_source_summary(self, package_name):
-        source_name=self._binary_db.get_source_package(package_name)
+        source_name = self._binary_db.get_source_package(package_name)
         link = "<a href=\"/source/%s\">%s</a>" % (
                 source_subdir(source_name)+"/"+source_name+".html",
                 html_protect(package_name))
         return link
 
     def link_to_state_page(self, section, package_name, link_target):
-        link = html_protect(package_name)
-        try:
-          state = self._binary_db.state_by_name(package_name)
-          if state != "unknown-package":
+        state = self._binary_db.state_by_name(package_name)
+        if state != "unknown-package":
             link = "<a href=\"/%s/%s\">%s</a>" % (
                 section,
                 "state-"+state+".html"+"#"+package_name,
                 link_target)
-        finally:
-          return link
+        elif "-udeb" == package_name[len(package_name)-5:]:
+          link = "udeb-cannot-be-tested"
+        else:
+          link = html_protect("unknown package")
 
+        return link
+
     def links_to_logs(self, package_name, state, logs_by_dir):
         link = "N/A"
         dirs = ""
@@ -694,7 +694,7 @@
                os.makedirs(summary_page_path)
 
             binaries = self._source_db.get_control_header(source, "Binary")
-            current_version = self._source_db.get_control_header(source, "Version")
+            current_source_version = self._source_db.get_control_header(source, "Version")
             maintainer = self._source_db.get_control_header(source, "Maintainer")
 
             sourcerows = "<tr class=\"normalrow\"><td class=\"contentcell2\"><a href=\"http://packages.qa.debian.org/%s\" target=\"_blank\">%s</a></td><td class=\"contentcell2\" colspan=\"2\">%s</td></tr>" % (source, html_protect(source), html_protect(maintainer))
@@ -711,7 +711,7 @@
             binaryrows = "<tr class=\"titlerow\"><td class=\"bluetitlecell\" colspan=\"3\">Binary package(s) in "+self._config.section+"</td></tr>"
             for binary in binaries.split(", "):
               state = self._binary_db.state_by_name(binary)
-              binaryrows += "<tr class=\"normalrow\"><td class=\"contentcell2\">%s</td><td class=\"contentcell2\">%s: %s</td><td class=\"contentcell2\">current: %s</td></tr>" % (binary, self.link_to_state_page(self._config.section,binary,state), self.links_to_logs(binary, state, logs_by_dir), current_version)
+              binaryrows += "<tr class=\"normalrow\"><td class=\"contentcell2\">%s</td><td class=\"contentcell2\">%s: %s</td><td class=\"contentcell2\">current: %s</td></tr>" % (binary, self.link_to_state_page(self._config.section,binary,state), self.links_to_logs(binary, state, logs_by_dir), current_source_version)
               if state != "successfully-tested":
                 success = False
               if state == "failed-testing":

Modified: trunk/piupartslib/packagesdb.py
===================================================================
--- trunk/piupartslib/packagesdb.py	2009-05-03 22:01:11 UTC (rev 388)
+++ trunk/piupartslib/packagesdb.py	2009-05-04 14:38:28 UTC (rev 389)
@@ -380,10 +380,17 @@
         return self._packages[package_name][header]
 
     def get_source_package(self, package_name):
+        version = self._packages[package_name]["Version"]
         try:
-          source = self._packages[package_name]["Source"]
+          _source = self._packages[package_name]["Source"]
+          # for binNMU the Source header in Packages files hold the version too
+          if " " in _source:
+            source, version = _source.split(" ")
+          else:
+            source = _source
         except:
           source = self._packages[package_name]["Package"]
+        # we could return version here too, but it wont be used atm
         return source
 
     def get_package_state(self, package_name):




More information about the Piuparts-commits mailing list