Rev 4823: (jam) Check the minimum version of pyrex and fail early. in file:///home/pqm/archives/thelove/bzr/2.1/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Mar 4 20:29:14 GMT 2010


At file:///home/pqm/archives/thelove/bzr/2.1/

------------------------------------------------------------
revno: 4823 [merge]
revision-id: pqm at pqm.ubuntu.com-20100304202911-iyal0t2qzx8cb22h
parent: pqm at pqm.ubuntu.com-20100304035705-xj6wpt9xe827wgv0
parent: john at arbash-meinel.com-20100304174520-zmyxm680mwtw41kf
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: 2.1
timestamp: Thu 2010-03-04 20:29:11 +0000
message:
  (jam) Check the minimum version of pyrex and fail early.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/cleanup.py              cleanup.py-20090922032110-mv6i6y8t04oon9np-1
  bzrlib/lockdir.py              lockdir.py-20060220222025-98258adf27fbdda3
  bzrlib/plugins/launchpad/lp_api.py lp_api.py-20090704082908-79il6zl4gugwl3wz-1
  bzrlib/plugins/launchpad/test_lp_api.py test_lp_api.py-20091217012733-8sgahbhjn35ilrbu-1
  bzrlib/tests/blackbox/test_update.py test_update.py-20060212125639-c4dad1a5c56d5919
  bzrlib/tests/per_foreign_vcs/test_repository.py test_repository.py-20091014092330-i5ymtg1r2o8quut9-1
  bzrlib/tests/per_merger.py     per_merger.py-20091216002111-bzeo6wx2tcfpuj67-1
  bzrlib/tests/test_cleanup.py   test_cleanup.py-20090922032110-mv6i6y8t04oon9np-2
  bzrlib/tests/test_lockdir.py   test_lockdir.py-20060220222025-33d4221569a3d600
  setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
=== modified file 'NEWS'
--- a/NEWS	2010-03-02 04:34:45 +0000
+++ b/NEWS	2010-03-03 22:59:21 +0000
@@ -14,6 +14,8 @@
 Bug Fixes
 *********
 
+* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
+
 * Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
   problems importing bzrlib from a non-main thread.
   (Elliot Murphy, #521989)
@@ -21,7 +23,10 @@
 * Standardize the error handling when creating a new ``StaticTuple``
   (problems will raise TypeError). (Matt Nordhoff, #457979)
 
-* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
+* Warn if pyrex is too old to compile the new ``SimpleSet`` and
+  ``StaticTuple`` extensions, rather than having the build fail randomly.
+  (John Arbash Meinel, #449776)
+
 
 Documentation
 *************
@@ -33,6 +38,7 @@
 * Drop Google Analytics from the core docs as they caused problems
   in the CHM files. (Ian Clatworthy, #502010)
 
+
 bzr 2.1.0
 #########
 

=== modified file 'bzrlib/cleanup.py'
--- a/bzrlib/cleanup.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/cleanup.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/lockdir.py'
--- a/bzrlib/lockdir.py	2010-03-01 21:51:57 +0000
+++ b/bzrlib/lockdir.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2008, 2010 Canonical Ltd
+# Copyright (C) 2006-2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/plugins/launchpad/lp_api.py'
--- a/bzrlib/plugins/launchpad/lp_api.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/plugins/launchpad/lp_api.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/plugins/launchpad/test_lp_api.py'
--- a/bzrlib/plugins/launchpad/test_lp_api.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/plugins/launchpad/test_lp_api.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/tests/blackbox/test_update.py'
--- a/bzrlib/tests/blackbox/test_update.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/tests/blackbox/test_update.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2009, 2010 Canonical Ltd
+# Copyright (C) 2006-2010 Canonical Ltd
 # -*- coding: utf-8 -*-
 #
 # This program is free software; you can redistribute it and/or modify

=== modified file 'bzrlib/tests/per_foreign_vcs/test_repository.py'
--- a/bzrlib/tests/per_foreign_vcs/test_repository.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/tests/per_foreign_vcs/test_repository.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/tests/per_merger.py'
--- a/bzrlib/tests/per_merger.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/tests/per_merger.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/tests/test_cleanup.py'
--- a/bzrlib/tests/test_cleanup.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/tests/test_cleanup.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Canonical Ltd
+# Copyright (C) 2009, 2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/tests/test_lockdir.py'
--- a/bzrlib/tests/test_lockdir.py	2010-03-01 21:51:57 +0000
+++ b/bzrlib/tests/test_lockdir.py	2010-03-03 22:59:21 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2008, 2010 Canonical Ltd
+# Copyright (C) 2006-2010 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'setup.py'
--- a/setup.py	2010-01-12 06:30:41 +0000
+++ b/setup.py	2010-03-04 17:45:20 +0000
@@ -186,6 +186,7 @@
     from distutils.command.build_ext import build_ext
 else:
     have_pyrex = True
+    pyrex_version_info = tuple(map(int, pyrex_version.split('.')))
 
 
 class build_ext_if_possible(build_ext):
@@ -282,7 +283,7 @@
     add_pyrex_extension('bzrlib._walkdirs_win32')
     z_lib = 'zdll'
 else:
-    if have_pyrex and pyrex_version.startswith('0.9.4'):
+    if have_pyrex and pyrex_version_info[:3] == (0,9,4):
         # Pyrex 0.9.4.1 fails to compile this extension correctly
         # The code it generates re-uses a "local" pointer and
         # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF
@@ -301,9 +302,20 @@
 add_pyrex_extension('bzrlib._chk_map_pyx', libraries=[z_lib])
 ext_modules.append(Extension('bzrlib._patiencediff_c',
                              ['bzrlib/_patiencediff_c.c']))
-add_pyrex_extension('bzrlib._simple_set_pyx')
-ext_modules.append(Extension('bzrlib._static_tuple_c',
-                             ['bzrlib/_static_tuple_c.c']))
+if have_pyrex and pyrex_version_info < (0, 9, 6, 3):
+    print
+    print 'Your Pyrex/Cython version %s is too old to build the simple_set' % (
+        pyrex_version)
+    print 'and static_tuple extensions.'
+    print 'Please upgrade to at least Pyrex 0.9.6.3'
+    print
+    # TODO: Should this be a fatal error?
+else:
+    # We only need 0.9.6.3 to build _simple_set_pyx, but static_tuple depends
+    # on simple_set
+    add_pyrex_extension('bzrlib._simple_set_pyx')
+    ext_modules.append(Extension('bzrlib._static_tuple_c',
+                                 ['bzrlib/_static_tuple_c.c']))
 add_pyrex_extension('bzrlib._btree_serializer_pyx')
 
 




More information about the bazaar-commits mailing list