[python-migrate/el6] fix a crash relating to MigrateDeprecationWarning

Pádraig Brady pbrady at fedoraproject.org
Mon Dec 5 00:41:38 UTC 2011


commit 9255da6e9e5fa2af446fe383374e29b5162b350e
Author: Pádraig Brady <P at draigBrady.com>
Date:   Sun Dec 4 22:59:23 2011 +0000

    fix a crash relating to MigrateDeprecationWarning
    
    Certain migration scripts could trigger a crash
    due to an invalid deprecation warning, as detailed in:
    
    http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=98
    http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=106

 migrate-fix-deprecation-warning.patch |   35 +++++++++++++++++++++++++++++++++
 python-migrate.spec                   |    8 ++++++-
 2 files changed, 42 insertions(+), 1 deletions(-)
---
diff --git a/migrate-fix-deprecation-warning.patch b/migrate-fix-deprecation-warning.patch
new file mode 100644
index 0000000..958f060
--- /dev/null
+++ b/migrate-fix-deprecation-warning.patch
@@ -0,0 +1,35 @@
+Change the way a deprecation warning is issued. Fixes these:
+
+http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=98
+http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=106
+
+diff -Naur sqlalchemy-migrate-0.6.orig/migrate/versioning/script/py.py sqlalchemy-migrate-0.6/migrate/versioning/script/py.py
+--- sqlalchemy-migrate-0.6.orig/migrate/versioning/script/py.py	2010-07-09 18:53:14.000000000 +0000
++++ sqlalchemy-migrate-0.6/migrate/versioning/script/py.py	2011-12-04 22:35:55.450650132 +0000
+@@ -4,6 +4,7 @@
+ import shutil
+ import warnings
+ import logging
++import inspect
+ from StringIO import StringIO
+ 
+ import migrate
+@@ -136,12 +137,12 @@
+         funcname = base.operations[op]
+         script_func = self._func(funcname)
+ 
+-        try:
+-            script_func(engine)
+-        except TypeError:
+-            warnings.warn("upgrade/downgrade functions must accept engine"
+-                " parameter (since version > 0.5.4)", exceptions.MigrateDeprecationWarning)
+-            raise
++        # check for old way of using engine
++        if not inspect.getargspec(script_func).args:
++            raise TypeError("upgrade/downgrade functions must accept engine"
++                " parameter (since version 0.5.4)")
++
++        script_func(engine)
+ 
+     @property
+     def module(self):
diff --git a/python-migrate.spec b/python-migrate.spec
index add997c..773d5bc 100644
--- a/python-migrate.spec
+++ b/python-migrate.spec
@@ -6,7 +6,7 @@
 
 Name: python-migrate
 Version: 0.6
-Release: 5%{?dist}
+Release: 6%{?dist}
 Summary: Schema migration tools for SQLAlchemy
 
 Group: Development/Languages
@@ -17,6 +17,8 @@ Source0: http://%{srcname}.googlecode.com/files/%{srcname}-%{version}.tar.gz
 Patch0: migrate-scripttest-update.patch
 # Patch to fix a unittest on python-2.7
 Patch1: migrate-py27.patch
+# Fix invalid code causing an exception
+Patch2: migrate-fix-deprecation-warning.patch
 # Local patch to rename /usr/bin/migrate to sqlalchemy-migrate
 Patch100: python-migrate-sqlalchemy-migrate.patch
 
@@ -58,6 +60,7 @@ atabase change sets and database repository versioning.
 %setup -q -n %{srcname}-%{version}
 %patch0 -p1 -b .test
 %patch1 -p1 -b .py27
+%patch2 -p1 -b .exception
 %patch100 -p0 -b .rename
 
 # use real unittest in python 2.7 and up
@@ -96,6 +99,9 @@ nosetests
 %{python_sitelib}/*
 
 %changelog
+* Sun Dec 04 2011 Pádraig Brady <P at draigBrady.com> - 0.6-6
+- Fix a crash when trying to issue a deprecation warning
+
 * Wed Nov 16 2011 Toshio Kuratomi <toshio at fedoraproject.org> - 0.6-5
 - Require python-tempita
 


More information about the scm-commits mailing list