4.4.Каркасы (Sceletons)

Команда измученных программистов, которые забыли про еду в фанатичной попытке успеть к директивному сроку? Нет, каркас здесь - это минимальная конструкция, которая содержит все что нужно для того чтобы магия портов работала.

4.4.1. Makefile

4.4.2. Каталог files

4.4.3. Каталог patches

4.4.4. Каталог pkg

4.4.1. Makefile

Наиболее важной частью каркаса является Makefile. В нем находятся разлицные спецификации, показывающие как надо компилировать и устанавливать порт. Например, возьмем Makefile для bash:

 # New ports collection makefile for:	bash
 # Version required:  1.14.5
 # Date created:		21 August 1994
 # Whom:			jkh
 #
 # Makefile,v 1.13 1995/10/04 14:45:01 asami Exp
 #
 
 DISTNAME=  bash-1.14.5
 CATEGORIES=  shells
 MASTER_SITES= ftp://slc2.ins.cwru.edu/pub/dist/
 
 MAINTAINER=  ache@FreeBSD.ORG
 
 post-install:
 .if !defined(NOMANCOMPRESS)
	 gzip -9nf ${PREFIX}/man/man1/bash.1 ${PREFIX}/man/man1/bash_builtins.1
 .endif
 
 .include <bsd.port.mk>

Строки начинающиеся с символа "#" sign - это комментарии, использующиеся только для удобства человека (как и в большинстве файлов со скриптами в Unix).

`DISTNAME" указывает имя tarball, но без суффикса.

`CATEGORIES" описывает категорию, к которой принадлежит эта программы.

`MASTER_SITES" это список адресов FTP-узлов, которые используются для того чтобы скачать tarball, если его нет на локальной машине. Эти узлы обычно имеют хорошую репутацию, и, почти всегда, один из них - это узел с которого эта программа оффициально распространяется (конечно, если она вообще "оффициально" распостраняется по Интернет)

`MAINTAINER" - это email человека, который ответственнен за освежение этого каркаса, например, в случае выхода новой версии программы. (Замечание: звание "maintainer" - в основном чисто административный; это не означает, что этот человек занимается поддержкой этой программы. Если у вас есть какие-нибудь проблемы с портом, то, пожалуйста пишите в список рассылки FreeBSD freebsd-ports@FreeBSD.ORG , а не по email, указанному в этом поле. Спасибо!)

Давайте ненадолго пропустим несколько следующих строчек, и посмотрим на строку

 .include <bsd.port.mk> 
в которой говорится что все прочие команды и правила необходимые для того, чтобы создать порт находятся в стандартном файле `bsd.port.mk". Так как они одинаковы для всех портов, то нет необходимости повторять их в каждом файле, поэтому они и хранятся в отдельном стандартном файле.

Это скорее всего не самое правильное место для того, чтобы лезть в детали того, как работают эти Makefile; Достаточно сказать, что строки, начиная с ost-install" переопределяют инструкции в bsd.port.mk о том что делать после установки программы, так что справочная информация может быть сжата после того, как ее уже положили на место назначения.

4.4.2. Каталог files

Файл содержащий контрольные суммы для порта называется "md5", из-за использования MD5 в качестве алгоритма Он находится в директории "files"

Этот каталог может также содержать прочие файлы, которые необходимы порту и не подходят к другим каталогам.

4.4.3. Каталог patches

Эта директория содержит патчи, которые нужны для того чтобы все работало нормально под FreeBSD.

4.4.4. Каталог pkg

Этот каталог содержит три довольно полезных файла:-

  • COMMENT - описание программы одной строкой
  • DESCR - более подробное описание
  • PLIST - Список всех файлов, которые создаются при установке порта

Назад | Содержание | Вперед

Обновлено: 13.03.2015