[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