[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Python, distutils, rpmbuild, issues



I wasn't sure exactly where to start with all this so here goes:

I've been working with some python projects and running into problems with RedHat-based distros when it comes to rpm generation, versioning, and updating.

Specifically, many projects like to put out release candidates for packages. In python, there is a module, "distutils", that will permit you to create packaging for both apt and rpm like so: $ python ./setup.py bdist_rpm # this generates SRPMS and RPMS for this python app

One of the problems is versioning and occurred when the project created release candidates and we ended up with versions like:
5.0.0-rc1
Well, rpmbuild does not recognize hyphen as a legal character although it worked fine for apt. So I opened a bug on the project and then devs then changed it to:
5.0.0_rc2
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?

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.


Regards,
Gerry




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]