9bff81
From 21b122e06969a9d85c65ce8276519d34da7dc747 Mon Sep 17 00:00:00 2001
9bff81
From: Melissa Li <li.melissa.kun@gmail.com>
9bff81
Date: Tue, 23 Feb 2021 21:23:35 -0500
9bff81
Subject: [PATCH 1/6] Preserve case-sensitive keys in setup.cfg
9bff81
9bff81
---
9bff81
 setuptools/dist.py | 1 +
9bff81
 1 file changed, 1 insertion(+)
9bff81
9bff81
diff --git a/setuptools/dist.py b/setuptools/dist.py
9bff81
index 050388de16..c31020f0c4 100644
9bff81
--- a/setuptools/dist.py
9bff81
+++ b/setuptools/dist.py
9bff81
@@ -583,6 +583,7 @@ def _parse_config_files(self, filenames=None):  # noqa: C901
9bff81
             self.announce("Distribution.parse_config_files():")
9bff81
 
9bff81
         parser = ConfigParser()
9bff81
+        parser.optionxform = str
9bff81
         for filename in filenames:
9bff81
             with io.open(filename, encoding='utf-8') as reader:
9bff81
                 if DEBUG:
9bff81
9bff81
From 90d8740c353ddf20c1c76d8c06cd923c19b8cc84 Mon Sep 17 00:00:00 2001
9bff81
From: Melissa Li <li.melissa.kun@gmail.com>
9bff81
Date: Tue, 23 Feb 2021 21:06:55 -0500
9bff81
Subject: [PATCH 2/6] Add case-sensitive entry point name test
9bff81
9bff81
---
9bff81
 setuptools/tests/test_config.py | 34 +++++++++++++++++++++++++++++++++
9bff81
 1 file changed, 34 insertions(+)
9bff81
9bff81
diff --git a/setuptools/tests/test_config.py b/setuptools/tests/test_config.py
9bff81
index 1dee12718f..6cc1d0a46b 100644
9bff81
--- a/setuptools/tests/test_config.py
9bff81
+++ b/setuptools/tests/test_config.py
9bff81
@@ -802,6 +802,40 @@ def test_entry_points(self, tmpdir):
9bff81
         with get_dist(tmpdir) as dist:
9bff81
             assert dist.entry_points == expected
9bff81
 
9bff81
+    def test_case_sensitive_entry_points(self, tmpdir):
9bff81
+        _, config = fake_env(
9bff81
+            tmpdir,
9bff81
+            '[options.entry_points]\n'
9bff81
+            'GROUP1 = point1 = pack.module:func, '
9bff81
+            '.point2 = pack.module2:func_rest [rest]\n'
9bff81
+            'group2 = point3 = pack.module:func2\n'
9bff81
+        )
9bff81
+
9bff81
+        with get_dist(tmpdir) as dist:
9bff81
+            assert dist.entry_points == {
9bff81
+                'GROUP1': [
9bff81
+                    'point1 = pack.module:func',
9bff81
+                    '.point2 = pack.module2:func_rest [rest]',
9bff81
+                ],
9bff81
+                'group2': ['point3 = pack.module:func2']
9bff81
+            }
9bff81
+
9bff81
+        expected = (
9bff81
+            '[blogtool.parsers]\n'
9bff81
+            '.rst = some.nested.module:SomeClass.some_classmethod[reST]\n'
9bff81
+        )
9bff81
+
9bff81
+        tmpdir.join('entry_points').write(expected)
9bff81
+
9bff81
+        # From file.
9bff81
+        config.write(
9bff81
+            '[options]\n'
9bff81
+            'entry_points = file: entry_points\n'
9bff81
+        )
9bff81
+
9bff81
+        with get_dist(tmpdir) as dist:
9bff81
+            assert dist.entry_points == expected
9bff81
+
9bff81
     def test_data_files(self, tmpdir):
