<div dir="auto">Actually after reading the email that Nathaniel referenced, I disagree with Nick's position on in-tree builds. It's absolutely necessary because the tree may be read only and it's enforceable by pip through a simple recursive list.</div><div class="gmail_extra"><br><div class="gmail_quote">On Aug 24, 2017 11:33 PM, "xoviat" <<a href="mailto:xoviat@gmail.com">xoviat@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Just this morning, Paul said the following:<div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif;font-size:13.696px">That step's the problem. If the frontend does that it can potentially</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">be copying a lot of unneeded stuff (VCS history, for example). We</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">tried that with pip and it was a major issue. That problem is the</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">*whole point* of all the discussions about the various proposals that</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">ended up with build_tree.</span><br></div><div dir="auto"><span style="font-family:sans-serif;font-size:13.696px"><br></span></div><div dir="auto"><span style="font-family:sans-serif;font-size:13.696px">I took that to mean that we were trusting the backend to do the right thing. And most people agreed with that. I don't personally care but there does seem to be some miscommunication here.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Aug 24, 2017 11:24 PM, "Nathaniel Smith" <<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Aug 24, 2017 at 9:17 PM, xoviat <<a href="mailto:xoviat@gmail.com" target="_blank">xoviat@gmail.com</a>> wrote:<br>
> > I'm *not* OK with banning in-tree builds in the spec, since that's<br>
> > both unnecessary and unenforceable<br>
><br>
> Well then either we can trust the backend or we cannot. If we can, then this<br>
> is both necessary and enforceable. If not, then we're back to pip copying<br>
> files. You can't make and argument that it's okay to trust build_sdist but<br>
> not build_wheel.<br>
<br>
I think at this point everyone has made their peace with the pip<br>
developers' decision that they want to keep copying files -- at least<br>
for now -- and that's just how it's going to be. This email has a more<br>
detailed discussion of the options, their "threat model", and the<br>
tradeoffs:<br>
<br>
    <a href="https://mail.python.org/pipermail/distutils-sig/2017-July/031020.html" rel="noreferrer" target="_blank">https://mail.python.org/piperm<wbr>ail/distutils-sig/2017-July/<wbr>031020.html</a><br>
<br>
I can see an argument for adding language saying that build_sdist<br>
SHOULD avoid modifying the source tree if possible, and MAY write<br>
scratch files to the sdist_directory.<br>
<br>
-n<br>
<br>
--<br>
Nathaniel J. Smith -- <a href="https://vorpus.org" rel="noreferrer" target="_blank">https://vorpus.org</a><br>
</blockquote></div></div>
</blockquote></div></div>