An rpm fails to build with python setup.py bdist_rpm
|Reported by:||Owned by:||nobody|
|Cc:||Triage Stage:||Ready for checkin|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Two issues prevent an rpm package to be built with a python setup.py bdist_rpm command. At least this applies to CentOS 5.4, but I don't think it is distro-dependent.
The first one is version number. Here's a crash log:
creating dist tar -cf dist/Django-1.2-beta-1.tar Django-1.2-beta-1 gzip -f9 dist/Django-1.2-beta-1.tar removing 'Django-1.2-beta-1' (and everything under it) copying dist/Django-1.2-beta-1.tar.gz -> build/bdist.linux-x86_64/rpm/SOURCES building RPMs rpmbuild -ba --define _topdir /home/cesar/package/django/build/bdist.linux-x86_64/rpm --clean build/bdist.linux-x86_64/rpm/SPECS/Django.spec error: File /home/cesar/package/django/build/bdist.linux-x86_64/rpm/SOURCES/Django-1.2_beta_1.tar.gz: No such file or directory error: command 'rpmbuild' failed with exit status 1
For svn-based builds version is formatted as Django-1.2-beta-1. This version scheme violates RPM rules (see RPM File Naming Convention) as it introduces an extra dash.
Patch version.diff changes version formatting for SVN versions (e.g. Django-1.2_beta_1_svn~12743-1).
The second issue is with source:django/trunk/setup.cfg file. It lists examples directory as containing doc files, while it is missing in the repo. Attached doc_files.diff simply removes it.
Upon applying both of these patches I managed to build and install bleeding edge Django version with yum package manager.