Issue
I want to build an RPM of OpenCV for a distribution of Oracle Linux. I have been reading various guides to making an RPM (see rel="nofollow">http://www.ibm.com/developerworks/library/l-rpm1/), and from Fedora's documentation, I read the following:
The RPM system will automate the steps to create an application, as long as you configure the RPM with the proper steps, such as which make targets to run. Unfortunately, configuring the proper steps is not always easy. So before trying to make an RPM, you need to figure out how to build the application or library you plan to package into an RPM. Once you have figured out how to build the application or library, you can set up a reproducible build. The RPM system can then automate this build.
From this I gather that RPM doesn't install prebuilt libraries and binaries, but builds them from source. However, my experience tells me that when I download packages that I am just installing prebuilt binaries. Is this correct?
Solution
There are two different things. You can package an application using
rpm system using a spec file
The spec file is the recipe for creating your application. Once you have a spec file. You can use it generate a src rpm or binary rpm. Binary rpm is the rpm that you were referring.
The spec file specifies how to build/package your rpm. We use rpmbuild command to build the rpm.
Now you can use rpm command to install/uninstall/upgrade the rpm package.
Please don't be confused between rpm, the package AND rpm system, the engine responsible for building the rpm
Answered By - dlmeetei Answer Checked By - Senaida (WPSolving Volunteer)