Создаем порт для FreeBSD своими руками. Часть I
Добавить в закладки К обложке
- Рашид Ачилов Создаем порт для FreeBSD своими руками Часть I: основные возможности - Страница 1
- Из чего, собственно, состоит порт для FreeBSD? - Страница 2
- Первый порт - несложная программа для КDЕ - Страница 4
- Файл Makefile - Страница 5
- Файл pkg-plist - Страница 7
- Файл pkg-descr - Страница 8
- Заключение - Страница 11
• Дожидаетесь ответа от одного из коммиттеров FreeBSD о том, что порт успешно помещен в дерево портов или же о том, что при тестировании порта возникли ошибки. Все присылаемые в FreeBSD Team порты тестируются ими на предмет правильной сборки, установки и удаления под всеми поддерживаемыми в данный момент ветками FreeBSD. Сообщение об ошибке может выглядеть, например так:
Synopsis: [maintainer-update] Updating mail/sccmilter up to 0.94.9 version
State-Changed-From-To: open->feedback
State-Changed-By: krion
State-Changed-When: Fri Feb 18 14:33:28 GMT 2005
State-Changed-Why:
It does not honour PREFIX, it's not very critical since it builds
for LOCALBASE,
but I'd like to see the PREFIX honoured though.
cc -pthread -L/var/tmp/ttt/lib -L.libs -o sccmilter sccmilter.o globals.o utilites.o mlficatch.o parseconfig.о commandline.о -lmilter -lconf /usr/bin/ld: cannot find -lconf
http://www.freebsd.org/cgi/query-pr.cgi?pr=77 679
В этом сообщении всегда указывается причина ошибки и диагностика. Все общение с FreeBSD Team происходит, естественно, на английском языке, несмотря на то, что есть и русскоязычные коммиттеры (например, письмо, приведенное выше, получено от Кирилла Пономарева (krion@freebsd.org). Сообщение об успешном помещении в дерево портов может выглядеть так:
Synopsis: new port: sysutils/spassgen
State-Changed-From-To: open->closed
State-Changed-By: pav
State-Changed-When: Sat Jul 31 09:26:28 GMT 2004
State-Changed-Why:
New port added, thank you!
http://www.freebsd.org/cgi/query-pr.cgi?pr=69748
После чего останется только обновить дерево портов и убедиться, что да, на самом деле порт в нем присутствует. С этого момента майнтайнер порта отвечает за его актуальное состояние- своевременное обновление в соответствии с новыми версиями программы, внесение нужных патчей и удаление устаревших. Как скоро ожидать ответа от FreeBSD Team? На этот вопрос трудно дать определенный ответ. Иногда они реагируют буквально в течение недели, а иногда приходится ждать несколько месяцев. Внесения в дерево своего первого порта, kavmilter, я ждал больше года, а например, spassgen прошел за неделю.
Кроме того, FreeBSD Team временами самостоятельно вносит некоторые изменения в файлы портов, когда проводится какая-либо глобальная модификация системы в целом. Если вдруг по каким-либо причинам порт перестанет собираться, майнтайнеру будет отправлено соответствующее извещение. Если майнтайнер не устранит ошибку и не пришлет соответствующий патч, исправляющий ситуацию, порт может быть помечен как BROKEN. Как правило, порты, помеченные как BROKEN, удаляются из дерева если они находятся в таком состоянии более 3 месяцев.