[New-bugs-announce] [issue15205] distutils dereferences symlinks on Mac OS X but not on Linux

Ollie Walsh report at bugs.python.org
Wed Jun 27 14:53:41 CEST 2012

New submission from Ollie Walsh <ollie.walsh at gmail.com>:


This is related to #12585.

Distutils sdist builds a package tree using hardlinks to the source if supported by the OS. This is then tarred/zipped/etc...

If the source contains symbolic links to external files:

On Linux (and apparently Solaris) they are not dereferenced and the resulting package is broken.

On OSX (and apparently all BSD kernels) a hardlink to a symlink will dereference the symlink first and the resulting tgz package is ok. However I would expect issue #8876 to be more likely as the symlink could references a different filesystem which would case hardlinking to fail.

In #12585 I assume that zip dereferences the symlinks which masks the issue.

distutils2 appears to always copy instead of hardlinking resolving all of these issues.

distutils can be monkey patched to do the same: 

assignee: eric.araujo
components: Distutils
messages: 164149
nosy: eric.araujo, ollie.walsh at gmail.com, tarek
priority: normal
severity: normal
status: open
title: distutils dereferences symlinks on Mac OS X but not on Linux
type: behavior
versions: Python 2.7

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list