Description: Remove the pycompat* submodules
 Those are not needed in Debian as we already ship the latest runtime version.
Author: Simon Chopin <chopin.simon@gmail.com>
Forwarded: not-needed
Last-Update: 2013-04-30
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/setup.py
+++ b/setup.py
@@ -52,6 +52,6 @@
             'Topic :: Software Development :: Libraries :: Python Modules',
             'Topic :: Text Processing :: General',
           ],
-      packages=find_packages(),
+      packages=find_packages(exclude=['*pycompat*']),
       data_files=[],
 )
--- a/kitchen/text/converters.py
+++ b/kitchen/text/converters.py
@@ -53,8 +53,6 @@
 # We need to access b_() for localizing our strings but we'll end up with
 # a circular import if we import it directly.
 import kitchen as k
-from kitchen.pycompat24 import sets
-sets.add_builtin_set()
 
 from kitchen.text.exceptions import ControlCharError, XmlEncodeError
 from kitchen.text.misc import guess_encoding, html_entities_unescape, \
--- a/kitchen/text/misc.py
+++ b/kitchen/text/misc.py
@@ -40,11 +40,8 @@
 # We need to access b_() for localizing our strings but we'll end up with
 # a circular import if we import it directly.
 import kitchen as k
-from kitchen.pycompat24 import sets
 from kitchen.text.exceptions import ControlCharError
 
-sets.add_builtin_set()
-
 # Define a threshold for chardet confidence.  If we fall below this we decode
 # byte strings we're guessing about as latin1
 _CHARDET_THRESHHOLD = 0.6
