~debian-bazaar/debian/sid/breezy-debian/unstable

« back to all changes in this revision

Viewing changes to upstream/__init__.py

  • Committer: Jelmer Vernooij
  • Date: 2018-04-07 01:54:29 UTC
  • Revision ID: jelmer@blodeuwedd-20180407015429-e5y0jl2gohm4r1r6
Remove support for 'get-orig-source' debian/rules target, which was
removed in Debian policy 4.1.4.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
167
167
        return True
168
168
 
169
169
 
170
 
class DebianRulesSource(UpstreamSource):
171
 
    """Upstream source that uses rules in debian/rules."""
172
 
 
173
 
    def __init__(self, tree, top_level):
174
 
        self.tree = tree
175
 
        self.top_level = top_level
176
 
 
177
 
    def _get_rule_source(self, source_dir, rule, make_vars=None):
178
 
        command = ["make", "-f", "debian/rules", rule]
179
 
        if make_vars is not None:
180
 
            command.extend(["%s=%s" % item for item in make_vars.iteritems()])
181
 
 
182
 
        proc = subprocess.Popen(command, cwd=source_dir)
183
 
        ret = proc.wait()
184
 
        if ret != 0:
185
 
            note("Trying to run %s rule failed" % rule)
186
 
            return False
187
 
        return True
188
 
 
189
 
    def _get_current_source(self, source_dir, package, version, target_dir):
190
 
        rule = "get-packaged-orig-source"
191
 
        note("Trying to use %s to retrieve needed tarball." % rule)
192
 
        if not self._get_rule_source(source_dir, rule, {
193
 
                "ORIG_VERSION": version,
194
 
                "ORIG_PACKAGE": package}):
195
 
            rule = "get-orig-source"
196
 
            note("Trying to use %s to retrieve needed tarball (deprecated)." % rule)
197
 
            if not self._get_rule_source(source_dir, rule):
198
 
                return None
199
 
        filenames = gather_orig_files(package, version, source_dir)
200
 
        if not filenames:
201
 
            note("%s did not create file for %s version %s", rule, package, version)
202
 
            return None
203
 
        if rule == "get-orig-source":
204
 
            warning("Using get-orig-source to retrieve the packaged orig tarball "
205
 
                    "is deprecated (see debian policy section 4.9). Provide the "
206
 
                    "'get-packaged-orig-source' target instead.")
207
 
        ret = []
208
 
        for filename in filenames:
209
 
            repack_tarball(
210
 
                filename, os.path.basename(filename), target_dir=target_dir)
211
 
            ret.append(os.path.join(target_dir, os.path.basename(filename)))
212
 
        return ret
213
 
 
214
 
    def _get_rules_id(self):
215
 
        if self.top_level:
216
 
            rules_name = 'rules'
217
 
        else:
218
 
            rules_name = 'debian/rules'
219
 
        return self.tree.path2id(rules_name)
220
 
 
221
 
    def fetch_tarballs(self, package, version, target_dir, components=None):
222
 
        rules_id = self._get_rules_id()
223
 
        if rules_id is None:
224
 
            note("No debian/rules file to use to retrieve upstream tarball.")
225
 
            raise PackageVersionNotPresent(package, version, self)
226
 
        tmpdir = tempfile.mkdtemp(prefix="builddeb-get-source-")
227
 
        try:
228
 
            base_export_dir = os.path.join(tmpdir, "export")
229
 
            export_dir = base_export_dir
230
 
            if self.top_level:
231
 
                os.mkdir(export_dir)
232
 
                export_dir = os.path.join(export_dir, "debian")
233
 
            export(self.tree, export_dir, format="dir")
234
 
            tarball_paths = self._get_current_source(base_export_dir,
235
 
                    package, version, target_dir)
236
 
            if tarball_paths is None:
237
 
                raise PackageVersionNotPresent(package, version, self)
238
 
            return tarball_paths
239
 
        finally:
240
 
            shutil.rmtree(tmpdir)
241
 
 
242
 
 
243
170
class UScanSource(UpstreamSource):
244
171
    """Upstream source that uses uscan."""
245
172