classification
Title: Make “install” find the build_base directory
Type: behavior Stage: needs patch
Components: Distutils Versions: Python 3.4, Python 3.5, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: eric.araujo Nosy List: alexis, daishiharada, dstufft, eric.araujo, ezio.melotti, seanmccully, tarek
Priority: normal Keywords: easy, patch

Created on 2004-08-18 00:36 by daishiharada, last changed 2014-08-10 21:41 by seanmccully.

Files
File name Uploaded Description Edit
issue1011113-py34.patch seanmccully, 2014-08-10 21:40 Python 3.4 Patch review
issue1011113-default.patch seanmccully, 2014-08-10 21:41 default branch patch review
issue1011113-py27.patch seanmccully, 2014-08-10 21:41 Python 2.7 review
Messages (9)
msg60550 - (view) Author: daishi (daishiharada) Date: 2004-08-18 00:36
This is somewhat related to Bug#818201, in that it
involves that fact that the --build-base option only
appears to be operational under the build command.

Hence it is not possible to do:

python setup.py install -b <somedir>

The --help for install does not say that one can, so
the situation is not as inconsistent as in the previous
bug report. Nevertheless, it is problematic that once
one does:

python setup.py build -b <somedir>

as far as I can tell there is _no way_ to just install
the result.

One needs to always do:

python setup.py build -b <somedir> install

This seems somewhat unwieldy; perhaps -b should be
more universally available to all distutil commands?
msg114464 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010-08-20 23:08
Thanks for the report. distutils does not get new features anymore. This gives us time to focus on distutils2, the next generation. Thanks to the configure command (#8254), the functionality you require will be easily supported in distutils2. I’ll get back to this feature when configure is 100% finished and merged into the main repo.
msg146440 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-10-26 16:06
Actually I think this bug can be fixed in distutils.
msg147496 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-11-12 15:05
I’ve found a distutils commit that shows that this option was removed on purpose, because people might except that using “install -b foo” would affect the build command, but it does not.  I don’t think it’s a problem.  For people who run build and install in separate steps, it should be possible to say “build -b spam” and then “install -b spam”.
msg224729 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-08-04 14:55
Éric, can this be closed then?
msg224748 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2014-08-04 18:20
In my previous message I meant that I agreed with the original request, i.e. add --build-base to install.  I will probably never have the time to write a patch.
msg225163 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:40
Please advise any changes that need to be made, this is technically my second patch submission to cpython. I also had trouble running the unittests when backporting to 2.7.

Look at distutils, there wasn't a clear method for linking commands to share common options. This led to the solution provided which searches command options provided (via command line or configuration) for any shared options between command being ran and commands specified.

Patch for Python 3.4 attached.
msg225164 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:41
Attachng Python 3.5/default branch patch.
msg225165 - (view) Author: Sean McCully (seanmccully) * Date: 2014-08-10 21:41
Attaching Python 2.7 patch.
History
Date User Action Args
2014-08-10 21:41:42seanmccullysetfiles: + issue1011113-py27.patch

messages: + msg225165
2014-08-10 21:41:18seanmccullysetfiles: + issue1011113-default.patch

messages: + msg225164
2014-08-10 21:40:31seanmccullysetfiles: + issue1011113-py34.patch

nosy: + seanmccully
messages: + msg225163

keywords: + patch
2014-08-04 18:20:00eric.araujosetstatus: pending -> open

dependencies: - write a configure command
messages: + msg224748
2014-08-04 14:55:17ezio.melottisetstatus: open -> pending
nosy: + ezio.melotti
messages: + msg224729

2014-07-05 22:10:35BreamoreBoysetnosy: + dstufft

components: - Distutils2
versions: + Python 3.4, Python 3.5, - 3rd party, Python 3.2, Python 3.3
2011-11-12 15:05:59eric.araujosetmessages: + msg147496
2011-10-26 16:06:09eric.araujosetcomponents: + Distutils
versions: + Python 2.7, Python 3.2, Python 3.3
keywords: + easy
messages: + msg146440
type: enhancement -> behavior
resolution: remind ->
stage: needs patch
2011-02-13 16:06:10alexissetnosy: + alexis
2010-09-30 00:34:51eric.araujosetversions: + 3rd party, - Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2
2010-08-21 03:10:37terry.reedysetnosy: - terry.reedy
2010-08-20 23:08:51eric.araujosetassignee: tarek -> eric.araujo
dependencies: + write a configure command
type: enhancement
components: + Distutils2, - Distutils
title: distutils install with -b / --build-base -> Make “install” find the build_base directory
nosy: terry.reedy, daishiharada, tarek, eric.araujo
versions: + Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2
messages: + msg114464
resolution: remind
2010-08-20 22:52:10eric.araujosetmessages: - msg114463
2010-08-20 22:52:05eric.araujosetmessages: - msg113025
2010-08-20 22:52:00eric.araujosetmessages: - msg113011
2010-08-20 22:51:40eric.araujosetmessages: + msg114463
2010-08-05 19:18:45eric.araujosetnosy: + eric.araujo
messages: + msg113025
2010-08-05 19:02:21terry.reedysetnosy: + terry.reedy
messages: + msg113011
components: + Distutils, - None
2009-02-11 02:55:42ajaksu2setassignee: tarek
nosy: + tarek
2004-08-18 00:36:12daishiharadacreate