El archivo .spec es un archivo de texto plano y es obra del empaquetador, podríamos decir que es un script o guión con todas las reglas necesarias para compilar y construir un archivo rpm, además de las reglas para instalar y remover la aplicación.
Luego de construido un rpm no se puede ver a partir del mismo el archivo .spec (excepto algunas secciones), pero todos los archivos .src.rpm contienen internamente un archivo .spec ya que se necesita para construir el rpm a partir del mismo.
Una forma de aprender a empaquetar es descargar archivos .src.rpm de los repositorios de Fedora que contienen este tipo de archivos, extraerlos y leer y estudiar los archivos .spec, si desea descargar el .src.rpm de algún paquete en los repositorios de Fedora, puede usar el siguiente comando:
dnf download –source nombre_de_paquete
El archivo .spec tiene una sintaxis específica que hay que conocer y está dividido en secciones para una mejor organización dentro del mismo.
Secciones de un archivo .spec
Info
%prep
%build
%install
%makeinstall
%post
%postun
%files
%changelog
Si quiere, puede crear un archivo .spec vacío con el comando:
rpmdev-newspec -m -t lib -o unac.spec
Dentro del directorio SPECS y abrirlo con un editor de texto para revisar su contenido, el comando rpmdev-newspec crea una plantilla de archivo .spec desde el cual se puede partir y personalizar luego según las necesidades cada paquete.