Description of problem: systemtap-0.5.13-1.fc6.src.rpm not rebuilder Version-Release number of selected component (if applicable): systemtap-0.5.13-1.fc6.src.rpm How reproducible: Rebuild package Steps to Reproduce: # rpmbuild --rebuild --target i686 systemtap-0.5.13-1.fc6.src.rpm Installing systemtap-0.5.13-1.fc6.src.rpm warning: InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 warning: user brewbuilder does not exist - using root warning: group brewbuilder does not exist - using root warning: user brewbuilder does not exist - using root warning: group brewbuilder does not exist - using root Building target platforms: i686 Building for target i686 error: File /usr/src/redhat/SOURCES/elfutils-0.125.tar.gz: No such file or directory Actual results: Not rebuilded Expected results: Rebuilded Additional info: Nothing
It seems like the %fedora conditional for %bundled_elfutils is not working. Roland, is there any need to keep the default %bundled_elfutils set to 1 in this line? %if 0%{!?bundled_elfutils:1} # Yo! DO NOT TOUCH THE FOLLOWING LINE. # You can use rpmbuild --define "bundled_elfutils 0" for a build of your own. %define bundled_elfutils 1 %endif
Sorry! Where is this variable and/or string? I have use it in command line: #rpmbuild --define "bundled_elfutils 0" --rebuild --target i686 systemtap-0.5.13-1.fc6.src.rpm the package is compiling.
The script piece I quoted is from the systemtap.spec file. It is intendended to allow an unmodified spec file to build systemtap on machines with an excessively old system elfutils. But it should know that Fedora is new enough, and that this elfutils "bundling" is not necessary. The check is not behaving correctly.
It is a problem common to many packages that the %dist and %fedora macros are not defined. In Fedora 7, redhat-rpm-config has been changed to define them so the macros seen by rpmbuild done manually match rpmbuild in the Fedora build system. I'm not sure if this is going to be backported to fc6 or not. You can work around it by passing --define "dist .fc6" --define "fedora 6" to rpmbuild.
Is that a good enough explanation about what happened here? It appears to be a build system oddness rather than a systemtap spec file bug.
I think that you have rigth because I have see now that are many other packages with "dist .fc6" undefined. Just a question. if I write definitly the option --define "dist .fc6" --define "fedora 6", how and where write it? Thanks
Write it on the rpmbuild command line: rpmbuild --rebuild --target i686 --define "dist .fc6" --define "fedora 6" systemtap-0.5.13-1.fc6.src.rpm
This ok for command line, bat there is a macro file where write it definitively this options?
Sure. E.g. ~/.rpmmacros . See http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-customizing-rpm.html for details.