The test.c file that is used to create the RPM package is given below. It should be located in the /usr/src/redhat/SOURCES/ directory and /root/ceylonlinux/testing directory.
[root@three testing]# vim test.c
A spec file have to be written in order to create either a binary RPM package or a source RPM package. It simply gives information about where the files are stored and where should the files be stored. The spec file which is used for this example is given below.
[root@three testing]# vim test.spec
Summary: This prints hello world
%description: This package prints hello world when executed
gcc -o /root/ceylonlinux/testing/test /root/ceylonlinux/testing/test.c
The option summary is used to give a general description of whet the RPM package does. This description should be of one line.
- “Name” is the name of the RPM package.
- “Version” and “Release” are used to keep track of the modifications done.
- “Copyright” option is used to mention the license information.
- “Group” option is used to inform the high level installer programs such has Red hat’s glt to which group this program belongs.
- “Source” is the source file that is being added to the rpm package. This should appear in the /usr/src/redhat/SOURCES directory.
- “Build root” is the directory which will be used as the root directory when building the rpm package.
- “Description” gives information about the rpm package. This can be expanded up to multiple lines.
- %prep This section is used to set up the environment for building the rpm package. Things like expansion of source tar balls are done in this section. Since in this example there are no tar balls this section is kept blank
- %build This section is used to compile and to build the source codes. In this example compilation of the source code is done in this section.
- %install This is used to install the programs and in this example the executable file is run
# rpmbuild –bs test.spec
It will create a test-1-1.src.rpm package inside the /usr/src/redhat/SRPMS/ directory.
To build an rpm package use the following command.
# rpmbuild –ba test.spec
It will create a test-1-1.src.rpm package in the /usr/src/redhat/SRPMS/ directory and a test-1-1. i386.rpm binary package inside the /usr/src/redhat/RPMS/i386/ directory.