[Distutils] Convention for installing binary data files
Wed, 23 Feb 2000 23:06:18 -0500
On 24 February 2000, Brian Takashi Hooper said:
> Are there any plans to include additional hooks for other stuff?
> Another one that I can think of is documentation - is that typically
> built as part of the install_ext portion...? What are other people
> doing with this?
My long-term plan is to have specific support for installing certain
types of documentation. Anything more concrete than that will have to
wait for some standard module documentation system to emerge from the
doc-sig. (In other words, don't hold your breath!)
However, you've given me an interesting idea: the ability to register
certain commands as "sub-install" commands that would then be
automatically called by the "install" command itself. Currently, if you
want to add some funky new kind of installation, you can either:
* subclass the standard "install" command, adding capability to
install your custom stuff -- that's the approach I took in
adding header installation to NumPy
* register your customized version of the "install" command
* define a new command "my_install" (or whatever) that just does
whatever it takes to install your custom stuff
* subclass the standard "install" command; the only change is to
add a call to your command -- run_peer('my_install')
* register both "my_install" and the customized version of "install"
However, if we add a way to add arbitrary "sub-install" commands, that
* define a new custom "sub-install" command
* register it as a "sub-install" command
and Bob's your uncle.
The same would have to apply to "build" commands -- anything you install
(code, documentation, whatever), you usually have to be able to build.
> It is a platform-neutral data file - specifically, a character mapping
> table (this is for a Japanese encoding package that a colleague of mine
> is currently working on)... I guess this would be /usr/lib or
> /usr/local/lib then?
No, if you follow the GNU coding standards, platform-neutral stuff goes
in /usr/share (or /usr/local/share). /usr/lib (/usr/local/share) is for
platform-specific stuff like C libraries. (Now, let's count the number
of major packages that actually respect this. You can probably leave
your socks on...)
Greg Ward - Linux weenie email@example.com
If you can read this, thank a programmer.