diff --git a/Makefile b/Makefile index b4de293ab01f0d3f2f904a9ff97eb961a3376f20..43bd0999f1f13c0b84ca5f837b514b7267060b8d 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ #!/usr/bin/make -f INSTALL ?= install -PREFIX ?= /usr +PREFIX ?= /usr/local clean: make -C tests clean @@ -34,4 +34,15 @@ tests: nose test%: make -C tests $@ -.PHONY: clean tests test% +check_versions: + @PYTHONPATH=. set -e; \ + DEFAULT=`python -c 'import debpython.version as v; print v.vrepr(v.DEFAULT)'`;\ + SUPPORTED=`python -c 'import debpython.version as v; print " ".join(sorted(v.vrepr(v.SUPPORTED)))'`;\ + DEB_DEFAULT=`sed -rn 's,^default-version = python([0.9.]*),\1,p' debian/debian_defaults`;\ + DEB_SUPPORTED=`sed -rn 's|^supported-versions = (.*)|\1|p' debian/debian_defaults | sed 's/python//g;s/,//g'`;\ + [ "$$DEFAULT" = "$$DEB_DEFAULT" ] || \ + (echo 'Please update DEFAULT in debpython/version.py' >/dev/stderr; false);\ + [ "$$SUPPORTED" = "$$DEB_SUPPORTED" ] || \ + (echo 'Please update SUPPORTED in debpython/version.py' >/dev/stderr; false) + +.PHONY: clean tests test% check_versions diff --git a/debian/changelog b/debian/changelog index 0beacc253a22cf9c4d4e53b7223e05718a848e47..07209b648369639b0d45bfe8fc48622a4c7779f0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -python-defaults (2.6.5-6) UNRELEASED; urgency=low +python-defaults (2.6.5-6) unstable; urgency=low [ Piotr Ożarowski ] * dh_python2: @@ -11,13 +11,13 @@ python-defaults (2.6.5-6) UNRELEASED; urgency=low [ Scott Kitterman ] * Merge changes back from Ubuntu package: - Tighten ${binary:Version} depends relationships to "=" - - python: Add an unversioned `2to3' binary (Change pending in Debian) + - python: Add an unversioned `2to3' binary - python-minimal: Provide symlink to binary and manpage for /usr/bin/python2 (Closes: #566266) * Update hard coded fallbacks in debian/pyversions.py to add python2.6 to supported versions and to make it the default version - -- Scott Kitterman <scott@kitterman.com> Sun, 27 Jun 2010 14:53:31 -0400 + -- Piotr Ożarowski <piotr@debian.org> Sun, 11 Jul 2010 14:28:47 +0200 python-defaults (2.6.5-5) unstable; urgency=medium diff --git a/debian/control b/debian/control index 53593c3bbd05d17729faabef114b691ed6c0cdd4..00d379bb4b9d4d5aee3745c9a462f0c54513778f 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Depends: ${misc:Depends}, python2.6 (>= 2.6.5+20100616-1~), python-minimal (= ${ Conflicts: python2.3 (<< 2.3.5-14), python2.1 (<= 2.1.2), python-xmlbase, python-csv, python-bz2, python-base, python-central (<< 0.5.5) Replaces: python2.3 (<= 2.3.2-6), python-xmlbase, python-base, python-dev (<< 2.6.5-2) Provides: python-email, python-xmlbase, python-plistlib, python-ctypes, python-wsgiref -Suggests: python-doc (>= ${binary:Version}), python-tk (>= ${binary:Version}), python-profiler (>= ${binary:Version}) +Suggests: python-doc (= ${binary:Version}), python-tk (= ${binary:Version}), python-profiler (= ${binary:Version}) Description: An interactive high-level object-oriented language (default version) Python, the high-level, interactive object oriented language, includes an extensive class library with lots of goodies for diff --git a/debian/rules b/debian/rules index 37d248f7eef9d2905ef1dd3a3ad05be2bd14b1fe..ce544717dd2bc8ce91db26820fb55095103ed8a0 100755 --- a/debian/rules +++ b/debian/rules @@ -142,8 +142,9 @@ stamp-dh_python: dh_testdir dh_testroot dh_installdirs - DESTDIR=debian/python make install-dev - DESTDIR=debian/python-minimal make install-runtime + make check_versions + DESTDIR=debian/python PREFIX=/usr make install-dev + DESTDIR=debian/python-minimal PREFIX=/usr make install-runtime touch $@ # Build architecture-independent files here. diff --git a/debpython/depends.py b/debpython/depends.py index 928ed10e10db81bad94a7adf3c39d7663979f742..5263f0c0d7a7c53f7eac4256fff44e48c32c269a 100644 --- a/debpython/depends.py +++ b/debpython/depends.py @@ -19,7 +19,6 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -from __future__ import with_statement import logging from debpython.pydist import parse_pydep from debpython.version import SUPPORTED, DEFAULT, debsorted, vrepr, vrange_str @@ -102,7 +101,7 @@ class Dependencies(object): tpl2 = 'python%d.%d' self.depend(' | '.join(tpl2 % i for i in debsorted(pub_vers))) - # add additional Breaks/Depends to block python package transitions + # additional Breaks/Depends to block python package transitions if self.use_breaks: if minv <= min_supp: self.break_("%s (<< %d.%d)" % \ @@ -129,7 +128,7 @@ class Dependencies(object): versions = list(v for i, v in details.get('shebangs', []) if v) if len(versions) > 1: log.error('more than one Python dependency from shebangs' - '(%s shebang versions: %s', private_dir, versions) + '(%s shebang versions: %s)', private_dir, versions) exit(13) elif len(versions) == 1: # one hardcoded version self.depend("python%d.%d" % versions[0]) diff --git a/debpython/pydist.py b/debpython/pydist.py index 69f6a10bfd1a4c2874790ba52f253ce3ae581b9c..5b9e13bd3e59100a650fe1fb53a0ecce05418478 100644 --- a/debpython/pydist.py +++ b/debpython/pydist.py @@ -48,7 +48,7 @@ REQUIRES_RE = re.compile(r''' (?P<name>[A-Za-z][A-Za-z0-9_.]*) \s* (?: # optional version - (?P<symbol><=?|>=?|==|!=) + (?P<operator><=?|>=?|==|!=) \s* (?P<version>(\w|[-.])+) )? @@ -110,8 +110,8 @@ def guess_dependency(req, version=None): req_dict = REQUIRES_RE.match(req) if not req: log.warning('requirement is not valid: %s', req) - log.debug('please ask dh_python2 author to fix REQUIRES_RE ' - 'or your upstream author to fix requires.txt') + log.info('please ask dh_python2 author to fix REQUIRES_RE ' + 'or your upstream author to fix requires.txt') return set() # should we sys.exit(1) here? req_dict = req_dict.groupdict() name = req_dict['name'].lower()