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

The FreeBSD Documentation Project


Содержание
1. Введение
2. Как самому сделать порт
3. Быстрое портирование
3.1. Создание файла Makefile
3.2. Создание информационных файлов
3.2.1. pkg-descr
3.2.2. pkg-plist
3.3. Создание файла с контрольной суммой
3.4. Тестирование порта
3.5. Проверка вашего порта утилитой portlint
3.6. Посылка порта
4. Медленное портирование
4.1. Как всё это работает
4.2. Получение исходного кода
4.3. Модификация порта
4.4. Создание патчей
4.5. Конфигурирование
4.6. Обработка пользовательского ввода
5. Настройка файла Makefile
5.1. Оригинальные исходный код
5.2. Именование
5.2.1. PORTNAME и PORTVERSION
5.2.2. PORTREVISION и PORTEPOCH
5.2.3. Переменные PKGNAMEPREFIX и PKGNAMESUFFIX
5.2.4. Соглашения по именованию пакаджей
5.3. Разделение по категориям
5.3.1. CATEGORIES
5.3.2. Текущий список категорий
5.3.3. Выбор правильной категории
5.4. Дистрибутивные файлы
5.4.1. DISTNAME
5.4.2. MASTER_SITES
5.4.3. EXTRACT_SUFX
5.4.4. DISTFILES
5.4.5. EXTRACT_ONLY
5.4.6. PATCHFILES
5.4.7. Несколько дистрибутивных файлов или патчей с различных серверов и подкаталогов (MASTER_SITES:n)
5.4.8. DIST_SUBDIR
5.5. MAINTAINER
5.6. COMMENT
5.7. Зависимости
5.7.1. LIB_DEPENDS
5.7.2. RUN_DEPENDS
5.7.3. BUILD_DEPENDS
5.7.4. FETCH_DEPENDS
5.7.5. EXTRACT_DEPENDS
5.7.6. PATCH_DEPENDS
5.7.7. DEPENDS
5.7.8. USE_*
5.7.9. Замечания касательно зависимостей
5.7.10. Необязательные зависимости
5.7.11. Зацикленные зависимости фатальны
5.8. Задание рабочего каталога
5.8.1. WRKSRC
5.8.2. NO_WRKSUBDIR
5.9. CONFLICTS
5.10. Механизмы построения
6. Особые соглашения
6.1. Динамические библиотеки
6.2. Порты с ограничениями на распространение
6.2.1. NO_PACKAGE
6.2.2. NO_CDROM
6.2.3. RESTRICTED
6.2.4. RESTRICTED_FILES
6.3. Использование perl
6.4. Использование X11
6.5. Использование automake, autoconf и libtool
6.6. Использование GNOME
6.7. Использование KDE
6.8. Использование Bison
6.9. Использование Java
6.10. Использование Python
6.11. Использование Emacs
6.12. Использование Ruby
6.13. Использование SDL
7. MASTERDIR
8. Версии динамических библиотек
9. Страницы Справочника
10. Порты, которым требуется Motif
10.1. USE_MOTIF
10.2. MOTIFLIB
11. Шрифты для X11
12. Файлы в формате info
13. Файлы pkg-*
13.1. pkg-message
13.2. pkg-install
13.3. pkg-deinstall
13.4. pkg-req
13.5. Изменение содержимого pkg-plist в зависимости от make-переменных
13.6. Изменение имён файлов pkg-*
14. Тестирование вашего порта
14.1. Portlint
14.2. PREFIX
14.3. Тесты на корректность от FreshPorts
15. Обновление
16. Что делать нужно, и что делать нельзя
16.1. Введение
16.2. Удаление отладочной информации в бинарных файлах
16.3. Макросы INSTALL_*
16.4. WRKDIR
16.5. WRKDIRPREFIX
16.6. Различение операционных систем и версий ОС
16.7. Значения __FreeBSD_version
16.8. Написание чего-либо после bsd.port.mk
16.9. Установка дополнительной документации
16.10. Подкаталоги
16.11. Очистка пустых каталогов
16.12. Идентификаторы UID
16.13. Поступайте разумно
16.14. Работа как с CC, так и CXX
16.15. Использование CFLAGS
16.16. Конфигурационные файлы
16.17. Пожелания
16.18. README.html
16.19. Пометка порта как BROKEN, FORBIDDEN или как-то ещё
16.20. Разное
16.21. Если вы испытываете затруднения...
17. Примерный Makefile
18. Автоматическое создание списка упаковки
19. Изменения в этом документе и системе портов
По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам связанным с этом документацией, пишите по адресу <doc@FreeBSD.org>.