summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2020-11-29 13:57:04 +0200
committerGitHub <noreply@github.com>2020-11-29 13:57:04 +0200
commitb3ae92cfea824fcc29b4153e7c7025463199adde (patch)
tree619d9421351c4d704af0dd0b99473c758e522110 /src
parente8cff0b1871724649966d6181483e88b66f6f524 (diff)
downloadwheel-git-b3ae92cfea824fcc29b4153e7c7025463199adde.tar.gz
Fixed CRLF being used when generating WHEEL files on Windows (#383)
Fixes #378.
Diffstat (limited to 'src')
-rw-r--r--src/wheel/bdist_wheel.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/wheel/bdist_wheel.py b/src/wheel/bdist_wheel.py
index f52b0f2..ebe654d 100644
--- a/src/wheel/bdist_wheel.py
+++ b/src/wheel/bdist_wheel.py
@@ -12,9 +12,9 @@ import sys
import re
import warnings
from collections import OrderedDict
-from email.generator import Generator
from distutils.core import Command
from distutils import log as logger
+from io import BytesIO
from glob import iglob
from shutil import rmtree
from sysconfig import get_config_var
@@ -29,6 +29,10 @@ from .vendored.packaging import tags
from .wheelfile import WheelFile
from . import __version__ as wheel_version
+if sys.version_info < (3,):
+ from email.generator import Generator as BytesGenerator
+else:
+ from email.generator import BytesGenerator
safe_name = pkg_resources.safe_name
safe_version = pkg_resources.safe_version
@@ -381,8 +385,10 @@ class bdist_wheel(Command):
wheelfile_path = os.path.join(wheelfile_base, 'WHEEL')
logger.info('creating %s', wheelfile_path)
- with open(wheelfile_path, 'w') as f:
- Generator(f, maxheaderlen=0).flatten(msg)
+ buffer = BytesIO()
+ BytesGenerator(buffer, maxheaderlen=0).flatten(msg)
+ with open(wheelfile_path, 'wb') as f:
+ f.write(buffer.getvalue().replace(b'\r\n', b'\r'))
def _ensure_relative(self, path):
# copied from dir_util, deleted