--- a/tests/test_pycompat.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-import unittest
-from nose import tools
-
-class TestUsableModules(unittest.TestCase):
-    def test_subprocess(self):
-        '''Test that importing subprocess as a module works
-        '''
-        try:
-            from kitchen.pycompat24.subprocess import Popen
-        except ImportError:
-            tools.ok_(False, 'Unable to import pycompat24.subprocess as a module')
-        try:
-            from kitchen.pycompat27.subprocess import Popen
-        except ImportError:
-            tools.ok_(False, 'Unable to import pycompat27.subprocess as a module')
-
-    def test_base64(self):
-        '''Test that importing base64 as a module works
-        '''
-        try:
-            from kitchen.pycompat24.base64 import b64encode
-        except ImportError:
-            tools.ok_(False, 'Unable to import pycompat24.base64 as a module')
--- a/tests/test_pycompat24.py
+++ /dev/null
@@ -1,109 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-import unittest
-from nose import tools
-from nose.plugins.skip import SkipTest
-
-import __builtin__
-import base64 as py_b64
-import warnings
-
-from kitchen.pycompat24 import sets
-from kitchen.pycompat24.base64 import _base64 as base64
-
-class TestSetsNoOverwrite(unittest.TestCase):
-    def setUp(self):
-        self.set_val = None
-        self.frozenset_val = None
-        if not hasattr(__builtin__, 'set'):
-            __builtin__.set = self.set_val
-        else:
-            self.set_val = __builtin__.set
-        if not hasattr(__builtin__, 'frozenset'):
-            __builtin__.frozenset = self.frozenset_val
-        else:
-            self.frozenset_val = __builtin__.frozenset
-
-    def tearDown(self):
-        if self.frozenset_val == None:
-            del(__builtin__.frozenset)
-        if self.set_val == None:
-            del(__builtin__.set)
-
-    def test_sets_dont_overwrite(self):
-        '''Test that importing sets when there's already a set and frozenset defined does not overwrite
-        '''
-        sets.add_builtin_set()
-        tools.ok_(__builtin__.set == self.set_val)
-        tools.ok_(__builtin__.frozenset == self.frozenset_val)
-
-class TestDefineSets(unittest.TestCase):
-    def setUp(self):
-        warnings.simplefilter('ignore', DeprecationWarning)
-        self.set_val = None
-        self.frozenset_val = None
-        if hasattr(__builtin__, 'set'):
-            self.set_val = __builtin__.set
-            del(__builtin__.set)
-        if hasattr(__builtin__, 'frozenset'):
-            self.frozenset_val = __builtin__.frozenset
-            del(__builtin__.frozenset)
-
-    def tearDown(self):
-        warnings.simplefilter('default', DeprecationWarning)
-        if self.set_val:
-            __builtin__.set = self.set_val
-        else:
-            del(__builtin__.set)
-        if self.frozenset_val:
-            __builtin__.frozenset = self.frozenset_val
-        else:
-            del(__builtin__.frozenset)
-
-    def test_pycompat_defines_set(self):
-        '''Test that calling pycompat24.add_builtin_set() adds set and frozenset to __builtin__
-        '''
-        import sets as py_sets
-        sets.add_builtin_set()
-        if self.set_val:
-            tools.ok_(__builtin__.set == self.set_val)
-            tools.ok_(__builtin__.frozenset == self.frozenset_val)
-        else:
-            tools.ok_(__builtin__.set == py_sets.Set)
-            tools.ok_(__builtin__.frozenset == py_sets.ImmutableSet)
-
-class TestSubprocess(unittest.TestCase):
-    pass
-
-class TestBase64(unittest.TestCase):
-    b_byte_chars = ' '.join(map(chr, range(0, 256)))
-    b_byte_encoded = 'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB/IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC+IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg+SD6IPsg/CD9IP4g/w=='
-    b_byte_encoded_urlsafe = 'ACABIAIgAyAEIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIBQgFSAWIBcgGCAZIBogGyAcIB0gHiAfICAgISAiICMgJCAlICYgJyAoICkgKiArICwgLSAuIC8gMCAxIDIgMyA0IDUgNiA3IDggOSA6IDsgPCA9ID4gPyBAIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBbIFwgXSBeIF8gYCBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogeyB8IH0gfiB_IIAggSCCIIMghCCFIIYghyCIIIkgiiCLIIwgjSCOII8gkCCRIJIgkyCUIJUgliCXIJggmSCaIJsgnCCdIJ4gnyCgIKEgoiCjIKQgpSCmIKcgqCCpIKogqyCsIK0griCvILAgsSCyILMgtCC1ILYgtyC4ILkguiC7ILwgvSC-IL8gwCDBIMIgwyDEIMUgxiDHIMggySDKIMsgzCDNIM4gzyDQINEg0iDTINQg1SDWINcg2CDZINog2yDcIN0g3iDfIOAg4SDiIOMg5CDlIOYg5yDoIOkg6iDrIOwg7SDuIO8g8CDxIPIg8yD0IPUg9iD3IPgg-SD6IPsg_CD9IP4g_w=='
-
-    def test_base64_encode(self):
-        tools.ok_(base64.b64encode(self.b_byte_chars) == self.b_byte_encoded)
-        tools.ok_(base64.b64encode(self.b_byte_chars, altchars='-_') == self.b_byte_encoded_urlsafe)
-        tools.ok_(base64.standard_b64encode(self.b_byte_chars) == self.b_byte_encoded)
-        tools.ok_(base64.urlsafe_b64encode(self.b_byte_chars) == self.b_byte_encoded_urlsafe)
-
-        tools.ok_(base64.b64encode(self.b_byte_chars) == self.b_byte_encoded)
-        tools.ok_(base64.b64encode(self.b_byte_chars, altchars='-_') == self.b_byte_encoded_urlsafe)
-        tools.ok_(base64.standard_b64encode(self.b_byte_chars) == self.b_byte_encoded)
-        tools.ok_(base64.urlsafe_b64encode(self.b_byte_chars) == self.b_byte_encoded_urlsafe)
-
-    def test_base64_decode(self):
-        tools.ok_(base64.b64decode(self.b_byte_encoded) == self.b_byte_chars)
-        tools.ok_(base64.b64decode(self.b_byte_encoded_urlsafe, altchars='-_') == self.b_byte_chars)
-        tools.ok_(base64.standard_b64decode(self.b_byte_encoded) == self.b_byte_chars)
-        tools.ok_(base64.urlsafe_b64decode(self.b_byte_encoded_urlsafe) == self.b_byte_chars)
-
-        tools.ok_(base64.b64decode(self.b_byte_encoded) == self.b_byte_chars)
-        tools.ok_(base64.b64decode(self.b_byte_encoded_urlsafe, altchars='-_') == self.b_byte_chars)
-        tools.ok_(base64.standard_b64decode(self.b_byte_encoded) == self.b_byte_chars)
-        tools.ok_(base64.urlsafe_b64decode(self.b_byte_encoded_urlsafe) == self.b_byte_chars)
-
-    def test_base64_stdlib_compat(self):
-        if not hasattr(py_b64, 'b64encode'):
-            raise SkipTest('Python-2.3 doesn\'t have b64encode to compare against')
-        tools.ok_(base64.b64encode(self.b_byte_chars) == py_b64.b64encode(self.b_byte_chars))
-        tools.ok_(base64.b64decode(self.b_byte_chars) == py_b64.b64decode(self.b_byte_chars))
--- a/tests/test__all__.py
+++ b/tests/test__all__.py
@@ -4,8 +4,6 @@
 import os
 import types
 import warnings
