Различают два вида пакетов rpm: пакет с исходным кодом - SRPM-пакет (.src.rpm) и собранный двоичный пакет - RPM-пакет (.rpm).
Структура, из которой собирается RPM-пакет, выглядит примерно так:
mypkg/
SPECS/ - содержит файл спецификации (`.spec`), описывающий, как собирать пакет;
mypkg.spec
SOURCES/ - хранит исходные файлы, из которых будет скомпилирован бинарный пакет;
mypkg.tar.gz
BUILD/ - используется для временных файлов во время сборки;
RPMS/ - хранит собранные бинарные пакеты;
SRPMS/ - содержит исходные пакеты.
Файл mypkg.spec - это основной файл, содержащий детали, необходимые для сборки пакета:
Файл CHANGELOG - содержит историю изменений пакета, позволяя пользователям видеть, что было добавлено, изменено или исправлено в каждой версии.
Пакеты могут содержать скрипты, которые выполняются до или после установки. Эти скрипты позволяют выполнять дополнительные действия, такие как настройка или очистка окружения:
%pre - скрипт, выполняемый перед установкой пакета;%post - скрипт, выполняемый после установки пакета;%preun - скрипт, выполняемый перед удалением пакета;%postun - скрипт, выполняемый после удаления пакета.
Файл my.cnf (или аналогичный) может содержать параметры конфигурации для программ, устанавливаемых через RPM.