Python, distutils, rpmbuild, issues

Jeff Spaleta jspaleta at gmail.com
Tue Jan 6 21:39:53 UTC 2009


On Tue, Jan 6, 2009 at 12:17 PM, Gerry Reno <greno at verizon.net> wrote:
> Ok, rpmbuild went along with this and apparently apt didn't care.  But will
> this work with the final release, 5.0.0?  Can the 5.0.0 rpm actually upgrade
> a 5.0.0_rc2 release?  Remember, the python module "distutils" causes the
> spec file to be generated on the fly.  So does it just assume the version
> will occur in lexical order?

We have packaging policies aimed at pre-release versions, which throw
the pre-release naming scheme into the release.  I have a scipy
package right now in rawhide and in f10 updates-testing which uses our
project policy to ensure upgrade paths work.  Python's distutil spec
file generation needs to grow the ability to put the pre-release
information into the "release" field and not in the "version" field.


>
> The next problem was with trying to use the python setuy.py target,
> "bdist_rpm".  The bdist_rpm worked fine when you run it on ubuntu or debian
> (with rpmbuild installed) but failed when it was run on any of the
> RedHat-based distros.  The error that was occurring on the RedHat-based
> distros is the "Installed (but unpackages) file(s) found".  Apparently on
> RedHat-based distros, rpmbuild creates .pyo files which never get added back
> into the INSTALLED_FILES from distutils and then of course it causes this
> error.  Has anyone solved this problem?  I see lots of references to this
> problem when I google it, but no solutions.


The solution is to fix upstream python's specfile generation so that
its robust against the sort of failures your are finding.  It just
needs to include *.pyo files Fedora packagers are not relying on this
auto-generation by distutils.


-jef




More information about the fedora-devel-list mailing list