nosrc.rpm files
Posted on Thu, Sep 22, 2011 at 17:43 by Hubertus A. Haniel
It is rather often that we have to package up binaries in rpm format for which there are no sources available and the vendor does not supply them in rpm format. - For this the best way to do this is using the NoSource tag in the SPEC file,
When building the RPM the result is apart from the package you want is also that rather then having a src.rpm as the source rpm you end up with a nosrc.rpm file. This nosrc.rpm file will only contain the spec file and not the sources that have been specified. This can be quite handy to grab files out of a running system.
So in the header of the SPEC file you would have something like
Source0: some.binary.%{_target_cpu}
NoSource: 0
As this binary will be architecture specific in most cases you should also ensure that you set the ExclusiveArch tag to ensure that the package does not get rebuild with the wrong architecture as a target. In this case I have two architecture specific binaries and with the above %{_target_cpu} the correct one gets selected when I specify the --target parameter on rpmbuild. My ExclusiveArch tag is set as below:
ExclusiveArch: i586 x86_64
An example of a package where I have used this concept can be found here.
Edited on: Sat, Sep 24, 2011 18:38Posted in HowTo (RSS), Packaging (RPM) (RSS), System - Linux (RSS)