Книга: Искусство программирования для Unix
19.2.4.5. В Linux создавайте RPM-пакеты
19.2.4.5. В Linux создавайте RPM-пакеты
Де-факто стандартным форматом для устанавливаемых бинарных пакетов в Linux является формат, используемый диспетчером пакетов Red Hat Linux, RPM (Red Hat Package manager). Он имеется в большинстве популярных дистрибутивов Linux и поддерживается фактически всеми остальными дистрибутивами (кроме Debian и Slackware; а в Debian можно устанавливать программы из RPM-пакетов). Следовательно, хорошей идеей для сайта проекта будет предоставление устанавливаемых RPM-пакетов наряду с архивами исходных кодов.
Также хорошей идеей будет включение в архив с исходным кодом файл RPM-спецификации, из которого правило в makefile
позволяет создавать RPM-пакеты. Файл спецификации должен иметь расширение .spec
; по данному расширению команда rpm -t
обнаруживает его в архиве.
Для особых целей рекомендуется генерировать файл спецификации с shell-сценарием, который автоматически вставляет корректный номер версии, анализируя файлы makefile
или version.h
проекта.
Следует отметить, что в случае поставки исходных RPM-пакетов необходимо использовать тег BuildRoot, для того чтобы программа компилировалась в каталоге /tmp или /var/tmp. Если этого не сделать, то во время выполнения инсталляционной части компиляции файлы будут установлены в действительно конечный каталог. Это произойдет, даже если обнаружатся файловые коллизии, а также если пользователь вообще не хочет инсталлировать пакет. После завершения процедуры инсталляции файлы будут установлены, но в системной базе данных RPM сведения о них не появятся. Такие неверно работающие SRPM-пакеты являются "минным полем" и их следует избегать.
- 19.2.4.1. Убедитесь, что архивы всегда распаковываются в один новый каталог
- 19.2.4.2. Включайте в дистрибутив README-файл
- 19.2.4.3. Придерживайтесь стандартной практики именования файлов
- 19.2.4.4. Проектирование с учетом обновлений
- 19.2.4.5. В Linux создавайте RPM-пакеты
- 19.2.4.6. Предоставляйте контрольные суммы пакетов
- InterBase Classic Server под Linux
- Каталог BIN в InterBase Classic Server для Linux
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- Пакеты: оценка
- 1 Введение в Linux
- 4 Файловая система Linux
- Управление rpm-пакетами: нынче не то, что давеча
- 1.2. Что такое Linux?
- 17.1 Что такое deb-пакеты, или куда девались exe
- 1.5.1. Red Hat Linux
- 1.5.3. SuSE Linux
- 3.6.1. Адресация в Linux