diff --git a/debian/changelog b/debian/changelog index 6c9095f4071df47f8bb66efc314e78fbe9f294be..ab7ca0f2236dc818b5fb2445a42ba5efa4d7803d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +python-defaults (2.6.5-10) UNRELEASED; urgency=low + + * dh_python2: add --depend command line option (use it if requires.txt + doesn't contain dependency that package needs) + + -- Piotr Ożarowski <piotr@debian.org> Wed, 21 Jul 2010 21:10:19 +0200 + python-defaults (2.6.5-9) unstable; urgency=low [ Piotr Ożarowski ] diff --git a/debpython/depends.py b/debpython/depends.py index d8156bd75871701581890363d172eed59cb27cfc..87d4c77113b79b43a1ad9aea942d59c3cbf8a915 100644 --- a/debpython/depends.py +++ b/debpython/depends.py @@ -20,7 +20,7 @@ # THE SOFTWARE. import logging -from debpython.pydist import parse_pydep +from debpython.pydist import parse_pydep, guess_dependency from debpython.version import SUPPORTED, DEFAULT, debsorted, vrepr, vrange_str log = logging.getLogger('dh_python') @@ -152,4 +152,9 @@ class Dependencies(object): for fn in stats['requires.txt']: for i in parse_pydep(fn): self.depend(i) + + # add dependencies from --depend + for item in options.depends: + self.depend(guess_dependency(item)) + log.debug(self) diff --git a/debpython/pydist.py b/debpython/pydist.py index e1fcdd0a190b8165684336f285fc8e0bcc1736b8..88e97b387942888901fc4ca23bbd857aa5baa218 100644 --- a/debpython/pydist.py +++ b/debpython/pydist.py @@ -121,7 +121,7 @@ def guess_dependency(req, version=None): details = data.get(req_dict['name'].lower()) if details: for item in details: - if version not in item.get('versions', version): + if version and version not in item.get('versions', version): # rule doesn't match version, try next one continue diff --git a/dh_python2 b/dh_python2 index 72e845629081717bf70a1cad20757a169fddd202..3934f024b1e5afb10a16d5e76aaf1ddf8a574e6b 100755 --- a/dh_python2 +++ b/dh_python2 @@ -417,6 +417,9 @@ def main(): parser.add_option('-X', '--exclude', action='append', dest='regexpr', help='exclude items that match given REGEXPR. You may use this option' 'multiple times to build up a list of things to exclude.') + parser.add_option('--depend', action='append', + dest='depends', help='generate dependencies for given ' + 'Python distributions') # ignore some debhelper options: parser.add_option('-O', help=SUPPRESS_HELP) diff --git a/tests/t1/debian/pydist-overrides b/tests/t1/debian/pydist-overrides index e0d0d0dc62fa7ea7a6c31a82b1d598120f372595..24b440d075ec9b51cbc389e93e6bb74449ee994a 100644 --- a/tests/t1/debian/pydist-overrides +++ b/tests/t1/debian/pydist-overrides @@ -1,2 +1,2 @@ Mako python-mako (>= 0.2) -SQLAlchemy python-sqlalchemy (<< 0.6) +SQLAlchemy python-sqlalchemy (>= 0.6) diff --git a/tests/t1/debian/rules b/tests/t1/debian/rules index 1d078608d30cafeae85d36c86f8d84c55d75ff03..3a179028100d32af4516356c79e88a87a0e5821e 100755 --- a/tests/t1/debian/rules +++ b/tests/t1/debian/rules @@ -5,4 +5,4 @@ override_dh_pysupport: find debian/ -name jquery.js -exec \ ln -fs /usr/share/javascript/jquery/jquery.js '{}' \; - DH_VERBOSE=1 ../../dh_python2 + DH_VERBOSE=1 ../../dh_python2 --depend 'SQLAlchemy >= 0.6.1'