diff options
Diffstat (limited to 'bin/oe/parse/SRPMHandler.py')
-rw-r--r-- | bin/oe/parse/SRPMHandler.py | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/bin/oe/parse/SRPMHandler.py b/bin/oe/parse/SRPMHandler.py deleted file mode 100644 index db1b9ce5e..000000000 --- a/bin/oe/parse/SRPMHandler.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -"""class for handling .src.rpm files - - Accesses the file and obtains its metadata""" - -import re, oe, os, sys -import oe.fetch -from oe import debug, data, fetch, fatal -from oe.parse.ConfHandler import init - -_srpm_vartranslate = { -"NAME": "PN", -"VERSION": "PV", -"RELEASE": "PR", -} - -def supports(fn, d): - return fn[-8:] == ".src.rpm" - -def handle(fn, d = {}, include = 0): - init(d) - oepath = ['.'] - if not os.path.isabs(fn): - f = None - voepath = data.getVar("OEPATH", d) - if voepath: - oepath += voepath.split(":") - for p in oepath: - p = data.expand(p, d) - if os.access(os.path.join(p, fn), os.R_OK): - f = open(os.path.join(p, fn), 'r') - if f is None: - raise IOError("file not found") - else: - f = open(fn,'r') - - srpm_vars = os.popen('rpm --querytags').read().split('\n') - for v in srpm_vars: - if v in _srpm_vartranslate: - var = _srpm_vartranslate[v] - else: - var = v - querycmd = 'rpm -qp --qf \'%%{%s}\' %s 2>/dev/null' % (v, fn) - value = os.popen(querycmd).read().strip() - if value == "(none)": - value = None - if value: - data.setVar(var, value, d) - - data.setVar("SRPMFILE", fn, d) - - inheritclasses = data.getVar("INHERIT", d) - if inheritclasses: - i = inheritclasses.split() - else: - i = [] - - if not "base_srpm" in i: - i[0:0] = ["base_srpm"] - - for c in i: - oe.parse.handle('classes/%s.oeclass' % c, d) - - set_automatic_vars(fn, d, include) - set_additional_vars(fn, d, include) - data.update_data(d) - return d - -def set_automatic_vars(file, d, include): - """Deduce per-package environment variables""" - - debug(2, "setting automatic vars") - - data.setVar('CATEGORY', 'srpm', d) - data.setVar('P', '${PN}-${PV}', d) - data.setVar('PF', '${P}-${PR}', d) - - for s in ['${TOPDIR}/${CATEGORY}/${PF}', - '${TOPDIR}/${CATEGORY}/${PN}-${PV}', - '${TOPDIR}/${CATEGORY}/files', - '${TOPDIR}/${CATEGORY}']: - s = data.expand(s, d) - if os.access(s, os.R_OK): - data.setVar('FILESDIR', s, d) - break - - data.setVar('WORKDIR', '${TMPDIR}/${CATEGORY}/${PF}', d) - data.setVar('T', '${WORKDIR}/temp', d) - data.setVar('D', '${WORKDIR}/image', d) - if not data.getVar('S', d): - data.setVar('S', '${WORKDIR}/${P}', d) - data.setVar('SLOT', '0', d) - -def set_additional_vars(file, d, include): - """Deduce rest of variables, e.g. ${A} out of ${SRC_URI}""" - - debug(2,"set_additional_vars") - - src_uri = data.getVar('SRC_URI', d) - if not src_uri: - return - src_uri = data.expand(src_uri, d) - - a = data.getVar('A', d) - if a: - a = data.expand(a, d).split() - else: - a = [] - - from oe import fetch - try: - fetch.init(src_uri.split()) - except fetch.NoMethodError: - pass - - a += fetch.localpaths(d) - del fetch - data.setVar('A', ''.join(a), d) - - -# Add us to the handlers list -from oe.parse import handlers -handlers.append({'supports': supports, 'handle': handle, 'init': init}) -del handlers |