in dh_virtualenv/debhelper.py [0:0]
def __init__(self, options):
self.options = options
self.packages = {}
self.python_version = None
source_section = True
binary_package = None
pkgs = options.package
skip_pkgs = options.no_package
try:
fp = open('debian/control', 'r')
except IOError:
raise Exception('cannot find debian/control file')
xspv = xpv = False
for line in fp:
if not line.strip():
source_section = False
binary_package = None
continue
if binary_package:
if binary_package.startswith('python3'):
continue
if pkgs and binary_package not in pkgs:
continue
if skip_pkgs and binary_package in skip_pkgs:
continue
if line.startswith('Architecture:'):
arch = line[13:].strip()
# TODO: if arch doesn't match current architecture:
#del self.packages[binary_package]
self.packages[binary_package]['arch'] = arch
continue
elif line.startswith('Package:'):
binary_package = line[8:].strip()
if binary_package.startswith('python3'):
log.debug('skipping Python 3.X package: %s', binary_package)
continue
if pkgs and binary_package not in pkgs:
continue
if skip_pkgs and binary_package in skip_pkgs:
continue
self.packages[binary_package] = {'substvars': {},
'autoscripts': {},
'rtupdates': [],
'arch': 'any'}
elif line.startswith('Source:'):
self.source_name = line[7:].strip()
elif source_section:
if line.lower().startswith('xs-python-version:'):
xspv = True
if not self.python_version:
self.python_version = line[18:].strip()
if line.lower().startswith('x-python-version:'):
xpv = True
self.python_version = line[17:].strip()
if xspv and xpv:
log.error('Please remove XS-Python-Version from debian/control')
log.debug('source=%s, binary packages=%s', self.source_name, \
list(self.packages.keys()))