[Distutils] distlib updated - comments sought
Daniel Holth
dholth at gmail.com
Fri Oct 5 22:36:40 CEST 2012
On Fri, Oct 5, 2012 at 3:28 PM, Stanley A. Klein <sklein at cpcug.org> wrote:
> The issue I had raised was attention to the needs of Linux packaging and
> the Filesystem Hierarchy Standard, and apparently that is under
> consideration.
>
> The response I received (from "Daniel Holth" <dholth at gmail.com>) said in
> part "The FHS issues are on the list, which is why there are "resource
> categories" that can be installed wherever in new-packaging land."
>
> I assume that by an "installer" you mean the combination of package
> building (done by e.g., rpmbuild) and installation (done by e.g., rpm or
> yum).
>
> The mapping of files from the Pypi structure to the target directories is
> done at package-build time and not usually at install-time. What a
> function like bdist_rpm does is to create an rpm spec and turn the package
> building function over to rpmbuild. The file mapping is defined in the
> rpm spec and takes place during the rpmbuild processing.
>
> What I didn't notice in the distlib documentation were low level functions
> that would facilitate the allocation of Pypi files/directories to target
> files/directories to help in preparation of the rpm spec.
I don't think that is in distlib's problem domain at the moment; the
information about which file should go where is not generally present
in setup.py at all.
It was part of the distutils2/packaging effort to define a setup.cfg
[files] section. Similar to
http://docs.python.org/distutils/setupscript.html#installing-additional-files
but with better definitions for the category names, and a config file
to show where they should go.
Bento uses the autoconf names
http://cournape.github.com/Bento/html/tutorial.html#adding-data-files,
http://cournape.github.com/Bento/html/reference/bento_format.html#available-path-variables,
e.g.
prefix: install architecture-independent files
eprefix: install architecture-dependent files
bindir: user executables
sbindir: system admin executables
...
The next build system that's made, or Bento right now, will provide
for finding those files again at runtime even if they have been flung
to the four corners of the disk.
The wheel spec should probably be updated to understand something
about packagename-1.0.data/bindir etc.
When you are build an RPM, install-time from the Python perspective
would indeed be build-time from the RPM packager's perspective.
Daniel
More information about the Distutils-SIG
mailing list