[Distutils] Beyond wheels 1.0: helping downstream, FHS and more

Paul Moore p.f.moore at gmail.com
Mon Apr 13 17:20:43 CEST 2015


On 13 April 2015 at 16:02, Daniel Holth <dholth at gmail.com> wrote:
> #1 is pretty straightforward. An entry-point format Python
> pre/post/etc. script may do.

There's metadata 2.0 information for this. It would be sensible to
follow that definition where it applies, but otherwise yes, this
shouldn't be hard.

Some thoughts, though:

1. Some thought should be put into how we ensure that pre/post
install/remove scripts are cross-platform. It would be a shame if a
wheel was unusable on Windows for no reason other than that the
postinstall script was written as a bash script. Or on Unix because
the postinstall script tried to write Windows start menu items.
2. It's worth considering "appropriate use" of such scripts. The
Windows start menu example is relevant here - I can easily imagine
users requesting something like that for a wheel they want to install
into the system Python, but it's completely inappropriate for
installing into a virtualenv.

To an extent, there's nothing we can (or maybe even should) do about
this - projects that include inappropriate install scripts will get
issues raised or will lose users, and the problem is self-correcting
to an extent, but it's probably worth including in the implementation,
some work to add appropriate documentation to the packaging user guide
about "best practices" for pre/post-install/remove scripts (hmm, a
glossary entry with a good name for these beasts would also be helpful
:-))

Paul


More information about the Distutils-SIG mailing list