Из чего, собственно, состоит порт для FreeBSD?
Из чего, собственно, состоит порт для FreeBSD?
Порт для FreeBSD состоит из нескольких файлов, которые сами по себе ничего не делают. Даже несмотря на то, что один из них называется Makefile, все они представляют из себя файлы данных - описания и определения некоторых переменных, используемых системой портов в качестве исходных данных. Механизм работы системы давным-давно отлажен, в простейшем случае необходимо только задать исходные данные. Ниже приводится список файлов, которые необходимы для порта (на самом деле порт может использовать и другие файлы, но они не являются необходимыми):
• Makefile - основной файл порта. В нем задаются все необходимые переменные, которые настраивают работу системы портов в том или ином режиме. Также в этом файле может программироваться собственно поведение системы в той или иной ситуации. Текстовый файл, стандартного формата, распознаваемого программой BSD make (не путать с GNU make! О синтаксисе файлов BSD make см. man make). Данный файл условно делится на четрые секции, которые должны идти строго друг за другом, не нарушая порядка. Определения переменных, которые должны появляться в данной секции, не должны появляться ни в предыдущей, ни в последующей секции. Порядок секций таков: начальная секция -> секция MAINTAINER -> секция USE_* -> секция доопределений.
• Начальная секция идет самой первой. В нее помещаются переменные PORTNAME, PORTVERSION, CATEGORIES, MASTER_SITES и DISTNAME. Также в нее могут быть помещены другие переменные, полный перечень которых приведен в файле bsd.port.mk.
• Секция MAINTAINER идет непосредственно после начальной секции. Как правило, она содержит только две переменные - MAINTAINER и COMMENT. Смысл этой секции в том, что она определяет персону, отвечающую за данный порт, и дает краткое описание этого порта. В целях безопасности все запросы на патчи (да и сами патчи тоже), пришедшие для уже принятого порта не с адреса, указанного в поле MAINTAINER, а с другого адреса, перенаправляются MAINTAINER на утверждение и вносятся в порт только в том случае, если будут им одобрены.
• Секция USE_* расположена после секции MAINTAINER. Она содержит различные переменные, задающие явно или неявно зависимости для данного порта. Например, «USE_GETTEXT=yes» задаст зависимость порта от develgettext, «USE_KDEBASE_VER=3» задаст зави симость от x11kdebase3 и т. д. Список всех возможных переменных USE_* приведен в файле bsd.port.mk. Может отсутствовать, но, как правило, присутствует - трудно найти порт, который вообще ни от чего не зависит.
• Секция доопределений - последняя секция в файле. Может отсутствовать и зачастую так и происходит. Содержит переопределения различных мишеней, составляющих процесс сборки порта. При сборке порта последовательно выполняются мишени fetch, extract, configure, build и install. Каждая из них в свою очередь состоит из трех этапов: pre-sometarget, do-sometarget и post-sometarget. Эти этапы предназначены для проведения дополнительной предварительной или после дующей обработки, а также для замещения некоторого этапа, если в этом есть необходимость. Например, этап do-extract может быть переопределен для выполнения распаковки дистрибутива нестандартным образом. Существуют и другие этапы, полный их перечень приведен в файле bsd.port.mk.
• distinfo - файл, описывающий все файлы, входящие в дистрибутив программы. Его нет необходимости создавать вручную - после создания Makefile достаточно выполнить команду make makesum - и он будет создан автоматически.
• pkg-descr - текстовый файл с небольшим описанием программы и ее возможностей. Описание может быть вообще коротким - 2-3 строки или более подробным 10-15 строк. В конце файла желательно привести URL разработчика и его адрес электронной почты в формате:
WWW: http://this.insert.link/~homepage
Author: John J. Smith jsmit@someserver.tld
• pkg-plist - список всех файлов, входящих в программу, а также команд, выполняемых при установке и/или удалении данной программы. Файлы указываются с путями относительно каталога установ ки (по умолчанию /usr/local), могут содержать макросы (будут рассмотрены ниже). Команды задаются в формате, описанном в man pkg_create.
• Другие файлы с произвольными именами. Например, файл сообщения, выдаваемого после успешной установки (или удаления) обычно называется pkg-message, хотя конечно никто не помешает назвать его как угодно по-другому.
Итак, что понадобится для того, чтобы приступить к созданию своего собственного порта?
• Дистрибутив программы. Его следует поместить в /usr/ports/distfiles - это обычно место, куда скачиваются дистрибутивы и где система портов будет их искать.
• Программа должна собираться и устанавливаться без ошибок. Если создается порт для чужой программы и она собирается с ошибками, следует найти причину, но не править исходный текст, а подготовить патч (если только не предполагается выкладывать исправленный дистрибутив на собственном сервере).
• Решение о присвоении программе определенной категории.
• Любимый текстовый редактор.
• Терпение и свободное время - возможно, порт придется пересобирать не один раз и даже не десять.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Из чего состоит сайт
Из чего состоит сайт Прежде, чем перейти к описанию языка запросов поисковых машин, рассмотрим, из каких элементов, с которыми предстоит работать пауку, состоит обычно сайт.Надо сказать, что язык HTML достаточно прост и логичен. Он представляет собой способ разбивки текста
Из чего состоит и как работает программа
Из чего состоит и как работает программа Программа Radmin состоит из двух частей: серверной и клиентской. Серверная часть не имеет своего окна и для нас практически не заметна, однако реально существует и играет очень важную роль. Это отдельная программа, которая
Глава 1. Из чего состоит система увеличения продаж интернет-магазина
Глава 1. Из чего состоит система увеличения продаж интернет-магазина Для большинства владельцев интернет-магазинов продажи – «черный ящик». Представление о взаимосвязи между прилагаемыми усилиями и итоговой прибылью в большинстве случаев есть лишь на интуитивном
Рашид Ачилов Создаем порт для FreeBSD своими руками Часть II: расширенные возможности
Рашид Ачилов Создаем порт для FreeBSD своими руками Часть II: расширенные возможности В первой части статьи мы рассмотрели основные вопросы создания порта для FreeBSD своими руками. Но система сборки программ, используемая во FreeBSD, имеет значительно большие возможности, чем те,
Теперь собственно сборка
Теперь собственно сборка Если конфигурация завершилась удачно, вам будет предложено запустить программу make, она читает получившиеся мэйкфайлы и исполняет инструкции в них. В MinGW32 ее функцию выполняет mingw32-make.exe, выполните эту программу.Процесс компиляции и сборки
Рашид Ачилов Создаем порт для FreeBSD своими руками Часть I: основные возможности
Рашид Ачилов Создаем порт для FreeBSD своими руками Часть I: основные возможности Автоматизированная система сборки стороннего программного обеспечения из исходных текстов (система портов) - это то, чем по праву гордится FreeBSD. Система содержит ссылки на десятки тысяч
Что и где я могу найти в книге, или, другими словами, из чего состоит эта книга?
Что и где я могу найти в книге, или, другими словами, из чего состоит эта книга? Книга состоит из двенадцати глав и списка использованной литературы.В главе 1 вводятся несколько основных правил. Глава начинается с обсуждения проблемы производительности. Мы ознакомимся с
За что, собственно, боремся?
За что, собственно, боремся? Автор: Киви БердВесьма недешевые работы по исследованию и развитию медицинских биотехнологий немыслимы без серьезной финансовой поддержки со стороны большого бизнеса и/или государства. Однако интересы здравоохранения и околомедицинской
Из чего состоит нетбук?
Из чего состоит нетбук? Как и любой портативный компьютер, нетбук состоит из крышки с экраном — жидкокристаллической (ЖК) матрицей и корпуса, в котором находится все остальное. Сразу напомним несколько простых правил обращения с портативным компьютером. Он маленький, и
Часть I Собственно компьютер и периферия Ху из ху и как все это совмещается и работает
Часть I Собственно компьютер и периферия Ху из ху и как все это совмещается и
1.3. Системный блок: из чего состоит и кто за что в нем отвечает
1.3. Системный блок: из чего состоит и кто за что в нем отвечает Вы уже знаете, системный блок — это главный компонент компьютера, собственно, он и есть компьютер. Компоненты системного блока используются для обработки и хранения информации. На рис. 3 изображен типичный
Из чего состоит трафик Fidonet
Из чего состоит трафик Fidonet Основными видами информации, которой обмениваются между собой узлы Fidonet, являются:? личная почта, или нетмэйл (Netmail);? эхоконференции, или эхомэйл (Echomail);? файловые эхоконференции.Стандарты на представление и передачу этих видов информации
Глава 3 Из чего состоит ноутбук
Глава 3 Из чего состоит ноутбук • Процессор• Оперативная память• Чипсет• Видеокарта• Жесткий диск• Оптический привод• Экран• Сети• Устройства ввода• ОстальноеНеопытный пользователь рассматривает компьютер как очень сложное устройство, которое запросто
Из чего состоит компьютер
Из чего состоит компьютер Компьютер состоит из отдельных устройств, блоков и модулей. При его внешнем осмотре можно выделить несколько основных частей.? Системный блок. Похож на прямоугольный ящик. Является самой главной частью компьютера. В системном блоке находится