URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85592
[ Назад ]

Исходное сообщение
"Вопрос по созданию порта FreeBSD"

Отправлено SHRDLU , 11-Июн-09 08:07 
Требуется при установке порта проделать следующее: проверить, установлено ли некое приложение, и если нет - прервать установку порта и выдать сообщение, предлагающее пользователю самостоятельно установить это приложение перед тем, как ставить данный порт. Как проверить наличие программы и как установить ее автоматом из соответствующего порта - знаю, но такой путь мне не подходит в данном конкретном случае. Почему не подходит - под "неким приложением" подразумевается сервер PostgreSQL, а там много вариантов и ньюансов по использованию разных версий, поэтому хочу выбор предоставить пользователю, а не ставить автоматом какую-то конкретную версию.

В руководстве по созданию портов не нашел, как осуществить такой финт ушами. Но помню, что встречал такое в каких-то портах. Наставьте на путь или подскажите, может кто сталкивается регулярно - в каких портах такое реализовано - попытаюсь сделать по аналогии.


Содержание

Сообщения в этом обсуждении
"Вопрос по созданию порта FreeBSD"
Отправлено Pahanivo , 11-Июн-09 08:37 
>[оверквотинг удален]
>- знаю, но такой путь мне не подходит в данном конкретном
>случае. Почему не подходит - под "неким приложением" подразумевается сервер PostgreSQL,
>а там много вариантов и ньюансов по использованию разных версий, поэтому
>хочу выбор предоставить пользователю, а не ставить автоматом какую-то конкретную версию.
>
>
>В руководстве по созданию портов не нашел, как осуществить такой финт ушами.
>Но помню, что встречал такое в каких-то портах. Наставьте на путь
>или подскажите, может кто сталкивается регулярно - в каких портах такое
>реализовано - попытаюсь сделать по аналогии.

устанавливай с сырцов - под каждую версию напиши свой батник типа -

maker.sh:
#!/bin/sh
./configure \
  --prifex=/usr/local \
  --some_configure_arg1 \
  --some_configure_arg2 \
&& make && make install


"Вопрос по созданию порта FreeBSD"
Отправлено SHRDLU , 11-Июн-09 08:45 
>устанавливай с сырцов

Спасибо, но хотелось бы ставить из порта всё же.


"Вопрос по созданию порта FreeBSD"
Отправлено Anton Lysenok , 12-Июн-09 11:12 
примерно следующий алгоритм:
if(! -e /usr/local/bin/proga)
    {
    print "Error";
    exit 1;
    }

ну ессно нужно написать это на Shell'e

ОФФТОП: ИМХО, такую схему коммиттеры не пропустят


"Вопрос по созданию порта FreeBSD"
Отправлено Anton Lysenok , 12-Июн-09 11:13 
ЗЫ: нельзя проверить, установлена ли "прога", можно проверить на существование некий файл - бинарник или либу, причем нужно точно знать, где она может быть

"Вопрос по созданию порта FreeBSD"
Отправлено SHRDLU , 12-Июн-09 21:00 
>примерно следующий алгоритм:
>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 попросту выброшен из русской версии.


"Вопрос по созданию порта FreeBSD"
Отправлено GR , 12-Июн-09 22:48 
>ЗЫ: нельзя проверить, установлена ли "прога",

Если оно устанавливалось стандартными для оси cредствами - можно и даже нужно!