[Python-Dev] Regarding Patch #103222: mv Python to PyCore

Guido van Rossum guido@python.org
Sat, 13 Jan 2001 17:33:34 -0500

> Howdy Folks,
> I need some help here. I'd like to see Python build out of the box with a 
> ./configure, make, make test, and make install on Darwin and Mac OS X.  
> Having it build out of the box will make it easier to be incorporated 
> into both Darwin and the base Mac OS X distribution - although not for 
> the initial release of the latter but definitely doable for subsequent 
> releases. In order to do this, I need to have it build cleanly on HFS and 
> UFS filesystems.
> Under HFS system, I've got a name conflict due to case insenstivity 
> between the build target and the "Python" directory that forces me to 
> build with a -with-suffix command on HFS and manually change the name 
> after install - which is an automatic knockout factor when it comes to 
> incorporating it in an automatic build system. Not to mention a problem 
> with unix newbies trying to build from source...
> Last night, I did some quick investigation to determine the best way to 
> fix this problem as documented in PEP-42 in the build section and 
> Sourceforge bug 122215 and determined that the easiest and least error 
> prone way was to change the directory name Python to PyCore.
> It's apparent from the comments that I'm missing something here as the 
> reaction has been negative so far - to the point where Guido has rejected 
> the patch. Can someone explain what I'd missing that's causing such 
> strong feelings?

We use CVS to manage the sources.  CVS makes it it very hard to a
directory; it doesn't have a command for this, so you have to do the
move directly in the repository, which will then break checkouts for
everyone who has a work directory linked to the CVS repository.  Using
SourceForge makes it a bit harder still: we have to ask the SF
sysadmins to do the move for us.

And if we did the move, it would be much harder to reproduce old
versions of the source tree with a single CVS command.  A way around
that would be to do a copy instead of a move, but that would cause the
directory "PyCore" to pop up in all old versions, too.

I just don't want to go through this hassle in order to make building
easier for one relatively little-used platform.

> My second question is how do I resolve the name conflict in an approved 
> way?  It's been suggested that a build directory be created (/src/build 
> ?) and that the target be place here. The problem that I had with this 
> suggestion is that it would require an additional layer to execute the 
> target and I wasn't sure what impact it whould have on running python 
> from a new directory... which is the reason I took the more known path. 
> :-)

I don't understand what you are proposing here; I can't imagine that
an extra directory level could cause a slowdown.

A suggestion I would be open to: change the executable name during
build (currently a .exe suffix is added), but change it back (removing
the .exe suffix) during the install.  That should be a small change to
the Makefile.

> Bottom line, come March 24th, Mac OS X 1.0 will be released and as of 
> July 2001 all Macintoshes  will come with Mac OS X.  I'd like to see 
> Python be easily built on "out of the box" these machines - rather come 
> with a haphazardous list of instructions or commands as currently needed 
> for 1.5.2 and 2.0 releases. And hopefully, at some point be incorporated 
> into the base Mac OS X installation...

Just get Apple to include Python with their standard distribution and
nobody will *have* to build Python on Mac OSX. :-)

--Guido van Rossum (home page: http://www.python.org/~guido/)