Руководство FreeBSD по созданию портов
Пред. | Глава 16. Что делать нужно, и что делать нельзя | След.

# 16.9. Установка дополнительной документации

Если с вашим программным обеспечением поставляется некоторая документация, отличающаяся от стандартных страниц Справочника и файлов info, которая, как вы думаете, будет полезна пользователям, установите ее в каталог ``PREFIX`/share/doc`. Это может быть сделано, как и в предыдущем разделе, в цели `post-install`.

Создайте для вашего порта новый каталог. Имя каталога должно соответствовать тому, что представляет из себя порт. Обычно это означает `PORTNAME`. Однако, если вы думаете, что пользователь захочет иметь разные версии порта, установленные одновременно, то вы можете использовать полное имя `PKGNAME`.

Сделайте установку документации зависящей от переменной `NOPORTDOCS` для того, чтобы пользователи могли выключить это в файле `/etc/make.conf`, как здесь:

    post-install:
    .if !defined(NOPORTDOCS)
        ${MKDIR} ${DOCSDIR}
        ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${DOCSDIR}
     .endif

Вот несколько полезных переменных и то, как они преобразуются по умолчанию при использовании в `Makefile`:

- `DATADIR` преобразуется в ``PREFIX`/share/`PORTNAME``.

- `DOCSDIR` преобразуется в ``PREFIX`/share/doc/`PORTNAME``.

- `EXAMPLESDIR` преобразуется в ``PREFIX`/share/examples/`PORTNAME``.

Эти переменные экспортируются в `PLIST_SUB`. Их значения появятся там в виде имён путей относительно ``PREFIX``, если это возможно. То есть `share/doc/`PORTNAME`` в списке сборки по умолчанию будет заменен на `%%DOCSDIR%%`, и так далее. (Дополнительную информацию о подстановке в `pkg-plist` можно найти здесь.)

Все устанавливаемые файлы с документацией и каталоги должны быть перечислены в файле `pkg-plist` с префиксом `%%PORTDOCS%%`, например:

    %%PORTDOCS%%%%DOCSDIR%%/AUTHORS
    %%PORTDOCS%%%%DOCSDIR%%/CONTACT
    %%PORTDOCS%%@dirrm %%DOCSDIR%%

Кроме того, вы можете использовать файл `pkg-message` для вывода сообщений во время установки. За подробной информацией обратитесь к разделу об использовании `pkg-message`.

> Замечание: Файл `pkg-message` не нужно добавлять в `pkg-plist`.

В качестве альтернативы перечислению файлов документации в файле `pkg-plist`, порт может указать в переменной `PORTDOCS` список имён файлов и глобальных шаблонов командного процессора для добавления в окончательный список сборки. Имена будут задаваться относительно `DOCSDIR`. Таким образом, порт, использующий `PORTDOCS` и нестандартное местоположение документации, должен задавать соответствующим образом и `DOCSDIR`. Если каталог указан в `PORTDOCS` или соответствует шаблону для этой переменной, то полное поддерево с входящими в него файлами и каталогами будет регистрироваться в окончательном списке сборки. `PORTDOCS` не должна задаваться, если определена переменная `NOPORTDOCS`. Установка документации в `PORTDOCS`, как это показано выше, остаётся за самим портом. Типичный пример использования `PORTDOCS` выглядит следующим образом:

    .if !defined(NOPORTDOCS)
        PORTDOCS=   *
    .endif

Пред. | Начало | След.
Написание чего-либо после `bsd.port.mk` | Уровень выше | Подкаталоги

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите по адресу <doc@FreeBSD.org>.