Merge lp:~jelmer/bzr-builddeb/552893-fix-upstream-tarball into lp:bzr-builddeb

Proposed by Jelmer Vernooij
Status: Merged
Merged at revision: 506
Proposed branch: lp:~jelmer/bzr-builddeb/552893-fix-upstream-tarball
Merge into: lp:bzr-builddeb
Diff against target: 58 lines (+11/-5)
2 files modified
debian/changelog (+3/-1)
upstream.py (+8/-4)
To merge this branch: bzr merge lp:~jelmer/bzr-builddeb/552893-fix-upstream-tarball
Reviewer Review Type Date Requested Status
James Westby Approve
Review via email: mp+48082@code.launchpad.net

Description of the change

This fixes the "assert path is not None" error (or at least one of its instances).

GetOrigSourceSource would happily claim success in some situations, because it only raises RevisionNotPresent when _get_orig_source() returns None, not when it returns False.

This would then cause provide_from_store_dir() to not be able to find the upstream tarball, and return None.

To post a comment you must log in.
Revision history for this message
James Westby (james-w) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2011-01-31 18:47:05 +0000
3+++ debian/changelog 2011-01-31 23:31:15 +0000
4@@ -39,8 +39,10 @@
5 tree rather than relative to the branch. Closes: #676456
6 * Use enums for build types, and a priority scheme to figure out the
7 build type. LP: #655277
8+ * Fix finding upstream tarball when get-orig-source is not available.
9+ Closes: #552893
10
11- -- Jelmer Vernooij <jelmer@debian.org> Sun, 30 Jan 2011 23:09:45 +0100
12+ -- Jelmer Vernooij <jelmer@debian.org> Tue, 01 Feb 2011 00:13:07 +0100
13
14 bzr-builddeb (2.5) unstable; urgency=low
15
16
17=== modified file 'upstream.py'
18--- upstream.py 2011-01-29 02:11:01 +0000
19+++ upstream.py 2011-01-31 23:31:15 +0000
20@@ -240,7 +240,7 @@
21 ret = proc.wait()
22 if ret != 0:
23 note("Trying to run get-orig-source rule failed")
24- return False
25+ return None
26 for desired_tarball_name in desired_tarball_names:
27 fetched_tarball = os.path.join(source_dir, desired_tarball_name)
28 if os.path.exists(fetched_tarball):
29@@ -400,9 +400,12 @@
30 def fetch_tarball(self, package, version, target_dir):
31 for source in self._sources:
32 try:
33- return source.fetch_tarball(package, version, target_dir)
34+ path = source.fetch_tarball(package, version, target_dir)
35 except PackageVersionNotPresent:
36 pass
37+ else:
38+ assert isinstance(path, basestring)
39+ return path
40 raise PackageVersionNotPresent(package, version, self)
41
42 def get_latest_version(self, package, version):
43@@ -468,12 +471,13 @@
44 if not os.path.exists(self.store_dir):
45 os.makedirs(self.store_dir)
46 try:
47- self.source.fetch_tarball(self.package,
48+ path = self.source.fetch_tarball(self.package,
49 self.version.upstream_version, self.store_dir)
50 except PackageVersionNotPresent:
51 raise MissingUpstreamTarball(self._tarball_names()[0])
52+ assert isinstance(path, basestring)
53 else:
54- note("Using the upstream tarball that is present in %s" %
55+ note("Using the upstream tarball that is present in %s" %
56 self.store_dir)
57 path = self.provide_from_store_dir(target_dir)
58 assert path is not None

Subscribers

People subscribed via source and target branches