Merge lp:~jelmer/bzr-builddeb/fetch-tarball into lp:bzr-builddeb
- fetch-tarball
- Merge into trunk
Proposed by
Jelmer Vernooij
Status: | Merged |
---|---|
Approved by: | Jelmer Vernooij |
Approved revision: | 501 |
Merged at revision: | 497 |
Proposed branch: | lp:~jelmer/bzr-builddeb/fetch-tarball |
Merge into: | lp:bzr-builddeb |
Prerequisite: | lp:~jelmer/bzr-builddeb/get-export-upstream-revision-version |
Diff against target: |
339 lines (+79/-44) 4 files modified
cmds.py (+1/-1) merge_upstream.py (+0/-1) tests/test_upstream.py (+45/-16) upstream.py (+33/-26) |
To merge this branch: | bzr merge lp:~jelmer/bzr-builddeb/fetch-tarball |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Westby | Approve | ||
Review via email:
|
Commit message
Description of the change
Another refactoring branch. The main change this makes is to rename get_specific_
To post a comment you must log in.
- 501. By Jelmer Vernooij
-
Tests.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
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 'cmds.py' | |||
2 | --- cmds.py 2011-01-24 03:08:28 +0000 | |||
3 | +++ cmds.py 2011-01-24 03:08:28 +0000 | |||
4 | @@ -563,7 +563,7 @@ | |||
5 | 563 | tarball_filename = os.path.join(orig_dir, dest_name) | 563 | tarball_filename = os.path.join(orig_dir, dest_name) |
6 | 564 | upstream = UpstreamBranchSource(upstream_branch, | 564 | upstream = UpstreamBranchSource(upstream_branch, |
7 | 565 | {version: upstream_revision}) | 565 | {version: upstream_revision}) |
9 | 566 | upstream.get_specific_version(package, version, orig_dir) | 566 | upstream.fetch_tarball(package, version, orig_dir) |
10 | 567 | return tarball_filename | 567 | return tarball_filename |
11 | 568 | 568 | ||
12 | 569 | def _fetch_tarball(self, package, version, orig_dir, location, v3): | 569 | def _fetch_tarball(self, package, version, orig_dir, location, v3): |
13 | 570 | 570 | ||
14 | === modified file 'merge_upstream.py' | |||
15 | --- merge_upstream.py 2011-01-17 22:18:44 +0000 | |||
16 | +++ merge_upstream.py 2011-01-24 03:08:28 +0000 | |||
17 | @@ -26,7 +26,6 @@ | |||
18 | 26 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 26 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
19 | 27 | # | 27 | # |
20 | 28 | 28 | ||
21 | 29 | import itertools | ||
22 | 30 | import subprocess | 29 | import subprocess |
23 | 31 | 30 | ||
24 | 32 | try: | 31 | try: |
25 | 33 | 32 | ||
26 | === modified file 'tests/test_upstream.py' | |||
27 | --- tests/test_upstream.py 2010-03-04 14:26:13 +0000 | |||
28 | +++ tests/test_upstream.py 2011-01-24 03:08:28 +0000 | |||
29 | @@ -20,18 +20,24 @@ | |||
30 | 20 | # We have a bit of a problem with testing the actual uscan etc. integration, | 20 | # We have a bit of a problem with testing the actual uscan etc. integration, |
31 | 21 | # so just mock them. | 21 | # so just mock them. |
32 | 22 | 22 | ||
33 | 23 | """Tests for the upstream module.""" | ||
34 | 24 | |||
35 | 25 | |||
36 | 26 | import os | ||
37 | 27 | |||
38 | 23 | from bzrlib.tests import ( | 28 | from bzrlib.tests import ( |
42 | 24 | TestCase, | 29 | TestCase, |
43 | 25 | TestCaseWithTransport, | 30 | TestCaseWithTransport, |
44 | 26 | ) | 31 | ) |
45 | 27 | from bzrlib.plugins.builddeb.errors import ( | 32 | from bzrlib.plugins.builddeb.errors import ( |
48 | 28 | PackageVersionNotPresent, | 33 | PackageVersionNotPresent, |
49 | 29 | ) | 34 | ) |
50 | 30 | from bzrlib.plugins.builddeb.upstream import ( | 35 | from bzrlib.plugins.builddeb.upstream import ( |
55 | 31 | AptSource, | 36 | AptSource, |
56 | 32 | StackedUpstreamSource, | 37 | StackedUpstreamSource, |
57 | 33 | UScanSource, | 38 | UpstreamBranchSource, |
58 | 34 | ) | 39 | UScanSource, |
59 | 40 | ) | ||
60 | 35 | 41 | ||
61 | 36 | 42 | ||
62 | 37 | class MockSources(object): | 43 | class MockSources(object): |
63 | @@ -103,7 +109,7 @@ | |||
64 | 103 | apt_pkg = MockAptPkg(sources) | 109 | apt_pkg = MockAptPkg(sources) |
65 | 104 | src = AptSource() | 110 | src = AptSource() |
66 | 105 | src._run_apt_source = caller.call | 111 | src._run_apt_source = caller.call |
68 | 106 | self.assertRaises(PackageVersionNotPresent, src.get_specific_version, | 112 | self.assertRaises(PackageVersionNotPresent, src.fetch_tarball, |
69 | 107 | "apackage", "0.2", "target", _apt_pkg=apt_pkg) | 113 | "apackage", "0.2", "target", _apt_pkg=apt_pkg) |
70 | 108 | self.assertEqual(1, apt_pkg.init_called_times) | 114 | self.assertEqual(1, apt_pkg.init_called_times) |
71 | 109 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) | 115 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) |
72 | @@ -118,7 +124,7 @@ | |||
73 | 118 | apt_pkg = MockAptPkg(sources) | 124 | apt_pkg = MockAptPkg(sources) |
74 | 119 | src = AptSource() | 125 | src = AptSource() |
75 | 120 | src._run_apt_source = caller.call | 126 | src._run_apt_source = caller.call |
77 | 121 | self.assertRaises(PackageVersionNotPresent, src.get_specific_version, | 127 | self.assertRaises(PackageVersionNotPresent, src.fetch_tarball, |
78 | 122 | "apackage", "0.2", "target", _apt_pkg=apt_pkg) | 128 | "apackage", "0.2", "target", _apt_pkg=apt_pkg) |
79 | 123 | self.assertEqual(1, apt_pkg.init_called_times) | 129 | self.assertEqual(1, apt_pkg.init_called_times) |
80 | 124 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) | 130 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) |
81 | @@ -133,7 +139,7 @@ | |||
82 | 133 | apt_pkg = MockAptPkg(sources) | 139 | apt_pkg = MockAptPkg(sources) |
83 | 134 | src = AptSource() | 140 | src = AptSource() |
84 | 135 | src._run_apt_source = caller.call | 141 | src._run_apt_source = caller.call |
86 | 136 | src.get_specific_version("apackage", "0.2", "target", | 142 | src.fetch_tarball("apackage", "0.2", "target", |
87 | 137 | _apt_pkg=apt_pkg) | 143 | _apt_pkg=apt_pkg) |
88 | 138 | self.assertEqual(1, apt_pkg.init_called_times) | 144 | self.assertEqual(1, apt_pkg.init_called_times) |
89 | 139 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) | 145 | self.assertEqual(1, apt_pkg.get_pkg_source_records_called_times) |
90 | @@ -152,7 +158,7 @@ | |||
91 | 152 | apt_pkg = MockAptPkg(sources) | 158 | apt_pkg = MockAptPkg(sources) |
92 | 153 | src = AptSource() | 159 | src = AptSource() |
93 | 154 | src._run_apt_source = caller.call | 160 | src._run_apt_source = caller.call |
95 | 155 | self.assertRaises(PackageVersionNotPresent, src.get_specific_version, | 161 | self.assertRaises(PackageVersionNotPresent, src.fetch_tarball, |
96 | 156 | "apackage", "0.2", "target", | 162 | "apackage", "0.2", "target", |
97 | 157 | _apt_pkg=apt_pkg) | 163 | _apt_pkg=apt_pkg) |
98 | 158 | self.assertEqual(1, apt_pkg.init_called_times) | 164 | self.assertEqual(1, apt_pkg.init_called_times) |
99 | @@ -173,7 +179,7 @@ | |||
100 | 173 | self._succeed = succeed | 179 | self._succeed = succeed |
101 | 174 | self._specific_versions = [] | 180 | self._specific_versions = [] |
102 | 175 | 181 | ||
104 | 176 | def get_specific_version(self, package, version, target_dir): | 182 | def fetch_tarball(self, package, version, target_dir): |
105 | 177 | self._specific_versions.append((package, version, target_dir)) | 183 | self._specific_versions.append((package, version, target_dir)) |
106 | 178 | if not self._succeed: | 184 | if not self._succeed: |
107 | 179 | raise PackageVersionNotPresent(package, version, self) | 185 | raise PackageVersionNotPresent(package, version, self) |
108 | @@ -189,7 +195,7 @@ | |||
109 | 189 | b = RecordingSource(True) | 195 | b = RecordingSource(True) |
110 | 190 | c = RecordingSource(False) | 196 | c = RecordingSource(False) |
111 | 191 | stack = StackedUpstreamSource([a, b, c]) | 197 | stack = StackedUpstreamSource([a, b, c]) |
113 | 192 | stack.get_specific_version("mypkg", "1.0", "bla") | 198 | stack.fetch_tarball("mypkg", "1.0", "bla") |
114 | 193 | self.assertEquals([("mypkg", "1.0", "bla")], b._specific_versions) | 199 | self.assertEquals([("mypkg", "1.0", "bla")], b._specific_versions) |
115 | 194 | self.assertEquals([("mypkg", "1.0", "bla")], a._specific_versions) | 200 | self.assertEquals([("mypkg", "1.0", "bla")], a._specific_versions) |
116 | 195 | self.assertEquals([], c._specific_versions) | 201 | self.assertEquals([], c._specific_versions) |
117 | @@ -205,7 +211,7 @@ | |||
118 | 205 | b = RecordingSource(False) | 211 | b = RecordingSource(False) |
119 | 206 | stack = StackedUpstreamSource([a, b]) | 212 | stack = StackedUpstreamSource([a, b]) |
120 | 207 | self.assertRaises(PackageVersionNotPresent, | 213 | self.assertRaises(PackageVersionNotPresent, |
122 | 208 | stack.get_specific_version, "pkg", "1.0", "bla") | 214 | stack.fetch_tarball, "pkg", "1.0", "bla") |
123 | 209 | self.assertEquals([("pkg", "1.0", "bla")], b._specific_versions) | 215 | self.assertEquals([("pkg", "1.0", "bla")], b._specific_versions) |
124 | 210 | self.assertEquals([("pkg", "1.0", "bla")], a._specific_versions) | 216 | self.assertEquals([("pkg", "1.0", "bla")], a._specific_versions) |
125 | 211 | 217 | ||
126 | @@ -233,3 +239,26 @@ | |||
127 | 233 | self.assertEquals(None, src._export_watchfile()) | 239 | self.assertEquals(None, src._export_watchfile()) |
128 | 234 | self.tree.smart_add(['debian/watch']) | 240 | self.tree.smart_add(['debian/watch']) |
129 | 235 | self.assertTrue(src._export_watchfile() is not None) | 241 | self.assertTrue(src._export_watchfile() is not None) |
130 | 242 | |||
131 | 243 | |||
132 | 244 | class UpstreamBranchSourceTests(TestCaseWithTransport): | ||
133 | 245 | |||
134 | 246 | def setUp(self): | ||
135 | 247 | super(UpstreamBranchSourceTests, self).setUp() | ||
136 | 248 | self.tree = self.make_branch_and_tree('.') | ||
137 | 249 | |||
138 | 250 | def test_fetch_tarball(self): | ||
139 | 251 | self.tree.commit("msg") | ||
140 | 252 | self.tree.branch.tags.set_tag("1.0", self.tree.branch.last_revision()) | ||
141 | 253 | source = UpstreamBranchSource(self.tree.branch, | ||
142 | 254 | {"1.0": self.tree.branch.last_revision()}) | ||
143 | 255 | os.mkdir("mydir") | ||
144 | 256 | self.assertEquals("mydir/foo_1.0.orig.tar.gz", | ||
145 | 257 | source.fetch_tarball("foo", "1.0", "mydir")) | ||
146 | 258 | self.failUnlessExists("mydir/foo_1.0.orig.tar.gz") | ||
147 | 259 | |||
148 | 260 | def test_fetch_tarball_not_found(self): | ||
149 | 261 | source = UpstreamBranchSource(self.tree.branch) | ||
150 | 262 | self.tree.commit("msg") | ||
151 | 263 | self.assertRaises(PackageVersionNotPresent, | ||
152 | 264 | source.fetch_tarball, "foo", "1.0", "mydir") | ||
153 | 236 | 265 | ||
154 | === modified file 'upstream.py' | |||
155 | --- upstream.py 2010-05-28 20:45:50 +0000 | |||
156 | +++ upstream.py 2011-01-24 03:08:28 +0000 | |||
157 | @@ -62,14 +62,15 @@ | |||
158 | 62 | """ | 62 | """ |
159 | 63 | raise NotImplementedError(self.get_latest_version) | 63 | raise NotImplementedError(self.get_latest_version) |
160 | 64 | 64 | ||
162 | 65 | def get_specific_version(self, package, version, target_dir): | 65 | def fetch_tarball(self, package, version, target_dir): |
163 | 66 | """Fetch the source tarball for a particular version. | 66 | """Fetch the source tarball for a particular version. |
164 | 67 | 67 | ||
165 | 68 | :param package: Name of the package | 68 | :param package: Name of the package |
166 | 69 | :param version: Version string of the version to fetch | 69 | :param version: Version string of the version to fetch |
167 | 70 | :param target_dir: Directory in which to store the tarball | 70 | :param target_dir: Directory in which to store the tarball |
168 | 71 | :return: Path of the fetched tarball | ||
169 | 71 | """ | 72 | """ |
171 | 72 | raise NotImplementedError(self.get_specific_version) | 73 | raise NotImplementedError(self.fetch_tarball) |
172 | 73 | 74 | ||
173 | 74 | def _tarball_path(self, package, version, target_dir, format=None): | 75 | def _tarball_path(self, package, version, target_dir, format=None): |
174 | 75 | return os.path.join(target_dir, tarball_name(package, version, | 76 | return os.path.join(target_dir, tarball_name(package, version, |
175 | @@ -83,7 +84,7 @@ | |||
176 | 83 | self.branch = branch | 84 | self.branch = branch |
177 | 84 | self.tree = tree | 85 | self.tree = tree |
178 | 85 | 86 | ||
180 | 86 | def get_specific_version(self, package, version, target_dir): | 87 | def fetch_tarball(self, package, version, target_dir): |
181 | 87 | db = DistributionBranch(self.branch, None, tree=self.tree) | 88 | db = DistributionBranch(self.branch, None, tree=self.tree) |
182 | 88 | if not db.has_upstream_version_in_packaging_branch(version): | 89 | if not db.has_upstream_version_in_packaging_branch(version): |
183 | 89 | raise PackageVersionNotPresent(package, version, self) | 90 | raise PackageVersionNotPresent(package, version, self) |
184 | @@ -102,12 +103,13 @@ | |||
185 | 102 | raise PackageVersionNotPresent(package, version, self) | 103 | raise PackageVersionNotPresent(package, version, self) |
186 | 103 | except PerFileTimestampsNotSupported: | 104 | except PerFileTimestampsNotSupported: |
187 | 104 | raise PackageVersionNotPresent(package, version, self) | 105 | raise PackageVersionNotPresent(package, version, self) |
188 | 106 | return target_filename | ||
189 | 105 | 107 | ||
190 | 106 | 108 | ||
191 | 107 | class AptSource(UpstreamSource): | 109 | class AptSource(UpstreamSource): |
192 | 108 | """Upstream source that uses apt-source.""" | 110 | """Upstream source that uses apt-source.""" |
193 | 109 | 111 | ||
195 | 110 | def get_specific_version(self, package, upstream_version, target_dir, | 112 | def fetch_tarball(self, package, upstream_version, target_dir, |
196 | 111 | _apt_pkg=None): | 113 | _apt_pkg=None): |
197 | 112 | if _apt_pkg is None: | 114 | if _apt_pkg is None: |
198 | 113 | import apt_pkg | 115 | import apt_pkg |
199 | @@ -138,7 +140,7 @@ | |||
200 | 138 | version = get_fn(sources, 'version', 'Version') | 140 | version = get_fn(sources, 'version', 'Version') |
201 | 139 | if upstream_version == Version(version).upstream_version: | 141 | if upstream_version == Version(version).upstream_version: |
202 | 140 | if self._run_apt_source(package, version, target_dir): | 142 | if self._run_apt_source(package, version, target_dir): |
204 | 141 | return | 143 | return self._tarball_path(package, version, target_dir) |
205 | 142 | break | 144 | break |
206 | 143 | note("apt could not find the needed tarball.") | 145 | note("apt could not find the needed tarball.") |
207 | 144 | raise PackageVersionNotPresent(package, upstream_version, self) | 146 | raise PackageVersionNotPresent(package, upstream_version, self) |
208 | @@ -158,7 +160,7 @@ | |||
209 | 158 | 160 | ||
210 | 159 | class UpstreamBranchSource(UpstreamSource): | 161 | class UpstreamBranchSource(UpstreamSource): |
211 | 160 | """Upstream source that uses the upstream branch. | 162 | """Upstream source that uses the upstream branch. |
213 | 161 | 163 | ||
214 | 162 | :ivar upstream_branch: Branch with upstream sources | 164 | :ivar upstream_branch: Branch with upstream sources |
215 | 163 | :ivar upstream_version_map: Map from version strings to revids | 165 | :ivar upstream_version_map: Map from version strings to revids |
216 | 164 | """ | 166 | """ |
217 | @@ -179,7 +181,7 @@ | |||
218 | 179 | revspec).as_revision_id(self.upstream_branch) | 181 | revspec).as_revision_id(self.upstream_branch) |
219 | 180 | return None | 182 | return None |
220 | 181 | 183 | ||
222 | 182 | def get_specific_version(self, package, version, target_dir): | 184 | def fetch_tarball(self, package, version, target_dir): |
223 | 183 | self.upstream_branch.lock_read() | 185 | self.upstream_branch.lock_read() |
224 | 184 | try: | 186 | try: |
225 | 185 | revid = self._get_revision_id(version) | 187 | revid = self._get_revision_id(version) |
226 | @@ -193,6 +195,11 @@ | |||
227 | 193 | export(rev_tree, target_filename, 'tgz', tarball_base) | 195 | export(rev_tree, target_filename, 'tgz', tarball_base) |
228 | 194 | finally: | 196 | finally: |
229 | 195 | self.upstream_branch.unlock() | 197 | self.upstream_branch.unlock() |
230 | 198 | return target_filename | ||
231 | 199 | |||
232 | 200 | def __repr__(self): | ||
233 | 201 | return "<%s for %r>" % (self.__class__.__name__, | ||
234 | 202 | self.upstream_branch.base) | ||
235 | 196 | 203 | ||
236 | 197 | 204 | ||
237 | 198 | class GetOrigSourceSource(UpstreamSource): | 205 | class GetOrigSourceSource(UpstreamSource): |
238 | @@ -216,11 +223,11 @@ | |||
239 | 216 | if os.path.exists(fetched_tarball): | 223 | if os.path.exists(fetched_tarball): |
240 | 217 | repack_tarball(fetched_tarball, desired_tarball_name, | 224 | repack_tarball(fetched_tarball, desired_tarball_name, |
241 | 218 | target_dir=target_dir, force_gz=False) | 225 | target_dir=target_dir, force_gz=False) |
243 | 219 | return True | 226 | return fetched_tarball |
244 | 220 | note("get-orig-source did not create %s", desired_tarball_name) | 227 | note("get-orig-source did not create %s", desired_tarball_name) |
246 | 221 | return False | 228 | return None |
247 | 222 | 229 | ||
249 | 223 | def get_specific_version(self, package, version, target_dir): | 230 | def fetch_tarball(self, package, version, target_dir): |
250 | 224 | if self.larstiq: | 231 | if self.larstiq: |
251 | 225 | rules_name = 'rules' | 232 | rules_name = 'rules' |
252 | 226 | else: | 233 | else: |
253 | @@ -238,10 +245,11 @@ | |||
254 | 238 | os.mkdir(export_dir) | 245 | os.mkdir(export_dir) |
255 | 239 | export_dir = os.path.join(export_dir, "debian") | 246 | export_dir = os.path.join(export_dir, "debian") |
256 | 240 | export(self.tree, export_dir, format="dir") | 247 | export(self.tree, export_dir, format="dir") |
259 | 241 | if not self._get_orig_source(base_export_dir, | 248 | tarball_path = self._get_orig_source(base_export_dir, |
260 | 242 | desired_tarball_names, target_dir): | 249 | desired_tarball_names, target_dir) |
261 | 250 | if tarball_path is None: | ||
262 | 243 | raise PackageVersionNotPresent(package, version, self) | 251 | raise PackageVersionNotPresent(package, version, self) |
264 | 244 | return | 252 | return tarball_path |
265 | 245 | finally: | 253 | finally: |
266 | 246 | shutil.rmtree(tmpdir) | 254 | shutil.rmtree(tmpdir) |
267 | 247 | note("No debian/rules file to try and use for a get-orig-source rule") | 255 | note("No debian/rules file to try and use for a get-orig-source rule") |
268 | @@ -285,7 +293,7 @@ | |||
269 | 285 | tmp.close() | 293 | tmp.close() |
270 | 286 | return tempfilename | 294 | return tempfilename |
271 | 287 | 295 | ||
273 | 288 | def get_specific_version(self, package, version, target_dir): | 296 | def fetch_tarball(self, package, version, target_dir): |
274 | 289 | tempfilename = self._export_watchfile() | 297 | tempfilename = self._export_watchfile() |
275 | 290 | if tempfilename is None: | 298 | if tempfilename is None: |
276 | 291 | raise PackageVersionNotPresent(package, version, self) | 299 | raise PackageVersionNotPresent(package, version, self) |
277 | @@ -295,9 +303,7 @@ | |||
278 | 295 | raise PackageVersionNotPresent(package, version, self) | 303 | raise PackageVersionNotPresent(package, version, self) |
279 | 296 | finally: | 304 | finally: |
280 | 297 | os.unlink(tempfilename) | 305 | os.unlink(tempfilename) |
284 | 298 | 306 | return self._tarball_path(package, version, target_dir) | |
282 | 299 | def get_latest_version(self, package, version, target_dir): | ||
283 | 300 | pass | ||
285 | 301 | 307 | ||
286 | 302 | 308 | ||
287 | 303 | class SelfSplitSource(UpstreamSource): | 309 | class SelfSplitSource(UpstreamSource): |
288 | @@ -320,16 +326,17 @@ | |||
289 | 320 | finally: | 326 | finally: |
290 | 321 | shutil.rmtree(tmpdir) | 327 | shutil.rmtree(tmpdir) |
291 | 322 | 328 | ||
293 | 323 | def get_specific_version(self, package, version, target_dir): | 329 | def fetch_tarball(self, package, version, target_dir): |
294 | 324 | note("Using the current branch without the 'debian' directory " | 330 | note("Using the current branch without the 'debian' directory " |
295 | 325 | "to create the tarball") | 331 | "to create the tarball") |
298 | 326 | self._split(package, version, | 332 | tarball_path = self._tarball_path(package, version, target_dir) |
299 | 327 | self._tarball_path(package, version, target_dir)) | 333 | self._split(package, version, tarball_path) |
300 | 334 | return tarball_path | ||
301 | 328 | 335 | ||
302 | 329 | 336 | ||
303 | 330 | class StackedUpstreamSource(UpstreamSource): | 337 | class StackedUpstreamSource(UpstreamSource): |
304 | 331 | """An upstream source that checks a list of other upstream sources. | 338 | """An upstream source that checks a list of other upstream sources. |
306 | 332 | 339 | ||
307 | 333 | The first source that can provide a tarball, wins. | 340 | The first source that can provide a tarball, wins. |
308 | 334 | """ | 341 | """ |
309 | 335 | 342 | ||
310 | @@ -339,10 +346,10 @@ | |||
311 | 339 | def __repr__(self): | 346 | def __repr__(self): |
312 | 340 | return "%s(%r)" % (self.__class__.__name__, self._sources) | 347 | return "%s(%r)" % (self.__class__.__name__, self._sources) |
313 | 341 | 348 | ||
315 | 342 | def get_specific_version(self, package, version, target_dir): | 349 | def fetch_tarball(self, package, version, target_dir): |
316 | 343 | for source in self._sources: | 350 | for source in self._sources: |
317 | 344 | try: | 351 | try: |
319 | 345 | return source.get_specific_version(package, version, target_dir) | 352 | return source.fetch_tarball(package, version, target_dir) |
320 | 346 | except PackageVersionNotPresent: | 353 | except PackageVersionNotPresent: |
321 | 347 | pass | 354 | pass |
322 | 348 | raise PackageVersionNotPresent(package, version, self) | 355 | raise PackageVersionNotPresent(package, version, self) |
323 | @@ -410,13 +417,13 @@ | |||
324 | 410 | if not os.path.exists(self.store_dir): | 417 | if not os.path.exists(self.store_dir): |
325 | 411 | os.makedirs(self.store_dir) | 418 | os.makedirs(self.store_dir) |
326 | 412 | try: | 419 | try: |
328 | 413 | self.source.get_specific_version(self.package, | 420 | self.source.fetch_tarball(self.package, |
329 | 414 | self.version.upstream_version, self.store_dir) | 421 | self.version.upstream_version, self.store_dir) |
330 | 415 | except PackageVersionNotPresent: | 422 | except PackageVersionNotPresent: |
331 | 416 | raise MissingUpstreamTarball(self._tarball_names()[0]) | 423 | raise MissingUpstreamTarball(self._tarball_names()[0]) |
332 | 417 | else: | 424 | else: |
335 | 418 | note("Using the upstream tarball that is present in " | 425 | note("Using the upstream tarball that is present in %s" % |
336 | 419 | "%s" % self.store_dir) | 426 | self.store_dir) |
337 | 420 | path = self.provide_from_store_dir(target_dir) | 427 | path = self.provide_from_store_dir(target_dir) |
338 | 421 | assert path is not None | 428 | assert path is not None |
339 | 422 | return path | 429 | return path |