The header has some standard fields in it that you need to fill in. There are a few caveats as well. The fields must be filled in as follows:
Summary: This is a one line description of the package.Name: This must be the name string from the rpm filename you 
plan to use.Version: This must be the version string from the rpm filename
you plan to use.Release: This is the release number for a package of the same
version (ie. if we make a package and find it to be slightly broken and
need to make it again, the next package would be release number 2).Icon: This is the name of the icon file for use by
other high level installation tools (like Red Hat's ``glint'').  It must
be a gif and resides in the SOURCES directory.Source: This line points at the HOME location of the pristine
source file.  It is used if you ever want to get the source again or 
check for newer versions.  Caveat:  The filename in this line MUST match
the filename you have on your own system (ie. don't download the source
file and change its name).  You can also specify more than one source file
using lines like:
Source0: blah-0.tar.gz
Source1: blah-1.tar.gz
Source2: fooblah.tar.gz
SOURCES directory. (The directory
structure is discussed in a later section, "The Source Directory Tree".)Patch: This is the place you can find the patch if you need
to download it again.  Caveat:  The filename here must match the one
you use when you make YOUR patch.  You may also want to note that you
can have multiple patch files much as you can have multiple sources.  ]
You would have something like:
Patch0: blah-0.patch
Patch1: blah-1.patch
Patch2: fooblah.patch
SOURCES directory.Copyright: This line tells how a package is copyrighted.
You should use something like GPL, BSD, MIT, public domain, distributable,
or commercial.BuildRoot: This line allows you to specify a directory as the
``root'' for building and installing the new package.  You can use this to 
help test your package before having it installed on your machine.Group: This line is used to tell high level installation
programs (such as Red Hat's ``glint'') where to place this particular
program in its hierarchical structure.  The group tree currently looks
something like this:
Applications
    Communications
    Editors
        Emacs
    Engineering
    Spreadsheets
    Databases
    Graphics
    Networking
    Mail
    Math
    News
    Publishing
        TeX
Base
    Kernel
Utilities
    Archiving
    Console
    File
    System
    Terminal
    Text
Daemons
Documentation
X11
    XFree86
        Servers
    Applications
        Graphics
        Networking
    Games
        Strategy
        Video
    Amusements
    Utilities
    Libraries
    Window Managers
Libraries
Networking
    Admin
    Daemons
    News
    Utilities
Development
    Debuggers
    Libraries
        Libc
    Languages
        Fortran
        Tcl
    Building
    Version Control
    Tools
Shells
Games
%description  It's not really a header item, but
should be described with the rest of the header.  You need one description
tag per package and/or subpackage.  This is a multi-line field that should
be used to give a comprehensive description of the package.