If learning how to make rpm packages, do learn it the proper, fedoraish way. First thing you should do is to install fedora-rpmdevtools and yum-utils:
Code:
yum install fedora-rpmdevtools yum-utils
Now make a build tree, as the user who'll build the packages (Not root!), run:
Code:
fedora-buildrpmtree
This will create the rpmbuild folder in the users home directory, the rpmbulld folder contains the following subfolders: RPMS SRPMS SPECS SOURCES BUILD. When you install a src.rpm it will place the source and eventual patches in the SOURCE folder, the spec in the SPEC folder. When you build packages the finished binary RPMS will be placed in RPMS. You ge t the picture.
Now get a src.rpm from fedora core or extras as an example. It's good to get a package fairly similar to the one you're bulding. If your packaging a python application, get a python example and so forth. I'll use a very simple package, bchunk, in my examples:
Code:
yumdownloader --source bchunk
Install the downloaded src.rpm:
Code:
rpm -ivh bchunk*.rpm
Now have a look at the spec in the SPECS folder. Use a text editor with syntax highlightning to make it easier to catch errors, personally I use gvim.
To create a new spec file, go the the SPECS directory and use the fedora-newrpmspec command with the name of what you are building:
Code:
fedora-newrpmspec <name of software>
Open the new .spec and start editing the template. Do remember to read the fedora extras wiki for pointers:
http://www.fedoraproject.org/wiki/Extras
Once you get the hang of packaging, there are plenty of tools to ensure the quality of a package. The first one is called rpmlint and it will point out the most obvious errors. Another great tool is mock, which builds a small but complete environment and tries to build and install the package in this environment. Mock does take a bit of time to run, but if your package builds in mock it's pretty solid. Install both tools using yum:
Code:
yum install rpmlint mock
Hopefully this'll get you started in building packages, and doing it the right way from the start.