Codebase list dh-python / 742023e
Add debug logging to dependency handling Stuart Prescott authored 1 year, 7 months ago Stefano Rivera committed 1 year, 7 months ago
1 changed file(s) with 9 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
202202 name = req_d['name']
203203 details = data.get(name.lower())
204204 if details:
205 log.debug("dependency: module seems to be installed")
205206 for item in details:
206207 if version and version not in item.get('versions', version):
207208 # rule doesn't match version, try next one
208209 continue
209210 if not item['dependency']:
211 log.debug("dependency: requirement ignored")
210212 return # this requirement should be ignored
211213 if item['dependency'].endswith(')'):
212214 # no need to translate versions if version is hardcoded in
213215 # Debian dependency
216 log.debug("dependency: requirement already has hardcoded version")
214217 return item['dependency'] + env_marker_alts
215218 if req_d['operator'] == '==' and req_d['version'].endswith('*'):
216219 # Translate "== 1.*" to "~= 1.0"
217220 req_d['operator'] = '~='
218221 req_d['version'] = req_d['version'].replace('*', '0')
222 log.debug("dependency: translated wildcard version to semver limit")
219223 if req_d['version'] and (item['standard'] or item['rules']) and\
220224 req_d['operator'] not in (None, '!='):
221225 o = _translate_op(req_d['operator'])
232236 v2 = _translate(_max_compatible(req_d['version']), item['rules'], item['standard'])
233237 d += ", %s (%s %s)%s" % (
234238 item['dependency'], o2, v2, env_marker_alts)
239 log.debug("dependency: constructed version")
235240 return d
236241 elif accept_upstream_versions and req_d['version'] and \
237242 req_d['operator'] not in (None,'!='):
248253 d += ", %s (%s %s)%s" % (
249254 item['dependency'], o2,
250255 _max_compatible(req_d['version']), env_marker_alts)
256 log.debug("dependency: constructed upstream version")
251257 return d
252258 else:
253259 if item['dependency'] in bdep:
254260 if None in bdep[item['dependency']] and bdep[item['dependency']][None]:
261 log.debug("dependency: included in build-deps with limits ")
255262 return "{} ({}){}".format(
256263 item['dependency'], bdep[item['dependency']][None],
257264 env_marker_alts)
258265 # if arch in bdep[item['dependency']]:
259266 # TODO: handle architecture specific dependencies from build depends
260267 # (current architecture is needed here)
268 log.debug("dependency: included in build-deps")
261269 return item['dependency'] + env_marker_alts
262270
263271 # search for Egg metadata file or directory (using dpkg -S)
283291 elif not result:
284292 log.debug('dpkg -S did not find package for %s', name)
285293 else:
294 log.debug('dependency: found a result with dpkg -S')
286295 return result.pop() + env_marker_alts
287296 else:
288297 log.debug('dpkg -S did not find package for %s: %s', name, stderr)