Building RPM from svn checkout (of 1.0.1 tag) fails
|Reported by:||robinbowes||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I checked out v1.0.1 from the svn tag and tried to build it using python setup.py bdist_rpm
It failed with the following msg:
... hard linking extras/django_bash_completion -> Django-1.0.1-final/extras hard linking scripts/rpm-install.sh -> Django-1.0.1-final/scripts tar -cf dist/Django-1.0.1-final.tar Django-1.0.1-final gzip -f9 dist/Django-1.0.1-final.tar removing 'Django-1.0.1-final' (and everything under it) copying dist/Django-1.0.1-final.tar.gz -> build/bdist.linux-x86_64/rpm/SOURCES building RPMs rpmbuild -ba --define _topdir /var/software/django/1.0.1/build/bdist.linux-x86_64/rpm --clean build/bdist.linux-x86_64/rpm/SPECS/Django.spec error: File /var/software/django/1.0.1/build/bdist.linux-x86_64/rpm/SOURCES/Django-1.0.1_final.tar.gz: No such file or directory error: command 'rpmbuild' failed with exit status 1
Upon further investigation, this is because of a mis-match between the version string generated by setuptools and written into the spec file:
%define version 1.0.1_final
and code in setup.py:
... version = __import__('django').get_version() if u'SVN' in version: version = ' '.join(version.split(' ')[:-1]) setup( name = "Django", version = version.replace(' ', '-'), ...
which generates a version of 1.0.1-final
Notice that one uses _ (underscore) while the other uses - (hyphen).
I fixed this by changing version.replace(' ', '-') to version.replace(' ', '_') in setup.py, but I don't know enough about the rest of your naming convention to determine whether or not this is an appropriate fix.