Phillip J. Eby wrote:
1. Source tree layout 2. Build configuration files/build processing 3. configure.py 4. sdist format & metadata 5. build tree layout (for build code to build and installers to install from)
Could you explain more why you want do spec out tree layout, because I don't understand. To me, it should be possible to set where different things go from a description (ala autoconf: data, shared, etc... except we would have to take into account non-unix OS of course), but forcing a particular build tree layout and source tree ? What does this give us ?
These elements would make it possible for the distutils to be divided up into more maintainable slices, that are owned by a much larger group of people, with much lower probability of burnout. Given a stable build layout, install tools aren't likely to change much. Given a stable source and build layout, build tools aren't likely to change much. The hairiest bits (extension/compiler stuff) will have to be in stdlib anyway, and are fairly isolated within the overall process.
Yes, this is a critical point. Installation, deployment and build are linked, in the sense the former needs information from the later, but they have very different requirements otherwise. cheers, David