Требуется при установке порта проделать следующее: проверить, установлено ли некое приложение, и если нет - прервать установку порта и выдать сообщение, предлагающее пользователю самостоятельно установить это приложение перед тем, как ставить данный порт. Как проверить наличие программы и как установить ее автоматом из соответствующего порта - знаю, но такой путь мне не подходит в данном конкретном случае. Почему не подходит - под "неким приложением" подразумевается сервер PostgreSQL, а там много вариантов и ньюансов по использованию разных версий, поэтому хочу выбор предоставить пользователю, а не ставить автоматом какую-то конкретную версию.В руководстве по созданию портов не нашел, как осуществить такой финт ушами. Но помню, что встречал такое в каких-то портах. Наставьте на путь или подскажите, может кто сталкивается регулярно - в каких портах такое реализовано - попытаюсь сделать по аналогии.
>[оверквотинг удален]
>- знаю, но такой путь мне не подходит в данном конкретном
>случае. Почему не подходит - под "неким приложением" подразумевается сервер PostgreSQL,
>а там много вариантов и ньюансов по использованию разных версий, поэтому
>хочу выбор предоставить пользователю, а не ставить автоматом какую-то конкретную версию.
>
>
>В руководстве по созданию портов не нашел, как осуществить такой финт ушами.
>Но помню, что встречал такое в каких-то портах. Наставьте на путь
>или подскажите, может кто сталкивается регулярно - в каких портах такое
>реализовано - попытаюсь сделать по аналогии.устанавливай с сырцов - под каждую версию напиши свой батник типа -
maker.sh:
#!/bin/sh
./configure \
--prifex=/usr/local \
--some_configure_arg1 \
--some_configure_arg2 \
&& make && make install
>устанавливай с сырцовСпасибо, но хотелось бы ставить из порта всё же.
примерно следующий алгоритм:
if(! -e /usr/local/bin/proga)
{
print "Error";
exit 1;
}ну ессно нужно написать это на Shell'e
ОФФТОП: ИМХО, такую схему коммиттеры не пропустят
ЗЫ: нельзя проверить, установлена ли "прога", можно проверить на существование некий файл - бинарник или либу, причем нужно точно знать, где она может быть
>примерно следующий алгоритм:
>if(! -e /usr/local/bin/proga)
> {
> print "Error";
> exit 1;
> }
>
>ну ессно нужно написать это на Shell'eБлагодарю, это я в курсе :)
> ОФФТОП: ИМХО, такую схему коммиттеры не пропустят
Естественно.
>ЗЫ: нельзя проверить, установлена ли "прога", можно проверить на существование некий
> файл - бинарник или либу, причем нужно точно знать, где она может бытьИ про это я в курсе. Все мимо кассы.
Решение или пути к решению я-таки нашел. Либо использовать OPTIONS (http://www.freebsd.org/doc/en/books/porters-handbook/book.ht...), либо работать с IGNORE (http://www.freebsd.org/doc/en/books/porters-handbook/book.ht...).
Кстати, мое "фи" переводчикам porters-handbook. Раздел 5.11 Makefile Options попросту выброшен из русской версии.
>ЗЫ: нельзя проверить, установлена ли "прога",Если оно устанавливалось стандартными для оси cредствами - можно и даже нужно!