3.15. Rebuilding a binary RPM from a source RPM
The following procedure shows how to rebuild a binary RPM from a source RPM (SRPM).
cellofrom their SRPMs, run:
$ rpmbuild --rebuild ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm [output truncated] $ rpmbuild --rebuild ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm [output truncated] $ rpmbuild --rebuild ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm [output truncated]
rpmbuild --rebuild involves:
Installing the contents of the SRPM - the SPEC file and the source code - into the
- Building using the installed contents.
- Removing the SPEC file and the source code.
To retain the SPEC file and the source code after building, you can:
When building, use the
rpmbuildcommand with the
--recompileoption instead of the
Install the SRPMs using these commands:
$ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm Updating / installing… 1:bello-0.1-1.el8 [100%] $ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm Updating / installing… …1:pello-0.1.2-1.el8 [100%] $ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm Updating / installing… …1:cello-1.0-1.el8 [100%]
The output generated when creating a binary RPM is verbose, which is helpful for debugging. The output varies for different examples and corresponds to their SPEC files.
The resulting binary RPMs are in the
~/rpmbuild/RPMS/YOURARCH directory where
YOURARCH is your architecture or in the
~/rpmbuild/RPMS/noarch/ directory, if the package is not architecture-specific.