[Distutils] Commit 17f89f4 "Update sdist to use sdist_add_defaults forward compatibility"
Jason R. Coombs
jaraco at jaraco.com
Sat Oct 15 14:50:04 EDT 2016
The discussion started here: https://github.com/pypa/setuptools/pull/750
Basically, I don’t understand exactly why that functionality was disabled, but I give my best guess in that ticket - mainly that I think data_files is incompatible with encapsulated installs, so I suspect it was explicitly, intentionally excluded, though I’ve found no evidence to that effect.
So for now, for compatibility, I’ve explicitly excluded that functionality with a comment.
I’ve also explicitly overridden _add_defaults_python to capture the overriding behavior, which while similar isn’t identical. I’m leaving it as a subsequent exercise to see if that implementation can be merged.
In my conclusion in that PR, I’ve suggested we go ahead and re-enable data_files, though I suggest we also add a test capturing that expectation.
> On 15 Oct, 2016, at 13:43, Brandon Casey <drafnel at gmail.com> wrote:
>
> Hi Jason,
>
> I just started looking at the setuptools repo last night to see if I
> could figure out why setuptools doesn't place data_files inside an
> sdist and I saw your commit 17f89f4 to teach the sdist command to use
> the python 36 compatibility behavior. But it overrides
> _add_defaults_data_files() which actually adds the data_files to the
> filelist, and replaces it with an empty function.
>
> If I remove this function, so that the one from
> py36compat.sdist_add_defaults is used, then it seems to work correctly
> for me. But that is the extent of my testing so far.
>
> The doc comment for the new _add_defaults_data_files function just says:
>
> Don't add any data files, but why?
>
> I see _add_defaults_python() was also overridden and is now only
> slightly different from the one in py36compat.sdist_add_defaults. It
> looks like maybe you were just trying to make use of the py36compat
> functions without introducing any change in behavior. Is that the
> only reason that _add_defaults_python() differs from the one in
> py36compat and why _add_defaults_data_files is disabled? Or do you
> have some concerns about enabling this functionality? Any thoughts of
> enabling it? If there's some active discussion or explanation on a
> mailing list somewhere, please feel free to point me towards that.
>
> Thanks,
> -Brandon
More information about the Distutils-SIG
mailing list