[Distutils] Creating a binary only python distribution of a C extension module and including some additional python and c files in it
Akhi Singhania
asinghania at solarflare.com
Tue Jan 3 17:26:27 CET 2012
Hi,
I have a extension module in C which I want to distribute in binary
format, ideally an rpm. Additionally, I want to include some python
files (examples on how to use the extension module) and source for a
library the module dynamically links to (c,h, and make files).
How do I specify the example python file in setup.py so that it will be
included in the rpm?
If I specify it as scripts, I get the following error:
$ python setup.py bdist --format=rpm
running build_scripts
creating build/scripts-2.6
error: file 'foo.py' does not exist
error: Bad exit status from /var/tmp/rpm-tmp.yjws9x (%build)
If I specify it as data_files, I get the following error:
$ python setup.py bdist --format=rpm
error: Installed (but unpackaged) file(s) found:
/usr/foo.pyc
/usr/foo.pyo
If I specify it as py_modules, I do not get errors but it is not
included in the resulting rpm.
Specifying it as a script works if I use
$ python setup.py bdist --format=gztar
Additionally, can I control the hierarchy of how the files are laid out
in the rpm?
Currently, I am specifying the c,h,make files as data_files and they get
placed in /usr, which is not desirable.
Alternatively, do you know of a way to specify the directory hierarchy
if using --format=gztar
Currently, it creates a hierarchy resembling root install into /usr.
If I can modify this hierarchy, I would have essentially what I want.
Regards,
akhi
More information about the Distutils-SIG
mailing list