В первой части статьи мы рассмотрели основные вопросы создания порта для FreeBSD своими руками. Но система сборки программ, используемая во FreeBSD, имеет значительно большие возможности, чем те, которые мы задействовали. Какие это возможности и как их использовать в своих портах?
Расширенные возможности системыСкромный размер нашего первого порта и его достаточная простота не позволила нам рассмотреть все возможности системы портов. В этом опять же проявляется ее достоинство — не нужно знать много для построения сравнительно простого порта. Но зачастую бывает так, что необходимо реализовать некую собственную функцию по обработке исходного текста или проверить наличие некоторой программы до начала установки своей. Сразу же возникает вопрос — пытаться реализовать это своими силами или же это уже было кем-то когда-то реализовано?
Расширенные возможности системы сборки портов, которые мы не использовали в первой части и которые можно использовать, это:
• Многофайловые дистрибутивы с возможностью отбора файлов в зависимости от заданного набора переменных.
• Внешние патчи, которые можно подключать в зависимости от заданного набора переменных.
• Задание параметров сборки порта с помощью полноэкранного текстового режима OPTIONS, с возможностью дальнейшего хранения и редактирования этих параметров.
• Дополнение или замена части процедур создания программы из порта.
Возможность работы с многофайловыми дистрибутивами позволяет указать, с какого из перечисленных сайтов нужно загружать указанный файл. Допустим, программа состоит из файловиFile1.tgz присутствует только на двадцатом из перечисленных MASTER_SITES, в то время как— всюду. Система будет попусту обшаривать девятнадцать сайтов. Это не страшно, когда делается автоматом, но ужасно нервирует, когда спешишь. Кроме того, в зависимости от заданного набора параметров можно включать или исключать некоторые компоненты. Это особенно существенно, когда эти компоненты весят десятки мегабайт (например, порт editors/openoffice2).
Работа с внешними патчами также крайне важна, особенно когда автор программы не желает контактировать и исправлять код. В таком случае патч либо размещается непосредственно в дереве портов, либо (как правило, если он довольно объемный) выкладывается на некоторый сайт и указывается с помощью PATCH_SITES.
Комментарии к книге «Создаем порт для FreeBSD своими руками. Часть II», Рашид Ачилов
Всего 0 комментариев