At 02:10 PM 5/29/2007 -0400, Stanley A. Klein wrote: >I found a report on bugzilla.redhat.com, "Bug 236535 Processed: >brp-python-bytecompile does not work with bdist-rpm target" and am cc:'ing >the cc: list for that bug on this email. > >I posted a comment to that bug strongly urging the Fedora packaging people >and the Python packaging people to get their heads together and resolve >this issue. > >For the benefit of the people on the Fedora bug cc: list, a posting to the >Python distutils list that describes my problem can be found at >http://mail.python.org/pipermail/distutils-sig/2007-May/007639.html
Hi Stanley. I reviewed the notes on the bug; this definitely explains why I haven't been able to reproduce your problem under CentOS (which is where I was testing it). It looks to me like there are two possible long-term fixes: 1. The Fedora folks could fix brp-python-bytecompile to automatically add the *.pyo files to the installed-files list (and adjust the compilation location) to remove the error(s). (I think this is the best approach, as it ensures Fedora's policy is followed even for user-built RPMs.) 2. I could change setuptools to always generate *.pyo files when creating RPMs, or to have the option to do so -- and we'd also have to change the distutils in Python. The big problem with option #2 is that even if it were considered a bugfix for Python (which it *isn't*, since clearly the Fedora policy change is what's breaking it), it would have to wait until a Python 2.5.x release. Is Fedora even *using* 2.5 yet? In the meantime, there is one workaround you can use with your distutils package. Add the following two lines to 'setup.cfg' in the package root, adjacent to the 'setup.py' file: [install] optimize = 1 This will force all RPM's built with the package to include *.pyo files, which should then dodge the (By the way, *.pyo files actually aren't all that useless. More recent versions of Python actually do a few optimizations on the generated bytecode, including things like constant folding, in addition to removing "if __debug__:" blocks and "assert" statements.) _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig