Руководство FreeBSD по созданию портов
Пред. |  | След.

# Глава 18. Автоматическое создание списка упаковки

Первым делом убедитесь, что ваш порт практически полностью завершён, осталось только создать `pkg-plist`.

Затем временное дерево каталогов, куда может быть установлен ваш порт, и установите все зависимости. `port-type` должен быть `local` для не-X портов, `x11-4` или `x11` для портов, которые устанавливаются в иерархию каталогов XFree86 4 или более раннего релиза XFree86, соответственно.

    ># mkdir /var/tmp/port-name
    # mtree -U -f /etc/mtree/BSD.port-type.dist -d -e -p /var/tmp/port-name
    # make depends PREFIX=/var/tmp/port-name

Сохраните структуру каталогов в новом файле.

    # (cd /var/tmp/port-name && find -d * -type d) | sort > OLD-DIRS

Создайте пустой файл `pkg-plist`:

    # touch pkg-plist

Если ваш порт принимает во внимание `PREFIX` (а он должен это делать), то тогда вы можете установить порт и создать список упаковки.

    # make install PREFIX=/var/tmp/port-name
    # (cd /var/tmp/port-name && find -d * \! -type d) | sort > pkg-plist

Кроме того, в список упаковки вы должны добавить все вновь созданные каталоги.

    # (cd /var/tmp/port-name && find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' >> pkg-plist

И наконец, вам нужно вручную отшлифовать список упаковки; его создание автоматизировано не полностью. Страницы справочной системы должны быть перечислены в файле `Makefile` порта в переменных `MAN`n``, а не в списке упаковки. Пользовательские конфигурационные файлы должны быть удалены или быть установлены как ``filename`.sample`. Файл `info/dir` включать в список не нужно, но должны быть добавлены соответствующие строчки `install-info`, так, как это описано в разделе о файлах в формате info. Все библиотеки, устанавливаемые портом, должны быть перечислены так, как это описано в разделе о динамических библиотеках.

Как альтернативу, можно использовать скрипт `plist` из `/usr/ports/Tools/scripts/` для автоматического построения списка упаковки.

Пред. | Начало | След.
Примерный `Makefile` |  | Актуализация

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