<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-setuptools-git.git/setuptools/tests/test_sdist.py, branch feature/distutils-hack-startup-perf</title>
<subtitle>github.com: pypa/setuptools.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/'/>
<entry>
<title>Use warning instead of log for distutils command</title>
<updated>2021-11-05T14:14:29+00:00</updated>
<author>
<name>Anderson Bravalheri</name>
<email>andersonbravalheri@gmail.com</email>
</author>
<published>2021-11-05T14:14:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=e2220331136c3a60b8d70a6b4eaad05816c9b637'/>
<id>e2220331136c3a60b8d70a6b4eaad05816c9b637</id>
<content type='text'>
As discussed in #2855, using an actual warning instead of the logger
allow users to control what gets displayed via warning filters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As discussed in #2855, using an actual warning instead of the logger
allow users to control what gets displayed via warning filters.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make sure user gets warned when using distutils</title>
<updated>2021-11-04T13:08:16+00:00</updated>
<author>
<name>Anderson Bravalheri</name>
<email>andersonbravalheri@gmail.com</email>
</author>
<published>2021-11-04T12:40:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=9d0dc418639a0bf7cd9244feb705d30b60e1a906'/>
<id>9d0dc418639a0bf7cd9244feb705d30b60e1a906</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add regression test for #2849</title>
<updated>2021-11-04T13:04:04+00:00</updated>
<author>
<name>Anderson Bravalheri</name>
<email>andersonbravalheri@gmail.com</email>
</author>
<published>2021-11-04T12:27:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=a5716723c3e311c0a69da57dbf7c5bc65d4ef062'/>
<id>a5716723c3e311c0a69da57dbf7c5bc65d4ef062</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Trim docstring and remove comment.</title>
<updated>2021-11-03T01:39:32+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@jaraco.com</email>
</author>
<published>2021-11-03T01:15:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=10ead90587c991774f2b6157ed7924bac83fff65'/>
<id>10ead90587c991774f2b6157ed7924bac83fff65</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix 1461: Better loop breaker for `manifest_maker`</title>
<updated>2021-11-01T20:50:58+00:00</updated>
<author>
<name>Anderson Bravalheri</name>
<email>andersonbravalheri@gmail.com</email>
</author>
<published>2021-11-01T19:47:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=2e66eb7147ae1e8a799b2276c7340f48f63a7220'/>
<id>2e66eb7147ae1e8a799b2276c7340f48f63a7220</id>
<content type='text'>
The inconsistency for the `package_data` configuration in sdists
when `include_package_data=True` in #1461 have been causing some
problems for the community for a while, as also shown in #2835.

As pointed out by
[@jaraco](https://github.com/pypa/setuptools/issues/1461#issuecomment-749092366),
this was being caused by a mechanism to break the recursion between the
`egg_info` and `sdist` commands.

In summary the loop is caused by the following behaviour:

- the `egg_info` command uses a subclass of `sdist` (`manifest_maker`)
  to calculate the MANIFEST,
- the `sdist` class needs to know the MANIFEST to calculate the data files when
  `include_package_data=True`

Previously, the mechanism to break this loop was to simply ignore
the data files in `sdist` when `include_package_data=True`.

The approach implemented in this change was to replace this mechanism,
by allowing `manifest_maker` to override the `_safe_data_files` method
from `sdist`.

---

Please notice [an extensive experiment]
(https://github.com/abravalheri/experiment-setuptools-package-data)
was carried out to investigate the previous confusing behaviour.

There is also [a simplified theoretical analysis]
(https://github.com/pyscaffold/pyscaffold/pull/535#issuecomment-956296407)
comparing the observed behavior in the experiment and the expected
one. This analysis point out to the same offender indicated by
[@jaraco](https://github.com/pypa/setuptools/issues/1461#issuecomment-749092366)
(which is being replaced in this change).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The inconsistency for the `package_data` configuration in sdists
when `include_package_data=True` in #1461 have been causing some
problems for the community for a while, as also shown in #2835.

As pointed out by
[@jaraco](https://github.com/pypa/setuptools/issues/1461#issuecomment-749092366),
this was being caused by a mechanism to break the recursion between the
`egg_info` and `sdist` commands.

In summary the loop is caused by the following behaviour:

- the `egg_info` command uses a subclass of `sdist` (`manifest_maker`)
  to calculate the MANIFEST,
- the `sdist` class needs to know the MANIFEST to calculate the data files when
  `include_package_data=True`

Previously, the mechanism to break this loop was to simply ignore
the data files in `sdist` when `include_package_data=True`.

The approach implemented in this change was to replace this mechanism,
by allowing `manifest_maker` to override the `_safe_data_files` method
from `sdist`.

---

Please notice [an extensive experiment]
(https://github.com/abravalheri/experiment-setuptools-package-data)
was carried out to investigate the previous confusing behaviour.

There is also [a simplified theoretical analysis]
(https://github.com/pyscaffold/pyscaffold/pull/535#issuecomment-956296407)
comparing the observed behavior in the experiment and the expected
one. This analysis point out to the same offender indicated by
[@jaraco](https://github.com/pypa/setuptools/issues/1461#issuecomment-749092366)
(which is being replaced in this change).
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Python 2 compatibility</title>
<updated>2020-08-16T11:15:18+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@jaraco.com</email>
</author>
<published>2020-08-16T04:29:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=fb7ab81a3d080422687bad71f9ae9d36eeefbee2'/>
<id>fb7ab81a3d080422687bad71f9ae9d36eeefbee2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for Python 4: replace unsafe six.PY3 with PY2</title>
<updated>2020-01-08T17:10:11+00:00</updated>
<author>
<name>Hugo</name>
<email>hugovk@users.noreply.github.com</email>
</author>
<published>2020-01-08T17:10:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=796abd8dbec884cedf326cb5f85512a5d5648c4e'/>
<id>796abd8dbec884cedf326cb5f85512a5d5648c4e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix latin1 and utf8 tests on Python 2</title>
<updated>2020-01-01T23:16:35+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@jaraco.com</email>
</author>
<published>2020-01-01T17:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=3d5b7775b7b7ee6c0b354a04fe1d33c1f9b0e5df'/>
<id>3d5b7775b7b7ee6c0b354a04fe1d33c1f9b0e5df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore Python 2.7 compatibility</title>
<updated>2020-01-01T16:54:53+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@jaraco.com</email>
</author>
<published>2020-01-01T16:54:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=90922a5eb9b2f002202a16c974b86750a46d21ea'/>
<id>90922a5eb9b2f002202a16c974b86750a46d21ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused import</title>
<updated>2019-12-31T18:32:57+00:00</updated>
<author>
<name>Jason R. Coombs</name>
<email>jaraco@jaraco.com</email>
</author>
<published>2019-12-31T18:32:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-setuptools-git.git/commit/?id=a87f975e65507382aaecfb01fe8df4608c38f466'/>
<id>a87f975e65507382aaecfb01fe8df4608c38f466</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