9bff81
         fake_env(
9bff81
             tmpdir,
9bff81
9bff81
From 39659040bda0664ee08588ecd2faa41b4ea406a1 Mon Sep 17 00:00:00 2001
9bff81
From: Melissa Li <li.melissa.kun@gmail.com>
9bff81
Date: Wed, 24 Feb 2021 00:31:16 -0500
9bff81
Subject: [PATCH 3/6] Add change note
9bff81
9bff81
---
9bff81
 changelog.d/1937.breaking.rst | 1 +
9bff81
 1 file changed, 1 insertion(+)
9bff81
 create mode 100644 changelog.d/1937.breaking.rst
9bff81
9bff81
diff --git a/changelog.d/1937.breaking.rst b/changelog.d/1937.breaking.rst
9bff81
new file mode 100644
9bff81
index 0000000000..94dc739ab6
9bff81
--- /dev/null
9bff81
+++ b/changelog.d/1937.breaking.rst
9bff81
@@ -0,0 +1 @@
9bff81
+Preserved case-sensitivity of keys in setup.cfg so that entry point names are case-sensitive. Changed sensitivity of configparser -- by :user:`melissa-kun-li`
9bff81
\ No newline at end of file
9bff81
9bff81
From 7f3e6d688e5ff080ee6bd7ccc6bd81a87c05cfd7 Mon Sep 17 00:00:00 2001
9bff81
From: Melissa Li <li.melissa.kun@gmail.com>
9bff81
Date: Wed, 24 Feb 2021 23:57:59 -0500
9bff81
Subject: [PATCH 4/6] Update test for case-sensitive entry point names
9bff81
9bff81
---
9bff81
 setuptools/tests/test_config.py | 16 ----------------
9bff81
 1 file changed, 16 deletions(-)
9bff81
9bff81
diff --git a/setuptools/tests/test_config.py b/setuptools/tests/test_config.py
9bff81
index 6cc1d0a46b..649075609a 100644
9bff81
--- a/setuptools/tests/test_config.py
9bff81
+++ b/setuptools/tests/test_config.py
9bff81
@@ -820,22 +820,6 @@ def test_case_sensitive_entry_points(self, tmpdir):
9bff81
                 'group2': ['point3 = pack.module:func2']
9bff81
             }
9bff81
 
9bff81
-        expected = (
9bff81
-            '[blogtool.parsers]\n'
9bff81
-            '.rst = some.nested.module:SomeClass.some_classmethod[reST]\n'
9bff81
-        )
9bff81
-
9bff81
-        tmpdir.join('entry_points').write(expected)
9bff81
-
9bff81
-        # From file.
9bff81
-        config.write(
9bff81
-            '[options]\n'
9bff81
-            'entry_points = file: entry_points\n'
9bff81
-        )
9bff81
-
9bff81
-        with get_dist(tmpdir) as dist:
9bff81
-            assert dist.entry_points == expected
9bff81
-
9bff81
     def test_data_files(self, tmpdir):
9bff81
         fake_env(
9bff81
             tmpdir,
9bff81
9bff81
From 11529db0de4081404b37fab17711660faa85abb8 Mon Sep 17 00:00:00 2001
9bff81
From: Melissa Li <li.melissa.kun@gmail.com>
9bff81
Date: Thu, 25 Feb 2021 00:00:23 -0500
9bff81
Subject: [PATCH 5/6] Update change log
9bff81
9bff81
---
9bff81
 changelog.d/1937.change.rst | 1 +
9bff81
 1 file changed, 1 insertion(+)
9bff81
 create mode 100644 changelog.d/1937.change.rst
9bff81
9bff81
diff --git a/changelog.d/1937.change.rst b/changelog.d/1937.change.rst
9bff81
new file mode 100644
9bff81
index 0000000000..acd4305968
9bff81
--- /dev/null
9bff81
+++ b/changelog.d/1937.change.rst
9bff81
@@ -0,0 +1 @@
9bff81
+Preserved case-sensitivity of keys in setup.cfg so that entry point names are case-sensitive. Changed sensitivity of configparser. NOTE: Any projects relying on case-insensitivity will need to adapt to accept the original case as published. -- by :user:`melissa-kun-li`
9bff81
\ No newline at end of file
9bff81
9bff81
From 898a0b59427f143efe0bcc0cabf69007fb3ee439 Mon Sep 17 00:00:00 2001
9bff81
From: "Jason R. Coombs" <jaraco@jaraco.com>
9bff81
Date: Thu, 25 Feb 2021 08:57:04 -0500
9bff81
Subject: [PATCH 6/6] Remove 'breaking' changelog, superseded by 'change'.
9bff81
9bff81
---
9bff81
 changelog.d/1937.breaking.rst | 1 -
9bff81
 1 file changed, 1 deletion(-)
9bff81
 delete mode 100644 changelog.d/1937.breaking.rst
9bff81
9bff81
diff --git a/changelog.d/1937.breaking.rst b/changelog.d/1937.breaking.rst
9bff81
deleted file mode 100644
9bff81
index 94dc739ab6..0000000000
9bff81
--- a/changelog.d/1937.breaking.rst
9bff81
+++ /dev/null
9bff81
@@ -1 +0,0 @@
9bff81
-Preserved case-sensitivity of keys in setup.cfg so that entry point names are case-sensitive. Changed sensitivity of configparser -- by :user:`melissa-kun-li`
9bff81
\ No newline at end of file