Один из путей, обходящих проблемы различия дистрибутивов Линукс - создавать пакеты для конкретного дистрибутива. Для того, чтобы пойти этим путем, разработчик вынужден собирать ПО в пакеты для каждого дистрибутива из тех, что он поддерживает.
Это составляет довольно значительный объем работы. Если это возможно, поместите все различия в макросы и используйте единственный spec-файл для всех сборок, чтобы уменьшить количество непроизводительного труда. Иногда, однако, сложность spec-файла при этом превышает некоторые разумные пределы, в этом случае проще создать разные spec-файлы, по одному на каждый поддерживаемый дистрибутив.
Один из путей, облегчающих создание вендор-зависимых пакетов - рассмотреть пакет, содержащий специфичную для дистрибутива конфигурацию RPM. Например, в Red Hat Linux конфигурация RPM определяется пакетом redhat-rpm-config.
Получив список файлов этого пакета, увидим, в каких файлах Red Hat определяет специфичные для Red Hat Linux макросы.
$ rpm -ql redhat-rpm-config |
Эти файлы, например, /usr/lib/rpm/redhat/macros, демонстрируют отличия настроек Red Hat Linux от других дистрибутивов. Вооружившись знаниями о специфических настройках, разработчик с меньшими затратами сможет создавать портируемые rpm-пакеты.
Далее - Работа с автоматической генерацией зависимостей
Назад - Решение проблем сборки пакетов
Содержание