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

Re: Python, distutils, rpmbuild, issues

Gerry Reno wrote:
> Jesse Keating wrote:
>> No, this won't work.  5.0.0_rc2 is in fact rpm newer than 5.0.0.
> Is there some way to force rpm to recognize 5.0.0 as newer than
> 5.0.0_rc2?  How else are you supposed to handle the release candidate
> packaging?
No.  This needs to be fixed in distutils/setuptools.  I don't think that
distutils currently knows anything about versions and ordering.
setuptools does its own ordering which is incompatible with rpm but I
don't believe that impacts the bdist_rpm target.

To work, bdist_rpm would need to understand the ordering of the package
and map that to an ordering for rpm.  In Fedora we do the mapping
manually by placing the prerelease information into the rpm release field:

Upstream: foo-5.0.0_rc2
Rpm Version: 5.0.0
Rpm Release: 0.1.rc2

Upstream: foo-5.0.0_rc3
Rpm Version: 5.0.0
Rpm Release: 0.2.rc3

Upstream: foo-5.0.0
Rpm Version: 5.0.0
Rpm Release: 1

>> As to your other problem, I haven't even attempted it as the distutils
>> generated spec file isn't acceptable to Fedora packaging standards,
> Why is this?  I've built RPMS using bdist_rpm and they work just fine. 
> You can configure things in setup.cfg.  Of course I had to force an
> ignore of the "Installed but not packaged files" error which is not a
> permanent solution to the problem.  I would prefer to use 'bdist_rpm'
> and not develop a whole new way of building python packages when
> distutils can already do this.  If something cannot be configured then I
> think distutils should be enhanced.
bdist_rpm can create a valid rpm.  But it doesn't meet our standards.
For instance, as you've found it doesn't account for the *.pyo files.
These need to be included in the package otherwise they can be created
later at runtime (if python optimize is on and root runs a python
program, for instance) and then leave the unowned *.pyo's on the system.


Attachment: signature.asc
Description: OpenPGP digital signature

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