Toshio Kuratomi wrote:
This looks like you aren't getting the tarballs from the official source:
https://releases.ansible.com/ansible/
This still happens with the offical tarballs. The 'make rpm' target does not work as documented due to numerous issues, which I tried to document in my reply last night.
Why the OP isn't using the officially provided rpm packages is another question, of course. But the documentation does tell users that 'make rpm' should work from both a git clone and a tarball.
http://docs.ansible.com/ansible/latest/intro_installation.html#latest-release-via-yum
"You can also build an RPM yourself. From the
root of a checkout or tarball, use the make rpm
command to build an RPM you can distribute and
install."
If you try that with 2.0.2.0-0.3.rc3 as the OP in this thread, 2.4.0.0 as the poster you replied to, or even with 2.4.1.0, it fails.
I don't get the error mentioned in the subject, but I wouldn't be surprised to find that system differences could tickle the Makefile to produce a bogus string in the version tag as opposed to the broken release tag that is easily reproducible:
# yum -d0 -e0 install -y epel-release
# yum -d0 -e0 install -y asciidoc python2-devel python-jinja2 python-setuptools python-yaml rpm-build
# useradd rpmbuild
# su -l rpmbuild
$ curl -s -O https://releases.ansible.com/ansible/ansible-2.0.2.0-0.3.rc3.tar.gz
$ tar -xf ansible-2.0.2.0-0.3.rc3.tar.gz
$ cd ansible-2.0.2.0/
$ make rpm
...
error: line 10: Illegal char '"' in: Release: 0.git201711240000"".el7.centos
make: *** [rpm] Error 1
Without passing OFFICIAL=yes to make rpm, the process can't work. I put more details in an earlier reply to another thread, here:
https://groups.google.com/forum/#!topic/ansible-project/NTmpFBEr9Rg
I poked a little to see about fixing this, but it requires more than just fixing the GITINFO var and I didn't have the time to untangle things and submit a properly tested patch.
Basically, the Makefile assumes that if git is installed, you must be in a git clone rather than a tarball. That's clearly a faulty assumption. Fixing it requires a number of changes to the logic to ensure that the required variables are set appropriately for either a git clone or a tarball build.