Fedora – Fix for Broken rpmbuild in Fedora 31.
Testing Fedora 31 – which is still work-in-progress, of course..
Tried to use # rpmbuild –rebuild to create a missing RPM from a F30 source RPM, and found the following error:
.............. Illegal char ')' (0x29) in: Obsoletes:..........
I found a reference to this error in the buglist, but it had been flagged as ‘rawhide’, and closed, although the problem still existed in F31 (Pre). https://bugzilla.redhat.com/show_bug.cgi?id=1721570
The fix, is to install the source rpm # rpm -ivh xxxxxxxxxxx.src.rpm, and then edit the corresponding xxx.spec file to be found in ~/rpmbuild/SPECS
Remove all occurrences of ‘%{?_isa}‘ in the xxxx.spec file (usually after Provides: and Obsoletes: statements), and then run # rpmbuild -bs ~/rpmbuild/SPECS/xxxx.spec , which will re-create a ‘fixed’ source RPM in ~/rpmbuild/SRPMS, and then run # rpmbuild –rebuild ~/rpmbuild/SRPMS/xxxxx.src.rpm, using this fixed source RPM, and the binary RPMs will be created correctly..
This is only a temporary workaround, until the (presumed) bug is finally fixed..
Robert Gadsdon September 6th 2019.
Comments
Fedora – Fix for Broken rpmbuild in Fedora 31. — No Comments