-from kitchen.pycompat24.sets import add_builtin_set
-add_builtin_set()
 
 def logit(msg):
     log = open('/var/tmp/test.log', 'a')
--- a/tests/test_base64.py
+++ /dev/null
@@ -1,190 +0,0 @@
-import unittest
-from test import test_support
-from kitchen.pycompat24.base64 import _base64 as base64
-
-
-
-class LegacyBase64TestCase(unittest.TestCase):
-    def test_encodestring(self):
-        eq = self.assertEqual
-        eq(base64.encodestring("www.python.org"), "d3d3LnB5dGhvbi5vcmc=\n")
-        eq(base64.encodestring("a"), "YQ==\n")
-        eq(base64.encodestring("ab"), "YWI=\n")
-        eq(base64.encodestring("abc"), "YWJj\n")
-        eq(base64.encodestring(""), "")
-        eq(base64.encodestring("abcdefghijklmnopqrstuvwxyz"
-                               "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                               "0123456789!@#0^&*();:<>,. []{}"),
-           "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-           "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
-           "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n")
-
-    def test_decodestring(self):
-        eq = self.assertEqual
-        eq(base64.decodestring("d3d3LnB5dGhvbi5vcmc=\n"), "www.python.org")
-        eq(base64.decodestring("YQ==\n"), "a")
-        eq(base64.decodestring("YWI=\n"), "ab")
-        eq(base64.decodestring("YWJj\n"), "abc")
-        eq(base64.decodestring("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-                               "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
-                               "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n"),
-           "abcdefghijklmnopqrstuvwxyz"
-           "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-           "0123456789!@#0^&*();:<>,. []{}")
-        eq(base64.decodestring(''), '')
-
-    def test_encode(self):
-        eq = self.assertEqual
-        from cStringIO import StringIO
-        infp = StringIO('abcdefghijklmnopqrstuvwxyz'
-                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-                        '0123456789!@#0^&*();:<>,. []{}')
-        outfp = StringIO()
-        base64.encode(infp, outfp)
-        eq(outfp.getvalue(),
-           'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE'
-           'RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT'
-           'Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n')
-
-    def test_decode(self):
-        from cStringIO import StringIO
-        infp = StringIO('d3d3LnB5dGhvbi5vcmc=')
-        outfp = StringIO()
-        base64.decode(infp, outfp)
-        self.assertEqual(outfp.getvalue(), 'www.python.org')
-
-
-
-class BaseXYTestCase(unittest.TestCase):
-    def test_b64encode(self):
-        eq = self.assertEqual
-        # Test default alphabet
-        eq(base64.b64encode("www.python.org"), "d3d3LnB5dGhvbi5vcmc=")
-        eq(base64.b64encode('\x00'), 'AA==')
-        eq(base64.b64encode("a"), "YQ==")
-        eq(base64.b64encode("ab"), "YWI=")
-        eq(base64.b64encode("abc"), "YWJj")
-        eq(base64.b64encode(""), "")
-        eq(base64.b64encode("abcdefghijklmnopqrstuvwxyz"
-                            "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                            "0123456789!@#0^&*();:<>,. []{}"),
-           "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-           "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
-           "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==")
-        # Test with arbitrary alternative characters
-        eq(base64.b64encode('\xd3V\xbeo\xf7\x1d', altchars='*$'), '01a*b$cd')
-        # Test standard alphabet
-        eq(base64.standard_b64encode("www.python.org"), "d3d3LnB5dGhvbi5vcmc=")
-        eq(base64.standard_b64encode("a"), "YQ==")
-        eq(base64.standard_b64encode("ab"), "YWI=")
-        eq(base64.standard_b64encode("abc"), "YWJj")
-        eq(base64.standard_b64encode(""), "")
-        eq(base64.standard_b64encode("abcdefghijklmnopqrstuvwxyz"
-                                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                                     "0123456789!@#0^&*();:<>,. []{}"),
-           "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-           "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
-           "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==")
-        # Test with 'URL safe' alternative characters
-        eq(base64.urlsafe_b64encode('\xd3V\xbeo\xf7\x1d'), '01a-b_cd')
-
-    def test_b64decode(self):
-        eq = self.assertEqual
-        eq(base64.b64decode("d3d3LnB5dGhvbi5vcmc="), "www.python.org")
-        eq(base64.b64decode('AA=='), '\x00')
-        eq(base64.b64decode("YQ=="), "a")
-        eq(base64.b64decode("YWI="), "ab")
-        eq(base64.b64decode("YWJj"), "abc")
-        eq(base64.b64decode("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-                            "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
-                            "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ=="),
-           "abcdefghijklmnopqrstuvwxyz"
-           "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-           "0123456789!@#0^&*();:<>,. []{}")
-        eq(base64.b64decode(''), '')
-        # Test with arbitrary alternative characters
-        eq(base64.b64decode('01a*b$cd', altchars='*$'), '\xd3V\xbeo\xf7\x1d')
-        # Test standard alphabet
-        eq(base64.standard_b64decode("d3d3LnB5dGhvbi5vcmc="), "www.python.org")
-        eq(base64.standard_b64decode("YQ=="), "a")
-        eq(base64.standard_b64decode("YWI="), "ab")
-        eq(base64.standard_b64decode("YWJj"), "abc")
-        eq(base64.standard_b64decode(""), "")
-        eq(base64.standard_b64decode("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
-                                     "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NT"
-                                     "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ=="),
-           "abcdefghijklmnopqrstuvwxyz"
-           "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-           "0123456789!@#0^&*();:<>,. []{}")
-        # Test with 'URL safe' alternative characters
-        eq(base64.urlsafe_b64decode('01a-b_cd'), '\xd3V\xbeo\xf7\x1d')
-
-    def test_b64decode_error(self):
-        self.assertRaises(TypeError, base64.b64decode, 'abc')
-
-    def test_b32encode(self):
-        eq = self.assertEqual
-        eq(base64.b32encode(''), '')
-        eq(base64.b32encode('\x00'), 'AA======')
-        eq(base64.b32encode('a'), 'ME======')
-        eq(base64.b32encode('ab'), 'MFRA====')
-        eq(base64.b32encode('abc'), 'MFRGG===')
-        eq(base64.b32encode('abcd'), 'MFRGGZA=')
-        eq(base64.b32encode('abcde'), 'MFRGGZDF')
-
-    def test_b32decode(self):
-        eq = self.assertEqual
-        eq(base64.b32decode(''), '')
-        eq(base64.b32decode('AA======'), '\x00')
-        eq(base64.b32decode('ME======'), 'a')
-        eq(base64.b32decode('MFRA===='), 'ab')
-        eq(base64.b32decode('MFRGG==='), 'abc')
-        eq(base64.b32decode('MFRGGZA='), 'abcd')
-        eq(base64.b32decode('MFRGGZDF'), 'abcde')
-
-    def test_b32decode_casefold(self):
-        eq = self.assertEqual
-        eq(base64.b32decode('', True), '')
-        eq(base64.b32decode('ME======', True), 'a')
-        eq(base64.b32decode('MFRA====', True), 'ab')
-        eq(base64.b32decode('MFRGG===', True), 'abc')
-        eq(base64.b32decode('MFRGGZA=', True), 'abcd')
-        eq(base64.b32decode('MFRGGZDF', True), 'abcde')
-        # Lower cases
-        eq(base64.b32decode('me======', True), 'a')
-        eq(base64.b32decode('mfra====', True), 'ab')
-        eq(base64.b32decode('mfrgg===', True), 'abc')
-        eq(base64.b32decode('mfrggza=', True), 'abcd')
-        eq(base64.b32decode('mfrggzdf', True), 'abcde')
-        # Expected exceptions
-        self.assertRaises(TypeError, base64.b32decode, 'me======')
-        # Mapping zero and one
-        eq(base64.b32decode('MLO23456'), 'b\xdd\xad\xf3\xbe')
-        eq(base64.b32decode('M1023456', map01='L'), 'b\xdd\xad\xf3\xbe')
-        eq(base64.b32decode('M1023456', map01='I'), 'b\x1d\xad\xf3\xbe')
-
-    def test_b32decode_error(self):
-        self.assertRaises(TypeError, base64.b32decode, 'abc')
-        self.assertRaises(TypeError, base64.b32decode, 'ABCDEF==')
-
-    def test_b16encode(self):
-        eq = self.assertEqual
-        eq(base64.b16encode('\x01\x02\xab\xcd\xef'), '0102ABCDEF')
-        eq(base64.b16encode('\x00'), '00')
-
-    def test_b16decode(self):
-        eq = self.assertEqual
-        eq(base64.b16decode('0102ABCDEF'), '\x01\x02\xab\xcd\xef')
-        eq(base64.b16decode('00'), '\x00')
-        # Lower case is not allowed without a flag
-        self.assertRaises(TypeError, base64.b16decode, '0102abcdef')
-        # Case fold
-        eq(base64.b16decode('0102abcdef', True), '\x01\x02\xab\xcd\xef')
-
-
-
-#def test_main():
-#    test_support.run_unittest(__name__)
-#
-#if __name__ == '__main__':
-#    test_main()
