--- /dev/null
--- /dev/null
++python-astropy (0.4.2-2) unstable; urgency=medium
++
++ * Don't set defalt SSL protocol in vo/samp/client.py. Closes: #775780
++
++ -- Ole Streicher <olebole@debian.org> Mon, 19 Jan 2015 21:07:18 +0100
++
++python-astropy (0.4.2-1) unstable; urgency=low
++
++ * New upstream release.
++ * Build-depend on libcfitsio-dev instead of libcfitsio3-dev. Closes: #761716
++ * Upgrade to Standards-Version 3.9.6 (no changes needed)
++
++ -- Ole Streicher <olebole@debian.org> Wed, 24 Sep 2014 14:49:35 +0200
++
++python-astropy (0.4.1+dfsg2-1) unstable; urgency=low
++
++ * Remove astropy-helper and use external dependency. Closes: #761055
++ * Support numpy 1.9. Closes: #761392
++ * Update uploaders email address
++
++ -- Ole Streicher <olebole@debian.org> Sun, 14 Sep 2014 13:50:29 +0200
++
++python-astropy (0.4.1+dfsg-1) unstable; urgency=low
++
++ * New upstream version
++ * Exclude precompiled files from source tarball
++
++ -- Ole Streicher <debian@liska.ath.cx> Sun, 10 Aug 2014 10:22:07 +0200
++
++python-astropy (0.4-4) unstable; urgency=low
++
++ * build-depend on wcslib >= 4.23. Closes: #755485
++
++ -- Ole Streicher <debian@liska.ath.cx> Tue, 22 Jul 2014 17:22:16 +0200
++
++python-astropy (0.4-3) unstable; urgency=low
++
++ * Revert build-depends-indep since it does not work yet.
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 18 Jul 2014 16:50:55 +0200
++
++python-astropy (0.4-2) unstable; urgency=low
++
++ * Fix locale on build
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 18 Jul 2014 09:16:16 +0200
++
++python-astropy (0.4-1) unstable; urgency=low
++
++ * New upstream version
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 16 Jul 2014 20:21:39 +0200
++
++python-astropy (0.4~rc2-3) experimental; urgency=low
++
++ * Convert from python-support to dh_python
++
++ -- Ole Streicher <debian@liska.ath.cx> Mon, 14 Jul 2014 09:46:47 +0200
++
++python-astropy (0.4~rc2-2) experimental; urgency=low
++
++ * Fix FTBS on powerpc, s390
++
++ -- Ole Streicher <debian@liska.ath.cx> Sun, 13 Jul 2014 18:56:28 +0200
++
++python-astropy (0.4~rc2-1) experimental; urgency=low
++
++ * New upstream prerelease
++
++ -- Ole Streicher <debian@liska.ath.cx> Sat, 12 Jul 2014 18:51:26 +0200
++
++python-astropy (0.4~rc1-2) experimental; urgency=low
++
++ * Fix FTBS on powerpc and s390x
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 09 Jul 2014 13:16:06 +0200
++
++python-astropy (0.4~rc1-1) experimental; urgency=low
++
++ * New upstream prerelease
++ * Adjust watch file for prerelease
++
++ -- Ole Streicher <debian@liska.ath.cx> Mon, 07 Jul 2014 16:07:05 +0200
++
++python-astropy (0.3.2-3) unstable; urgency=low
++
++ * Fix checksum calculation and test on 32-bit
++
++ -- Ole Streicher <debian@liska.ath.cx> Sat, 17 May 2014 17:05:58 +0200
++
++python-astropy (0.3.2-2) unstable; urgency=low
++
++ * Mark known failures as xfail.
++ * Change maintainer and VCS location to debian-astro
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 14 May 2014 14:47:35 +0200
++
++python-astropy (0.3.2-1) unstable; urgency=low
++
++ * New upstream version. Closes: #743554
++ * Don't repack since all sources are included now
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 14 May 2014 09:21:18 +0200
++
++python-astropy (0.3.1+dfsg-1) unstable; urgency=low
++
++ * New upstream version
++
++ -- Ole Streicher <debian@liska.ath.cx> Thu, 06 Mar 2014 11:40:55 +0100
++
++python-astropy (0.3+dfsg-3) unstable; urgency=low
++
++ * Re-integrate 0.3-6 fixes which were left out by another mistake :-)
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 24 Jan 2014 11:31:26 +0100
++
++python-astropy (0.3+dfsg-2) unstable; urgency=low
++
++ * Re-integrate 0.3-5 fixes which were left out by mistake
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 24 Jan 2014 11:11:46 +0100
++
++python-astropy (0.3+dfsg-1) unstable; urgency=low
++
++ * Remove sourceless files jqery*.js. Closes: #735770
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 24 Jan 2014 09:43:27 +0100
++
++python-astropy (0.3-6) unstable; urgency=low
++
++ * Fix another FTBS causes on python-3.4.
++
++ -- Ole Streicher <debian@liska.ath.cx> Thu, 16 Jan 2014 16:27:55 +0100
++
++python-astropy (0.3-5) unstable; urgency=low
++
++ * Include upstream fixes to build on python-3.4. Closes: #734293
++ * Upgrade to Standards-Version 3.9.5 (no changes needed)
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 15 Jan 2014 09:57:05 +0100
++
++python-astropy (0.3-4) unstable; urgency=low
++
++ * Mark known s390 failures as xfail.
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 20 Dec 2013 10:43:16 +0100
++
++python-astropy (0.3-3) unstable; urgency=low
++
++ * Fix vo_test.py for big endian.
++
++ -- Ole Streicher <debian@liska.ath.cx> Tue, 10 Dec 2013 11:23:38 +0100
++
++python-astropy (0.3-2) unstable; urgency=low
++
++ * Fix doctest and mark other known test failures on big endian until
++ they get fixed upstream.
++
++ -- Ole Streicher <debian@liska.ath.cx> Mon, 09 Dec 2013 14:23:04 +0100
++
++python-astropy (0.3-1) unstable; urgency=low
++
++ * New upstream version.
++ * Remove legacy packages that are no longer supported upstream.
++
++ -- Ole Streicher <debian@liska.ath.cx> Sat, 30 Nov 2013 12:56:34 +0100
++
++python-astropy (0.2.5-1) unstable; urgency=low
++
++ * New upstream version.
++
++ -- Ole Streicher <debian@liska.ath.cx> Sun, 27 Oct 2013 18:29:01 +0100
++
++python-astropy (0.2.4-3) unstable; urgency=low
++
++ * Fix "Conflicts" of python3-astropy-legacy. Closes: #719770
++
++ -- Ole Streicher <debian@liska.ath.cx> Thu, 15 Aug 2013 14:33:37 +0200
++
++python-astropy (0.2.4-2) unstable; urgency=low
++
++ * Enable python3 packages
++
++ -- Ole Streicher <debian@liska.ath.cx> Mon, 05 Aug 2013 21:04:23 +0200
++
++python-astropy (0.2.4-1) unstable; urgency=low
++
++ * New upstream version.
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 26 Jul 2013 17:41:26 +0200
++
++python-astropy (0.2.3-2~1) experimental; urgency=low
++
++ * Fix FTBS on MIPS and MIPSEL
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 21 Jun 2013 16:31:15 +0200
++
++python-astropy (0.2.3-1) unstable; urgency=low
++
++ * New upstream version; incorporates all previous patches
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 07 Jun 2013 14:40:05 +0200
++
++python-astropy (0.2.1-1) unstable; urgency=low
++
++ * Fix FTBS (unit test failure) on HURD
++ * Change distribution to unstable
++
++ -- Ole Streicher <debian@liska.ath.cx> Tue, 30 Apr 2013 10:36:01 +0200
++
++python-astropy (0.2.1-1~exp6) experimental; urgency=low
++
++ * Fix FTBS (unit test failure) on MIPS
++
++ -- Ole Streicher <debian@liska.ath.cx> Fri, 26 Apr 2013 09:57:59 +0200
++
++python-astropy (0.2.1-1~exp5) experimental; urgency=low
++
++ * Fix FTBS (unit test failure) on bigendian machines
++
++ -- Ole Streicher <debian@liska.ath.cx> Mon, 22 Apr 2013 19:37:00 +0200
++
++python-astropy (0.2.1-1~exp4) experimental; urgency=low
++
++ * Fix FTBS (unit test failure) on Hurd
++
++ -- Ole Streicher <debian@liska.ath.cx> Sun, 14 Apr 2013 18:39:00 +0200
++
++python-astropy (0.2.1-1~exp3) experimental; urgency=low
++
++ * Suggest optional packages
++
++ -- Ole Streicher <debian@liska.ath.cx> Sun, 14 Apr 2013 12:17:00 +0200
++
++python-astropy (0.2.1-1~exp2) experimental; urgency=low
++
++ * increase test verbosity to catch bigendian FTBS
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 10 Apr 2013 16:21:00 +0200
++
++python-astropy (0.2.1-1~exp1) experimental; urgency=low
++
++ * New upstream release
++ * Infrastructure to build python3 packages (but py3 still disabled)
++ * Fix FTBS: set a writeable HOME + MPLCONFIGDIR
++
++ -- Ole Streicher <debian@liska.ath.cx> Thu, 10 Apr 2013 09:10:00 +0200
++
++python-astropy (0.2~b2-1) experimental; urgency=low
++
++ * Initial release. (Closes: #678168)
++
++ -- Ole Streicher <debian@liska.ath.cx> Wed, 30 Jan 2013 10:00:00 +0100
--- /dev/null
--- /dev/null
++astropy/astropy.cfg
++astropy/cython_version.py
++astropy/convolution/boundary_extend.c
++astropy/convolution/boundary_fill.c
++astropy/convolution/boundary_none.c
++astropy/convolution/boundary_wrap.c
++astropy/table/_np_utils.c
++astropy/time/erfa_time.c
++astropy/version.py
++astropy/wcs/include/docstrings.h
++astropy/wcs/include/wcsconfig.h
++astropy/wcs/src/docstrings.c
++docs/api/*
--- /dev/null
--- /dev/null
++9
--- /dev/null
--- /dev/null
++Source: python-astropy
++Maintainer: Debian Astronomy Maintainers <debian-astro-maintainers@lists.alioth.debian.org>
++Uploaders: Ole Streicher <olebole@debian.org>
++Section: python
++Priority: optional
++Build-Depends: cython,
++ debhelper (>= 9),
++ dh-python,
++ graphviz,
++ libcfitsio-dev,
++ liberfa-dev,
++ libexpat1-dev,
++ pkg-config,
++ python-all-dev (>= 2.6.6-3~),
++ python-astropy-helpers,
++ python-nose,
++ python-matplotlib,
++ python-numpy (>= 1.4),
++ python-setuptools (>= 0.6.4),
++ python-sphinx (>= 1.0.7+dfsg),
++ python3-all-dev,
++ python3-astropy-helpers,
++ python3-nose,
++ python3-matplotlib,
++ python3-numpy (>= 1:1.6.2),
++ python3-setuptools (>= 0.6.4),
++ wcslib-dev (>= 4.24),
++ zlib1g-dev
++Standards-Version: 3.9.6
++Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-astro/packages/python-astropy.git
++Vcs-Git: git://anonscm.debian.org/debian-astro/packages/python-astropy.git
++Homepage: http://astropy.org
++X-Python-Version: >= 2.6
++X-Python3-Version: >= 3.2
++
++Package: python-astropy
++Architecture: any
++Depends: ${misc:Depends},
++ ${python:Depends},
++ ${shlibs:Depends}
++Suggests: python-astropy-doc,
++ python-h5py,
++ python-scipy,
++ libxml2-utils
++Description: Core functionality for performing astrophysics with Python
++ The astropy package contains core functionality and some common tools
++ needed for performing astronomy and astrophysics research with Python.
++ It is expected to be extended by a number of "affiliated packages" that are
++ intended to work with the core package.
++ .
++ The current release is a developer preview.
++
++Package: python3-astropy
++Architecture: any
++Depends: ${misc:Depends},
++ ${python3:Depends},
++ ${shlibs:Depends}
++Suggests: python-astropy-doc
++Description: Core functionality for performing astrophysics with Python3
++ The astropy package contains core functionality and some common tools
++ needed for performing astronomy and astrophysics research with Python3.
++ It is expected to be extended by a number of "affiliated packages" that are
++ intended to work with the core package.
++ .
++ The current release is a developer preview.
++
++Package: python-astropy-doc
++Architecture: all
++Section: doc
++Depends: ${misc:Depends},
++ ${sphinxdoc:Depends}
++Description: Core functionality for performing astrophysics with Python (doc)
++ The astropy package contains core functionality and some common tools
++ needed for performing astronomy and astrophysics research with Python.
++ It is expected to be extended by a number of "affiliated packages" that are
++ intended to work with the core package.
++ .
++ This package contains the package documentation.
--- /dev/null
--- /dev/null
++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: astropy
++Upstream-Author: The Astropy Developers
++Source: http://www.astropy.org/
++Files-Excluded: astropy_helpers/*
++
++Files: * astropy/io/fits/*
++ astropy/sphinx/ext/compiler_unparse.py astropy/sphinx/ext/comment_eater.py
++ astropy/sphinx/ext/traitsdoc.py astropy/extern/configobj_*/*
++ astropy/extern/js/jquery.dataTables.js
++Copyright: Copyright (c) 2011, Astropy Developers,
++ 2004-2005 Association of Universities for Research in Astronomy,
++ 2006 Enthought, Inc.,
++ 2010-2011 Smithsonian Astrophysical Observatory,
++ 2003-2010 Michael Foord, Mark Andrews, Nicola Larosa,
++ 1995-2010 Jean-loup Gailly and Mark Adler,
++ 2001-2011 David M. Beazley (Dabeaz LLC)
++ 2008-2013 Allan Jardine
++License: BSD-3-Clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are met:
++ .
++ 1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ .
++ 2. Redistributions in binary form must reproduce the above
++ copyright notice, this list of conditions and the following
++ disclaimer in the documentation and/or other materials provided
++ with the distribution.
++ .
++ 3. Neither the name of AURA and its representatives nor the names
++ of the Smithsonian Astrophysical Observatory, Enthought Inc., Michael Foord,
++ the name of Voidspace, the names of its contributors, David Beazley, or
++ Dabeaz LLC, Allan Jardine nor SpryMedia, may not be used to endorse or
++ promote products derived from this software without specific prior
++ written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY ITS AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
++ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ DISCLAIMED. IN NO EVENT SHALL AURA BE LIABLE FOR ANY DIRECT, INDIRECT,
++ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
++ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
++ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
++ DAMAGE.
++
++Files: cextern/expat/*
++Copyright: 2001-2007 Expat maintainers,
++ 1998-2003 Thai Open Source Software Center Ltd and Clark Cooper
++ 2014 jQuery Foundation and other contributors
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, includingwithout limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ SOFTWARE.
++
++Files: astropy/sphinx/ext/numpydoc.py astropy/sphinx/ext/docscrape.py
++ astropy/sphinx/ext/docscrape_sphinx.py astropy/sphinx/ext/phantom_import.py
++ debian/*
++Copyright: Copyright (C) 2008 Stefan van der Walt <stefan@mentat.za.net>,
++ Pauli Virtanen <pav@iki.fi>,
++ 2012-2014 Ole Streicher <olebole@debian.org>
++License: BSD-2-Clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are met:
++ .
++ 1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ 2. Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
++ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
++ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
++ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
++ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
++ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++Files: cextern/wcslib/*
++Copyright: Copyright (C) 1995-2012, Mark Calabretta
++License: LGPL-3
++ WCSLIB is free software: you can redistribute it and/or modify it under the
++ terms of the GNU Lesser General Public License as published by the Free
++ Software Foundation, either version 3 of the License, or (at your option)
++ any later version.
++ .
++ WCSLIB is distributed in the hope that it will be useful, but WITHOUT ANY
++ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
++ more details.
++ .
++ On Debian systems, the full text of the GNU Lesser General Public
++ License version 3 can be found in the file
++ `/usr/share/common-licenses/LGPL-3'.
++ .
++ Correspondence concerning WCSLIB may be directed to:
++ Internet email: mcalabre@atnf.csiro.au
++ Postal address: Dr. Mark Calabretta
++ Australia Telescope National Facility, CSIRO
++ PO Box 76
++ Epping NSW 1710
++ AUSTRALIA
++Comment: Note that these files are not used in the package build process, so
++ the copyright information is included here only as a reference.
--- /dev/null
--- /dev/null
++Author: Ole Streicher <olebole@debian.org>
++Description: Disable astropy-helpers copy
++Bug: https://bugs.debian.org/761055
++--- a/setup.cfg
+++++ b/setup.cfg
++@@ -22,4 +22,4 @@
++ bitmap = static/wininst_background.bmp
++
++ [ah_bootstrap]
++-auto_use = True
+++auto_use = False
--- /dev/null
--- /dev/null
++Author: Ole Streicher <olebole@debian.org>
++Description: Mark all known test failures as xfail.
++ These failures have been discussed with upstream.
++--- a/astropy/io/fits/tests/test_connect.py
+++++ b/astropy/io/fits/tests/test_connect.py
++@@ -121,6 +121,9 @@
++ # while reading is to check whether col.null is present. For float columns, col.null
++ # is not initialized
++
+++ # see https://github.com/astropy/astropy/issues/1849
+++ # Fails on powerpc, s390
+++ @pytest.mark.xfail
++ def test_read_from_fileobj(self, tmpdir):
++ filename = str(tmpdir.join('test_read_from_fileobj.fits'))
++ hdu = BinTableHDU(self.data)
++@@ -157,6 +160,9 @@
++ def setup_method(self, method):
++ warnings.filterwarnings('always')
++
+++ # see https://github.com/astropy/astropy/issues/1849
+++ # Fails on powerpc, s390
+++ @pytest.mark.xfail
++ def test_read(self, tmpdir):
++ filename = str(tmpdir.join('test_read.fits'))
++ self.hdus.writeto(filename)
++@@ -175,6 +181,9 @@
++ assert exc.value.args[0] == 'No table found in hdu=0'
++
++ @pytest.mark.parametrize('hdu', [1, 'first'])
+++ # see https://github.com/astropy/astropy/issues/1849
+++ # Fails on powerpc, s390
+++ @pytest.mark.xfail
++ def test_read_with_hdu_1(self, tmpdir, hdu):
++ filename = str(tmpdir.join('test_read_with_hdu_1.fits'))
++ self.hdus.writeto(filename)
++--- a/astropy/modeling/tests/test_rotations.py
+++++ b/astropy/modeling/tests/test_rotations.py
++@@ -46,7 +46,9 @@
++ x, y = model(1, 0)
++ utils.assert_allclose([x, y], [0, 1], atol=1e-10)
++
++-
+++# see https://github.com/astropy/astropy/issues/2708
+++# Fails on powerpc, s390
+++@pytest.mark.xfail
++ def test_Rotation2D_inverse():
++ model = models.Rotation2D(angle=234.23494)
++ inverse = model.inverse()
++--- a/astropy/config/tests/test_configs.py
+++++ b/astropy/config/tests/test_configs.py
++@@ -331,4 +331,5 @@
++ # Test that the config file is written at most once
++ config_dir = os.path.join(os.path.dirname(__file__), '..', '..')
++ configuration.update_default_config('astropy', config_dir)
++- assert configuration.update_default_config('astropy', config_dir) is False
+++# see https://github.com/astropy/astropy/issues/2841
+++ assert configuration.update_default_config('astropy', config_dir) is None
--- /dev/null
--- /dev/null
++From: Michael Droettboom <mdboom@gmail.com>
++Date: Fri, 16 Jan 2015 09:58:27 -0500
++Subject: [PATCH] Let Python choose the default SSL protocol for us.
++--- a/astropy/vo/samp/client.py
+++++ b/astropy/vo/samp/client.py
++@@ -85,13 +85,13 @@
++ passed from the Hub end of the connection.
++
++ ssl_version : int, optional
++- Which version of the SSL protocol to use. Typically, the server
++- chooses a particular protocol version, and the client must adapt to
++- the server's choice. Most of the versions are not interoperable with
++- the other versions. If not specified the default SSL version is
++- `ssl.PROTOCOL_SSLv23`. This version provides the most compatibility
++- with other versions Hub side. Other SSL protocol versions are:
++- `ssl.PROTOCOL_SSLv2`, `ssl.PROTOCOL_SSLv3` and `ssl.PROTOCOL_TLSv1`.
+++ Which version of the SSL protocol to use. Typically, the
+++ server chooses a particular protocol version, and the client
+++ must adapt to the server's choice. Most of the versions are
+++ not interoperable with the other versions. If not specified,
+++ the default SSL version is taken from the default in the
+++ installed version of the Python standard `ssl` library. See
+++ the `ssl` documentation for more information.
++
++ callable : bool, optional
++ Whether the client can receive calls and notifications. If set to
++@@ -118,9 +118,6 @@
++ if description is not None:
++ metadata["samp.description.text"] = description
++
++- if SSL_SUPPORT and ssl_version is None:
++- ssl_version = ssl.PROTOCOL_SSLv23
++-
++ self._metadata = metadata
++
++ self._addr = addr
++--- a/astropy/vo/samp/hub.py
+++++ b/astropy/vo/samp/hub.py
++@@ -114,14 +114,14 @@
++ passed from the Hub end of the connection.
++
++ ssl_version : int, optional
++- The ``ssl_version`` option specifies which version of the SSL protocol
++- to use. Typically, the server chooses a particular protocol version,
++- and the client must adapt to the server's choice. Most of the versions
++- are not interoperable with the other versions. If not specified the
++- default SSL version is `ssl.PROTOCOL_SSLv23`. This version provides
++- the most compatibility with other versions client side. Other SSL
++- protocol versions are: `ssl.PROTOCOL_SSLv2`, `ssl.PROTOCOL_SSLv3` and
++- `ssl.PROTOCOL_TLSv1`.
+++ The ``ssl_version`` option specifies which version of the SSL
+++ protocol to use. Typically, the server chooses a particular
+++ protocol version, and the client must adapt to the server's
+++ choice. Most of the versions are not interoperable with the
+++ other versions. If not specified, the default SSL version is
+++ taken from the default in the installed version of the Python
+++ standard `ssl` library. See the `ssl` documentation for more
+++ information.
++
++ web_profile : bool, optional
++ Enables or disables the Web Profile support.
++@@ -165,9 +165,6 @@
++ self._client_timeout = client_timeout
++ self._pool_size = pool_size
++
++- if SSL_SUPPORT and ssl_version is None:
++- ssl_version = ssl.PROTOCOL_SSLv23
++-
++ self._web_profile = web_profile
++ self._web_profile_server = None
++ self._web_profile_callbacks = {}
++--- a/astropy/vo/samp/hub_proxy.py
+++++ b/astropy/vo/samp/hub_proxy.py
++@@ -78,14 +78,14 @@
++ certificate passed from the Hub end of the connection.
++
++ ssl_version : int, optional
++- Which version of the SSL protocol to use. Typically, the server
++- chooses a particular protocol version, and the client must adapt
++- to the server's choice. Most of the versions are not interoperable
++- with the other versions. If not specified the default SSL version
++- is `ssl.PROTOCOL_SSLv3`. This version provides the most
++- compatibility with other versions server side. Other SSL protocol
++- versions are: `ssl.PROTOCOL_SSLv2`, `ssl.PROTOCOL_SSLv3` and
++- `ssl.PROTOCOL_TLSv1`.
+++ Which version of the SSL protocol to use. Typically, the
+++ server chooses a particular protocol version, and the
+++ client must adapt to the server's choice. Most of the
+++ versions are not interoperable with the other versions. If
+++ not specified, the default SSL version is taken from the
+++ default in the installed version of the Python standard
+++ `ssl` library. See the `ssl` documentation for more
+++ information.
++
++ pool_size : int, optional
++ The number of socket connections opened to communicate with the
++@@ -95,9 +95,6 @@
++ self._connected = False
++ self.lockfile = {}
++
++- if SSL_SUPPORT and ssl_version is None:
++- ssl_version = ssl.PROTOCOL_SSLv3
++-
++ if hub is not None and hub_params is not None:
++ raise ValueError("Cannot specify both hub and hub_params")
++
++--- a/astropy/vo/samp/hub_script.py
+++++ b/astropy/vo/samp/hub_script.py
++@@ -148,10 +148,14 @@
++ "SSL protocol to use. Typically, the server chooses a particular "
++ "protocol version, and the client must adapt to the server's choice. "
++ "Most of the versions are not interoperable with the other versions. "
++- "If not specified the default SSL version is SSLv23. This version "
++- "provides the most compatibility with other versions client side. "
++- "Other SSL protocol versions are: SSLv2, SSLv3 and TLSv1.",
++- type=str, choices=["SSLv23", "SSLv2", "SSLv3", "TLSv1"], default="SSLv23")
+++ "If not specified the default SSL version is taken from the default in "
+++ "the Python standard `ssl` library for the version of Python that is "
+++ "installed. Other SSL protocol versions are: SSLv2, SSLv3, SSLv23, "
+++ "TLSv1, TLSv1_1, TLSv1_2 but not all of them may be available on all "
+++ "versions of Python.",
+++ type=str,
+++ choices=["SSLv23", "SSLv2", "SSLv3", "TLSv1", "TLSv1_1", "TLSv1_2"],
+++ default=None)
++
++ parser.add_argument_group(ssl_group)
++
++@@ -170,14 +174,14 @@
++ else:
++ options.cert_reqs = ssl.CERT_NONE
++
++- if options.ssl_version == "SSLv2":
++- options.ssl_version = ssl.PROTOCOL_SSLv2
++- elif options.ssl_version == "SSLv3":
++- options.ssl_version = ssl.PROTOCOL_SSLv3
++- elif options.ssl_version == "TLSv1":
++- options.ssl_version = ssl.PROTOCOL_TLSv1
++- else:
++- options.ssl_version = ssl.PROTOCOL_SSLv23
+++ if options.ssl_version is not None:
+++ if hasattr(ssl, 'PROTOCOL_' + options.ssl_version):
+++ options.ssl_version = getattr(
+++ ssl, 'PROTOCOL_' + options.ssl_version)
+++ else:
+++ raise ValueError(
+++ "SSL protocol '{0}' not supported on this version of "
+++ "Python".format(options.ssl_version))
++
++ if options.loglevel in ("OFF", "ERROR", "WARNING", "DEBUG", "INFO"):
++ log.setLevel(options.loglevel)
++--- a/astropy/vo/samp/integrated_client.py
+++++ b/astropy/vo/samp/integrated_client.py
++@@ -68,13 +68,13 @@
++ passed from the Hub end of the connection.
++
++ ssl_version : int, optional
++- Which version of the SSL protocol to use. Typically, the server chooses
++- a particular protocol version, and the client must adapt to the
++- server's choice. Most of the versions are not interoperable with the
++- other versions. If not specified the default SSL version is
++- `ssl.PROTOCOL_SSLv23`. This version provides the most compatibility
++- with other versions Hub side. Other SSL protocol versions are:
++- `ssl.PROTOCOL_SSLv2`, `ssl.PROTOCOL_SSLv3` and `ssl.PROTOCOL_TLSv1`.
+++ Which version of the SSL protocol to use. Typically, the
+++ server chooses a particular protocol version, and the client
+++ must adapt to the server's choice. Most of the versions are
+++ not interoperable with the other versions. If not specified,
+++ the default SSL version is taken from the default in the
+++ installed version of the Python standard `ssl` library. See
+++ the `ssl` documentation for more information.
++
++ callable : bool, optional
++ Whether the client can receive calls and notifications. If set to
++@@ -167,14 +167,14 @@
++ certificate passed from the Hub end of the connection.
++
++ ssl_version : int, optional
++- Which version of the SSL protocol to use. Typically, the server
++- chooses a particular protocol version, and the client must adapt
++- to the server's choice. Most of the versions are not interoperable
++- with the other versions. If not specified the default SSL version
++- is `ssl.PROTOCOL_SSLv3`. This version provides the most
++- compatibility with other versions server side. Other SSL protocol
++- versions are: `ssl.PROTOCOL_SSLv2`, `ssl.PROTOCOL_SSLv3` and
++- `ssl.PROTOCOL_TLSv1`.
+++ Which version of the SSL protocol to use. Typically, the
+++ server chooses a particular protocol version, and the
+++ client must adapt to the server's choice. Most of the
+++ versions are not interoperable with the other versions. If
+++ not specified, the default SSL version is taken from the
+++ default in the installed version of the Python standard
+++ `ssl` library. See the `ssl` documentation for more
+++ information.
++
++ pool_size : int, optional
++ The number of socket connections opened to communicate with the
++--- a/astropy/vo/samp/ssl_utils.py
+++++ b/astropy/vo/samp/ssl_utils.py
++@@ -32,7 +32,7 @@
++
++ def __init__(self, host, port=None, key_file=None, cert_file=None,
++ cert_reqs=ssl.CERT_NONE, ca_certs=None,
++- ssl_version=ssl.PROTOCOL_SSLv3, strict=None):
+++ ssl_version=None, strict=None):
++
++ HTTPConnection.__init__(self, host, port, strict)
++
++@@ -47,12 +47,18 @@
++
++ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
++ sock.connect((self.host, self.port))
++- sslconn = ssl.wrap_socket(sock, server_side=False,
++- certfile=self.cert_file,
++- keyfile=self.key_file,
++- cert_reqs=self.cert_reqs,
++- ca_certs=self.ca_certs,
++- ssl_version=self.ssl_version)
+++ # We have to explicitly not pass the ssl_version to
+++ # `ssl.wrap_socket` if it's None.
+++ kwargs = {
+++ 'server_size': False,
+++ 'certfile': self.cert_file,
+++ 'keyfile': self.key_file,
+++ 'cert_reqs': self.cert_reqs,
+++ 'ca_certs': self.ca_certs,
+++ }
+++ if self.ssl_version is not None:
+++ kwargs['ssl_version'] = self.ssl_version
+++ sslconn = ssl.wrap_socket(sock, **args)
++ self.sock = sslconn
++
++ class HTTPS(HTTP):
++@@ -64,7 +70,7 @@
++
++ def __init__(self, host='', port=None, key_file=None, cert_file=None,
++ cert_reqs=ssl.CERT_NONE, ca_certs=None,
++- ssl_version=ssl.PROTOCOL_SSLv3):
+++ ssl_version=None):
++
++ # provide a default host, pass the X509 cert info
++
++@@ -97,7 +103,7 @@
++
++ def __init__(self, key_file=None, cert_file=None,
++ cert_reqs=ssl.CERT_NONE, ca_certs=None,
++- ssl_version=ssl.PROTOCOL_SSLv3, strict=None,
+++ ssl_version=None, strict=None,
++ use_datetime=0):
++
++ xmlrpc.Transport.__init__(self, use_datetime)
++@@ -151,10 +157,16 @@
++ def get_request(self):
++ # override this to wrap socket with SSL
++ sock, addr = self.socket.accept()
++- sslconn = ssl.wrap_socket(sock, server_side=True,
++- certfile=self.cert_file,
++- keyfile=self.key_file,
++- cert_reqs=self.cert_reqs,
++- ca_certs=self.ca_certs,
++- ssl_version=self.ssl_version)
+++ # We have to explicitly not pass the ssl_version to
+++ # `ssl.wrap_socket` if it's None.
+++ kwargs = {
+++ 'server_side': True,
+++ 'certfile': self.cert_file,
+++ 'keyfile': self.key_file,
+++ 'cert_reqs': self.cert_reqs,
+++ 'ca_certs': self.ca_certs
+++ }
+++ if self.ssl_version is not None:
+++ kwargs['ssl_version'] = self.ssl_version
+++ sslconn = ssl.wrap_socket(sock, **kwargs)
++ return sslconn, addr
--- /dev/null
--- /dev/null
++mark_known_failures.patch
++use_extern_ply.patch
++disable_helper.patch
++use_wcslib_4.24.patch
++remove_ssl_2_3.patch
--- /dev/null
--- /dev/null
++From 3ac3b5e3522a270ef88f46aae5474bc201549b54 Mon Sep 17 00:00:00 2001
++From: Sergio Pascual <sergiopr@fis.ucm.es>
++Date: Thu, 22 May 2014 14:37:05 +0200
++Subject: [PATCH] Bring an unmodified copy of ply
++--- a/astropy/extern/ply/lex.py
+++++ b/astropy/extern/ply/lex.py
++@@ -34,7 +34,7 @@
++ __version__ = "3.4"
++ __tabversion__ = "3.2" # Version of table file used
++
++-import re, sys, types, copy, os, inspect
+++import re, sys, types, copy, os
++
++ # This tuple contains known string types
++ try:
++@@ -548,7 +548,7 @@
++ self.tokens = []
++ self.reflags = reflags
++ self.stateinfo = { 'INITIAL' : 'inclusive'}
++- self.modules = {}
+++ self.files = {}
++ self.error = 0
++
++ if log is None:
++@@ -729,8 +729,7 @@
++ for fname, f in self.funcsym[state]:
++ line = func_code(f).co_firstlineno
++ file = func_code(f).co_filename
++- module = inspect.getmodule(f)
++- self.modules[module] = 1
+++ self.files[file] = 1
++
++ tokname = self.toknames[fname]
++ if isinstance(f, types.MethodType):
++@@ -800,8 +799,7 @@
++ f = efunc
++ line = func_code(f).co_firstlineno
++ file = func_code(f).co_filename
++- module = inspect.getmodule(f)
++- self.modules[module] = 1
+++ self.files[file] = 1
++
++ if isinstance(f, types.MethodType):
++ reqargs = 2
++@@ -816,26 +814,35 @@
++ self.log.error("%s:%d: Rule '%s' requires an argument", file,line,f.__name__)
++ self.error = 1
++
++- for module in self.modules:
++- self.validate_module(module)
+++ for f in self.files:
+++ self.validate_file(f)
++
++
++ # -----------------------------------------------------------------------------
++- # validate_module()
+++ # validate_file()
++ #
++ # This checks to see if there are duplicated t_rulename() functions or strings
++ # in the parser input file. This is done using a simple regular expression
++- # match on each line in the source code of the given module.
+++ # match on each line in the given file.
++ # -----------------------------------------------------------------------------
++
++- def validate_module(self, module):
++- lines, linen = inspect.getsourcelines(module)
+++ def validate_file(self,filename):
+++ import os.path
+++ base,ext = os.path.splitext(filename)
+++ if ext != '.py': return # No idea what the file is. Return OK
+++
+++ try:
+++ f = open(filename)
+++ lines = f.readlines()
+++ f.close()
+++ except IOError:
+++ return # Couldn't find the file. Don't worry about it
++
++ fre = re.compile(r'\s*def\s+(t_[a-zA-Z_0-9]*)\(')
++ sre = re.compile(r'\s*(t_[a-zA-Z_0-9]*)\s*=')
++
++ counthash = { }
++- linen += 1
+++ linen = 1
++ for l in lines:
++ m = fre.match(l)
++ if not m:
++@@ -846,7 +853,6 @@
++ if not prev:
++ counthash[name] = linen
++ else:
++- filename = inspect.getsourcefile(module)
++ self.log.error("%s:%d: Rule %s redefined. Previously defined on line %d",filename,linen,name,prev)
++ self.error = 1
++ linen += 1
++--- a/astropy/extern/ply/yacc.py
+++++ b/astropy/extern/ply/yacc.py
++@@ -84,7 +84,7 @@
++
++ pickle_protocol = 0 # Protocol to use when writing pickle files
++
++-import re, types, sys, os.path, inspect
+++import re, types, sys, os.path
++
++ # Compatibility function for python 2.6/3.0
++ if sys.version_info[0] < 3:
++@@ -1191,7 +1191,7 @@
++ return len(self.prod)
++
++ def __nonzero__(self):
++- return True
+++ return 1
++
++ def __getitem__(self,index):
++ return self.prod[index]
++@@ -2765,7 +2765,7 @@
++ self.start = None
++ self.error_func = None
++ self.tokens = None
++- self.modules = {}
+++ self.files = {}
++ self.grammar = []
++ self.error = 0
++
++@@ -2789,7 +2789,7 @@
++ self.validate_tokens()
++ self.validate_precedence()
++ self.validate_pfunctions()
++- self.validate_modules()
+++ self.validate_files()
++ return self.error
++
++ # Compute a signature over the grammar
++@@ -2814,7 +2814,7 @@
++ return sig.digest()
++
++ # -----------------------------------------------------------------------------
++- # validate_modules()
+++ # validate_file()
++ #
++ # This method checks to see if there are duplicated p_rulename() functions
++ # in the parser module file. Without this function, it is really easy for
++@@ -2824,12 +2824,20 @@
++ # to try and detect duplicates.
++ # -----------------------------------------------------------------------------
++
++- def validate_modules(self):
+++ def validate_files(self):
++ # Match def p_funcname(
++ fre = re.compile(r'\s*def\s+(p_[a-zA-Z_0-9]*)\(')
++
++- for module in self.modules.keys():
++- lines, linen = inspect.getsourcelines(module)
+++ for filename in self.files.keys():
+++ base,ext = os.path.splitext(filename)
+++ if ext != '.py': return 1 # No idea. Assume it's okay.
+++
+++ try:
+++ f = open(filename)
+++ lines = f.readlines()
+++ f.close()
+++ except IOError:
+++ continue
++
++ counthash = { }
++ for linen,l in enumerate(lines):
++@@ -2841,7 +2849,6 @@
++ if not prev:
++ counthash[name] = linen
++ else:
++- filename = inspect.getsourcefile(module)
++ self.log.warning("%s:%d: Function %s redefined. Previously defined on line %d", filename,linen,name,prev)
++
++ # Get the start symbol
++@@ -2872,8 +2879,7 @@
++
++ eline = func_code(self.error_func).co_firstlineno
++ efile = func_code(self.error_func).co_filename
++- module = inspect.getmodule(self.error_func)
++- self.modules[module] = 1
+++ self.files[efile] = 1
++
++ if (func_code(self.error_func).co_argcount != 1+ismethod):
++ self.log.error("%s:%d: p_error() requires 1 argument",efile,eline)
++@@ -2956,8 +2962,8 @@
++ if name == 'p_error': continue
++ if isinstance(item,(types.FunctionType,types.MethodType)):
++ line = func_code(item).co_firstlineno
++- module = inspect.getmodule(item)
++- p_functions.append((line,module,name,item.__doc__))
+++ file = func_code(item).co_filename
+++ p_functions.append((line,file,name,item.__doc__))
++
++ # Sort all of the actions by line number
++ p_functions.sort()
++@@ -2973,8 +2979,7 @@
++ self.error = 1
++ return
++
++- for line, module, name, doc in self.pfuncs:
++- file = inspect.getsourcefile(module)
+++ for line, file, name, doc in self.pfuncs:
++ func = self.pdict[name]
++ if isinstance(func, types.MethodType):
++ reqargs = 2
++@@ -3000,7 +3005,7 @@
++
++ # Looks like a valid grammar rule
++ # Mark the file in which defined.
++- self.modules[module] = 1
+++ self.files[file] = 1
++
++ # Secondary validation step that looks for p_ definitions that are not functions
++ # or functions that look like they might be grammar rules.
--- /dev/null
--- /dev/null
++--- a/astropy/wcs/include/wcslib/wcs.h
+++++ b/astropy/wcs/include/wcslib/wcs.h
++@@ -1,4 +1,4 @@
++-/*============================================================================
+++1/*============================================================================
++
++ WCSLIB 4.23 - an implementation of the FITS WCS standard.
++ Copyright (C) 1995-2014, Mark Calabretta
++@@ -1568,7 +1568,7 @@
++ int wcssub(int alloc, const struct wcsprm *wcssrc, int *nsub, int axes[],
++ struct wcsprm *wcsdst);
++
++-int wcscompare(int cmp, const struct wcsprm *wcs1, const struct wcsprm *wcs2,
+++int wcscompare(int cmp, double tol, const struct wcsprm *wcs1, const struct wcsprm *wcs2,
++ int *equal);
++
++ int wcsfree(struct wcsprm *wcs);
++--- a/astropy/wcs/src/wcslib_wrap.c
+++++ b/astropy/wcs/src/wcslib_wrap.c
++@@ -751,7 +751,7 @@
++
++ wcsprm_python2c(&self->x);
++ wcsprm_python2c(&other->x);
++- status = wcscompare(cmp, &self->x, &other->x, &equal);
+++ status = wcscompare(cmp, 0.0, &self->x, &other->x, &equal);
++ wcsprm_c2python(&self->x);
++ wcsprm_c2python(&other->x);
++
++@@ -1698,6 +1698,7 @@
++ wcsprm_python2c(bx);
++ status = wcscompare(
++ WCSCOMPARE_ANCILLARY,
+++ 0.0,
++ ax, bx, &equal);
++ wcsprm_c2python(ax);
++ wcsprm_c2python(bx);
--- /dev/null
--- /dev/null
++Document: python-astropy
++Title: Astropy Documentation
++Author: The Astropy Collaboration.
++Section: Science/Astronomy
++Abstract: Astropy is a community-driven package intended to contain much of
++ the core functionality and some common tools needed for performing astronomy
++ and astrophysics with Python.
++
++Format: HTML
++Index: /usr/share/doc/python-astropy-doc/html/index.html
++Files: /usr/share/doc/python-astropy-doc/html/
--- /dev/null
--- /dev/null
++ docs/_build/html
--- /dev/null
--- /dev/null
++# We store an extra license file since this is linked within the
++# HTML documentation. It seems to be better to keep this file than
++# to remove these links or to link to the machine-readable Debian
++# copyright file.
++extra-license-file usr/share/doc/python-astropy-doc/html/_sources/license.txt
--- /dev/null
--- /dev/null
++usr/lib/python2*/dist-packages/astropy*
--- /dev/null
--- /dev/null
++# The hardening is switched on, but does not cover all functions mentioned
++# in hardening-check.
++hardening-no-fortify-functions */astropy/utils/xml/_iterparser.so
--- /dev/null
--- /dev/null
++usr/lib/python3*/dist-packages/astropy*
--- /dev/null
--- /dev/null
++# The hardening is switched on, but does not cover all functions mentioned
++# in hardening-check.
++hardening-no-fortify-functions */astropy/utils/xml/_iterparser.*
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++
++PYTHON2:=$(shell pyversions -vr)
++PYTHON3:=$(shell py3versions -vr)
++
++# set the MPLCONFIGDIR to avoid writing into non writable location
++export HOME=$(CURDIR)/build
++export MPLCONFIGDIR=$(CURDIR)/build
++
++# Prevent setuptools/distribute from accessing the internet.
++export http_proxy = http://127.0.9.1:9
++
++%:
++ dh $@ --with python2,python3,sphinxdoc
++
++build-python%:
++ python$* setup.py build --use-system-libraries
++
++# We need to build python2 first, since cython is currently only available for
++# python2, and we need cython to (re-) generate some of the C files.
++override_dh_auto_build: $(PYTHON2:%=build-python%) $(PYTHON3:%=build-python%)
++ #dh_auto_build
++
++install-python%:
++ python$* setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb
++
++override_dh_auto_install: $(PYTHON3:%=install-python%)
++ dh_auto_install
++ find $(CURDIR)/debian/tmp/usr/lib/ -name \*.png -exec rm {} \;
++
++override_dh_auto_build:
++ dh_auto_build -- --use-system-libraries
++
++override_dh_shlibdeps:
++ dh_shlibdeps
++ dh_numpy
++ dh_numpy3
++
++override_dh_installdocs-indep:
++ python setup.py build_sphinx
++ dh_installdocs
++
++override_dh_sphinxdoc-arch:
++ # sphinxdoc is only needed on indep and does not work here.
++
++override_dh_installchangelogs:
++ dh_installchangelogs docs/changelog.rst
++
++override_dh_auto_clean:
++ dh_auto_clean
++ rm -rf build astropy.egg-info
++ rm -rf astropy_helpers-*.egg
++ rm -rf docs/_build docs/_generated
++
++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
++test-python%:
++ python$* setup.py test -vv --args -v
++
++override_dh_auto_test: $(PYTHON2:%=test-python%) $(PYTHON3:%=test-python%)
++endif
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++# We don't use the convinience copies of wcslib and expat, so we can
++# safely ignore their lintian warnings.
++outdated-autotools-helper-file cextern/expat/conftools/config.*
++outdated-autotools-helper-file cextern/wcslib/config/config.*
--- /dev/null
--- /dev/null
++# watch control file for uscan
++version=3
++opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
++dversionmangle=s/\+dfsg\d*// \
++http://pypi.python.org/packages/source/a/astropy/astropy-([0-9].*)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) debian uupdate