[issue12585] distutils dereferences symlinks for zip but not for bztar/gztar target

Éric Araujo report at bugs.python.org
Tue Jul 19 16:33:03 CEST 2011


Éric Araujo <merwok at netwok.org> added the comment:

Thanks for such a good report.  Symlinks handling in distutils is under-specified; this question showed up a few months ago on the distutils-sig mailing list, with no good answer.

distutils is a special part of the standard library: as it spent a long time without dedicated maintainer, people used to rely on undocumented behavior and bugs, so when Tarek took over maintenance and started to improve and fix things, a lot of third-party code was broken.  That’s why it was decided to put distutils under a feature freeze, fixing only clear bugs, and moving efforts for new development and cleanups into the distutils2 fork (also called packaging in the Python 3.3 standard library).

Because of the fragility of distutils, we have to be careful when dealing with bug reports.  Our process is that a bug is a behavior that contradicts the documentation, otherwise it’s classified as a new feature.  For this report, I’ve found only two mentions of symlinks in the distutils docs, the first one in a support function (Doc/distutils/apiref.rst) and the second one in the docs about the MANIFEST file (Doc/distutils/sourcedist.rst).  So the only promise that the docs make is that MANIFEST entries that are symlinks are supported, but nothing is said about what will end up in the sdist.

I hope that this explanation will let you see why I’m reluctant to change distutils: we don’t know what code we will break if we improve symlink handling.  So, do you think adding a warning about symlink handling issues in the docs would be enough?

For distutils2 however, compatibility concerns do not apply yet, so we’re free to fix and document symlink handling.  If you would like to work on a patch, here are some guidelines: <http://wiki.python.org/moin/Distutils/Contributing>.  If you can’t, then thanks again for your report, which will be a good starting point.

----------
assignee: tarek -> eric.araujo
components: +Distutils2
nosy: +alexis
versions: +Python 2.7, Python 3.3 -Python 2.6

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12585>
_______________________________________


More information about the Python-bugs-list mailing list