Description of problem: $ rpmbuild -ta guestfs-browser-0.0.3.tar.gz error: Recursion depth(17) greater than max(16) 15< (empty) 14< (empty) 13< (empty) 12< (empty) 11< (empty) 10< (empty) 9< (empty) 8< (empty) 7< (empty) 6< (empty) 5< (empty) 4< (empty) 3< (empty) 2< (empty) 1< (empty) 0< Source0: http://people.redhat.com/~rjones/guestfs-browser/files/guestfs-browser- error: line 10: Source0: http://people.redhat.com/~rjones/guestfs-browser/files/guestfs-browser- Version-Release number of selected component (if applicable): rpm-build.x86_64 0:4.8.1-3.fc14 How reproducible: Always. Steps to Reproduce: 1. Download http://annexia.org/tmp/guestfs-browser-0.0.3.tar.gz 2. Run rpmbuild -ta guestfs-browser-0.0.3.tar.gz 3. Actual results: Strange error message. Expected results: Understandable error message. Additional info:
The message is rather cryptic but makes perfect sense. Note that you have Version: %{version} at line 2 in the spec file what leads macro evaluator to infinite loop when evaluating Source0 at line 9 in spec: Source0: http://people.redhat.com/~rjones/guestfs-browser/files/guestfs-browser-%{version}.tar.gz Please fix your spec file.
I'm not an idiot. I understand there is a problem with the spec file, but the error message doesn't say anything useful such as "you shouldn't use symbol %{version} recursively".
All macro processors do not have sufficient context to provide useful errot messages in situ, largely because there are multiple contexts associated. But sure a better error message could/should/would help. So would better input to the macro expansion.
Fixed upstream. The new error message now looks like: error: Too many levels of recursion in macro expansion. It is likely caused by recursive macro declaration. error: line 10: Source0: http://people.redhat.com/~rjones/guestfs-browser/files/guestfs-browser- and the macro stack backtrace is now redirected to debug log in order to avoid user confusion.
Much better, thanks.