[Distutils] [Python Language Summit] Distutils / Packaging survey
Ben Finney
ben+python at benfinney.id.au
Sun Feb 1 23:26:52 CET 2009
Ian Bicking <ianb at colorstudy.com> writes:
> I'm just about ready to run screaming from this discussion... so no,
> I want no part of determining what the "right" place for these files
> is
As I understand it, you are speaking from the perspective of a
“developer”; that is, someone who intends to share the software work
you've written, but leave the packaging of that work for particular
OSen to other people.
In that case, you're *not* being asked to determine what the “right”
installation location of files is; that's exactly the shift in control
that's being requested here, by divorcing the decision about what the
*purpose* of a file is from what its installed *location* will be.
Instead, you're being asked only to determine which category a file
belongs to; and those categories are (modulo some historical quirks,
due to David's obvious strong preference for the C-language-focussed
‘autoconf’) mostly about the *purpose* of a file — precisely to allow
that determination to be made without the same person needing to know
about install locations.
> I imagine some file like package-data.conf, containing:
>
> data mypackage/templates/
> docs docs/_build/
>
> At least in this example the first word is some tag, and the second
> is the directory, or files, or maybe a wildcard or something
> determining what files that tag applies to. Everything not declared
> but present in a package (or as a module) would default to "lib",
> and everything outside of that (like the setup.py file) would be
> "ignore".
This is (with implementation differences) entirely compatible with
what David's proposing, AFAICT.
The message you responded to, though, was discussing the complementary
part: the install location of (in your example) ‘docs’, ‘data’, ‘lib’,
etc. If you want no part of that, you're welcome to avoid it; and
that's exactly the kind of partition that is being striven for here.
> On installation, you'd write something like
> mypackage.egg-info/file-locations.txt, that might look like:
>
> mypackage/templates/ -> /usr/share/mypackage/templates/
> docs/_build/ -> /usr/share/doc/mypackage
>
> (I'm not sure what the syntax would look like, but whatever.)
Here, though, you lose the very useful categorisation you set up
above. AIUI, David is proposing that install location be a mapping not
from file path to file path, but from file *purpose* (as categorised
above) to install file path.
--
\ “For every complex problem, there is a solution that is simple, |
`\ neat, and wrong.” —Henry L. Mencken |
_o__) |
Ben Finney
More information about the Distutils-SIG
mailing list