================================================================================
                                   .spec file
================================================================================

Preamble

Name: Base name of the package, should match spec file name
Version: Upstream version number
Release: Default to 1%{?dist}, increment by one per package revision. Reset when
a new Version is built
Summary: One line summary
License: License of the software
URL: Upstream URL
Source0: Path or URL to compressed archive of the upstream. SourceX can be used
for each source
Patch0: Name of first patch to apply to source code. PathX can be used for
multiple patches.
BuildArch: noarch for architecture independant. Else inherit architecture from
the machine.
BuildRequires: Comma- or whitespace-separated list of packages required for
building the program.
Requires: Comma- or whitespace-separated list of packages required for running
the program.
ExcludeArch: Excluded architecture

Body

%description: Full description
%prep: Commands to prepare the building. For instance unpacking the archive in
Source0
%build: Commands for building.
%install: Commands for copying the built artifacts from %builddir to the
%buildroot. Usually copy files from ~/rpmbuild/BUILD to ~/rpmbuild/BUILDROOT.
Only run when creating the package.
%check: Commands to test the software
%files: List of installed files on the end-user's system
%changelog: Record of changes between Version or Release
