On 15 July 2017 at 23:06, Thomas Kluyver <tho...@kluyver.me.uk> wrote:
> So I don't see a good way to avoid picking up existing clutter when you
> install from source. I think the main purpose of isolating the build is
> to avoid generating new clutter in the source directory.

Picking up clutter in general isn't the problem, so much as picking up
clutter that a build via sdist *wouldn't* pick up.

For flit, there are two main cases of interest:

- publisher development environments
- building from release tarballs rather than VCS clones

In the first case, the typical scenario will have both VCS metadata
*and* VCS tools available, so pip will successfully use the
sdist->wheel path, and clutter will be avoided in the end result.
In the second case, building the sdist will fail, *but* the source
directory is unlikely to have clutter in it, so a naive tree copy on
flit's side of things will still count as "good enough"

If flit's build_wheel *also* refuses to run in a "dirty" VCS tree
(i.e. uncommitted files that a naive copy would pick up, but building
an sdist wouldn't) when an out of tree build is requested, then the
odds of folks generating accidentally inconsistent build artifacts
drop even further (keeping in mind that the goal here isn't to drop
the change of such discrepancies to zero - it's just to make that
chance substantially lower by default than that are today with routine
discrepancies between MANIFEST.in and setup.py).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to