Руководство FreeBSD по созданию портов

The FreeBSD Russian Documentation Project


Table of Contents
1. Как самому сделать порт
2. Быстрое портирование
2.1. Создание файла Makefile
2.2. Создание информационных файлов
2.2.1. pkg-descr
2.2.2. pkg-plist
2.3. Создание файла с контрольной суммой
2.4. Тестирование порта
2.5. Проверка вашего порта утилитой portlint
2.6. Посылка порта
3. Медленное портирование
3.1. Как всё это работает
3.2. Получение исходного кода
3.3. Модификация порта
3.4. Создание патчей
3.5. Конфигурирование
3.6. Обработка пользовательского ввода
4. Настройка файла Makefile
4.1. Оригинальные исходный код
4.2. Именование
4.2.1. PORTNAME и PORTVERSION
4.2.2. PORTREVISION и PORTEPOCH
4.2.3. Переменные PKGNAMEPREFIX и PKGNAMESUFFIX
4.2.4. Соглашения по именованию пакаджей
4.3. Разделение по категориям
4.3.1. CATEGORIES
4.3.2. Текущий список категорий
4.3.3. Выбор правильной категории
4.4. Дистрибутивные файлы
4.4.1. DISTNAME
4.4.2. MASTER_SITES
4.4.3. EXTRACT_SUFX
4.4.4. DISTFILES
4.4.5. EXTRACT_ONLY
4.4.6. PATCHFILES
4.4.7. Несколько дистрибутивных файлов или патчей с различных серверов и подкаталогов (MASTER_SITES:n)
4.4.8. DIST_SUBDIR
4.5. MAINTAINER
4.6. COMMENT
4.7. Зависимости
4.7.1. LIB_DEPENDS
4.7.2. RUN_DEPENDS
4.7.3. BUILD_DEPENDS
4.7.4. FETCH_DEPENDS
4.7.5. DEPENDS
4.7.6. USE_*
4.7.7. Замечания касательно зависимостей
4.7.8. Необязательные зависимости
4.8. Задание рабочего каталога
4.8.1. WRKSRC
4.8.2. NO_WRKSUBDIR
4.9. CONFLICTS
4.10. Механизмы построения
5. Особые соглашения
5.1. Динамические библиотеки
5.2. Порты с ограничениями на распространение
5.2.1. NO_PACKAGE
5.2.2. NO_CDROM
5.2.3. RESTRICTED
5.2.4. RESTRICTED_FILES
5.3. Использование Perl
5.4. Использование X11
5.5. Использование automake, autoconf и libtool
5.6. Использование GNOME
5.7. Использование KDE
5.8. Использование Bison
5.9. Использование Java
5.10. Использование Python
5.11. Использование Emacs
5.12. Использование Ruby
6. MASTERDIR
7. Версии динамических библиотек
8. Страницы Справочника
9. Порты, которым требуется Motif
9.1. USE_MOTIF
9.2. MOTIFLIB
10. Шрифты для X11
11. Файлы в формате info
12. Файлы pkg-*
12.1. pkg-message
12.2. pkg-install
12.3. pkg-deinstall
12.4. pkg-req
12.5. Изменение содержимого pkg-plist в зависимости от make-переменных
12.6. Изменение имён файлов pkg-*
13. Тестирование вашего порта
13.1. Portlint
13.2. PREFIX
13.3. Тесты на корректность от FreshPorts
14. Обновление
15. Что делать нужно, и что делать нельзя
15.1. Удаление отладочной информации в бинарных файлах
15.2. Макросы INSTALL_*
15.3. WRKDIR
15.4. WRKDIRPREFIX
15.5. Различение операционных систем и версий ОС
15.6. Значения __FreeBSD_version
15.7. Написание чего-либо после bsd.port.mk
15.8. Установка дополнительной документации
15.9. Подкаталоги
15.10. Очистка пустых каталогов
15.11. Идентификаторы UID
15.12. Поступайте разумно
15.13. Работа как с CC, так и CXX
15.14. Использование CFLAGS
15.15. Конфигурационные файлы
15.16. Пожелания
15.17. README.html
15.18. Пометка порта как BROKEN, FORBIDDEN или как-то ещё
15.19. Разное
15.20. Если вы испытываете затруднения...
16. Примерный Makefile
17. Автоматическое создание списка упаковки
18. Изменения в этом документе и системе портов
List of Tables
4-1. Переменные USE_*
5-1. Переменные для портов, использующих Perl
5-2. Переменные для портов, использующих X
5-3. Переменные для портов, использующих automake, autoconf или libtool
5-4. Переменные для портов, которые используют KDE
List of Examples
4-1. Упрощённое использование MASTER_SITES:n с 1 файлом на каждом сайте
4-2. Упрощённое использование MASTER_SITES:n с более чем 1 файлом на каждом сервере
4-3. Подробное использование MASTER_SITES:n в MASTER_SITE_SUBDIR
4-4. Подробное использование MASTER_SITES:n с запятыми, несколькими файлами, несколькими серверами и несколькими подкаталогами
4-5. Подробное использование MASTER_SITES:n с MASTER_SITE_SOURCEFORGE
4-6. Упрощённое использование MASTER_SITES:n с PATCH_SITES.
По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам связанным с этом документацией, пишите по адресу <doc@FreeBSD.org>.