Merged revisions 76684 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76684 | tarek.ziade | 2009-12-06 10:22:40 +0100 (Sun, 06 Dec 2009) | 1 line

  Fixed #1923: make sure we don't strip meaningful whitespace in PKG-INFO Description field
........
diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py
index b1b184e..0e7d532 100644
--- a/Lib/distutils/tests/test_dist.py
+++ b/Lib/distutils/tests/test_dist.py
@@ -5,6 +5,7 @@
 import sys
 import unittest
 import warnings
+import textwrap
 
 from distutils.dist import Distribution, fix_help_options
 from distutils.cmd import Command
@@ -353,6 +354,21 @@
                   if line.strip() != '']
         self.assertTrue(len(output) > 0)
 
+    def test_long_description(self):
+        long_desc = textwrap.dedent("""\
+        example::
+              We start here
+            and continue here
+          and end here.""")
+        attrs = {"name": "package",
+                 "version": "1.0",
+                 "long_description": long_desc}
+
+        dist = distutils.dist.Distribution(attrs)
+        meta = self.format_metadata(dist)
+        meta = meta.replace('\n' + 8 * ' ', '\n')
+        self.assertTrue(long_desc in meta)
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(DistributionTestCase))
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index a50621e..cca7b49 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -557,8 +557,8 @@
     """Return a version of the string escaped for inclusion in an
     RFC-822 header, by ensuring there are 8 spaces space after each newline.
     """
-    lines = [x.strip() for x in header.split('\n')]
-    sep = '\n' + 8*' '
+    lines = header.split('\n')
+    sep = '\n' + 8 * ' '
     return sep.join(lines)
 
 _RE_VERSION = re.compile(b'(\d+\.\d+(\.\d+)*)')
diff --git a/Misc/NEWS b/Misc/NEWS
index 06075e9..0f524a5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -154,6 +154,9 @@
 Library
 -------
 
+- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is 
+  generated in Distutils. Patch by Stephen Emslie.
+
 - Issue #4120: Drop reference to CRT from manifest when building extensions with
   msvc9compiler.