The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (BSD привязка)
Изначальное сообщение [ Отслеживать ]

"Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от SerK email(ok) on 23-Сен-05, 17:33 
Суть вопроса:
Хочу, чтобы инсталляция порта проходила с заранее определенными параметрами.

Пример:
Если я хочу проинсталлировать php4 (дефолтная конфигурация меня не устраивает), то:

1. правлю /usr/ports/lang/php4/Makefile, а именно
добавляю нужные параметры
CONFIGURE_ARGS+=--with-mysql

2. устанавливаю PHP с нужными мне параметрами, определенными в Makefile
make deinstall install clean

Способ рабочий, но слегка муторный. Много портов, требующих специфические недефолтные настройки, частые критические уязвимости, частый апгрейд то одного порта то другого...  Makefile с нужной конфигурацией живет до первого обновления портов через cvsup, а затем приходится его править вновь.

Правда я нашел способ. Ведь для установки заранее заданных переменных можно использовать /etc/make.conf . Он инклудится при вызове make из /usr/share/mk/sys.mk даже до вызова Makefile, имеет тот же синтаксис что и Makefile.
В итоге получается следующая картина в /etc/make.conf :

.if ${.CURDIR} == "/usr/ports/lang/php4"
WITH_MYSQL=yes
.endif

И это работает! Но вот если в make.conf поместить

.if ${.CURDIR} == "/usr/ports/lang/php4"
CONFIGURE_ARGS+=--with-mysql
.endif

то это работать не будет, поскольку позже в Makefile переменная CONFIGURE_ARGS переопределится:

CONFIGURE_ARGS= --enable-versioning \
<...>

ВОПРОС:  Как предопределить параметры вида  --with-mysql (a не WITH_MYSQL) в /etc/make.conf ?


Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от SerK (ok) on 27-Сен-05, 09:09 
^^up^^
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от funkblaster (??) on 27-Сен-05, 10:16 
Сначала ставишь cd /usr/ports/lang/php4
make install clean WITH_MYSQL=yes
Затем ставишь portupgrade и куришь pkgtools.conf на предмет MAKE_ARGS и вносишь туда WITH_MYSQL=yes.
При дальнейших апгрейдам порта, он будет собираться с заданными в pkgtools.conf опциями.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от SerK (ok) on 27-Сен-05, 11:02 
>Сначала ставишь cd /usr/ports/lang/php4
>make install clean WITH_MYSQL=yes
>Затем ставишь portupgrade и куришь pkgtools.conf на предмет MAKE_ARGS и вносишь туда
>WITH_MYSQL=yes.
>При дальнейших апгрейдам порта, он будет собираться с заданными в pkgtools.conf опциями.
>
Да, все это прекрасно работает, когда речь идет о параметрах вида WITH_MYSQL
Ну а если к примеру мне необходимо скомпилить порт с:
--with-config-file-scan-dir=/usr/local/etc/php
По идее должен соответствовать параметр WITH_CONFIG_FILE_SCAN_DIR, но не катит с ним.
Как мне прописать параметр вида --with-config-file-scan-dir в pkgtools.conf или make.conf?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от Askon on 28-Ноя-06, 17:30 
>>Сначала ставишь cd /usr/ports/lang/php4
>>make install clean WITH_MYSQL=yes
>>Затем ставишь portupgrade и куришь pkgtools.conf на предмет MAKE_ARGS и вносишь туда
>>WITH_MYSQL=yes.
>>При дальнейших апгрейдам порта, он будет собираться с заданными в pkgtools.conf опциями.
>>
>Да, все это прекрасно работает, когда речь идет о параметрах вида WITH_MYSQL
>
>Ну а если к примеру мне необходимо скомпилить порт с:
>--with-config-file-scan-dir=/usr/local/etc/php
>По идее должен соответствовать параметр WITH_CONFIG_FILE_SCAN_DIR, но не катит с ним.
>Как мне прописать параметр вида --with-config-file-scan-dir в pkgtools.conf или make.conf?

Про pkgtools.conf не знаю, самому было бы интересно узнать. Я делал так:
1. Смотрим какие файлы использует make - make -n -V .MAKEFILE_LIST
2. В любой из файлов который идет после Makefile порта (я делал в /usr/share/mk/bsd.port.pre.mk) вставляю:
.if ${.CURDIR:M*/usr/ports*}
.include "/etc/ports.conf"
.endif
3. В /etc/ports.conf прописываю нужные мне аргументы:
.if ${.CURDIR:M*/www/apache*}
CONFIGURE_ARGS+=--enable-suexec
.....
.....
.endif
4. При отладке полезно коммандой make -n - посмотреть что же все-таки будет делать make.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от leksey on 02-Мрт-10, 19:20 
чтобы просунуть в configure можно использовать это прямо в строке

cd /usr/ports/lang/php5
make CONFIGURE_ARGS+="--with-layout=PHP" install clean

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от Александр (??) on 20-Май-10, 16:10 
>чтобы просунуть в configure можно использовать это прямо в строке
>
>cd /usr/ports/lang/php5
>make CONFIGURE_ARGS+="--with-layout=PHP" install clean

Если так сделать, то переменная CONFIGURE_ARGS вообще перетрется и будет только запись из ком. строки, т.е., в данном случае, будет --with-layout=PHP и все. Все, что было прописано в Makefile до этого будет переписано одним единственным параметром. А надо, чтобы все, что есть сохранилось и только добавилось, что написал.

Так что вопрос открытый.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от Аноним (??) on 20-Май-10, 18:27 
>[оверквотинг удален]
>>cd /usr/ports/lang/php5
>>make CONFIGURE_ARGS+="--with-layout=PHP" install clean
>
>Если так сделать, то переменная CONFIGURE_ARGS вообще перетрется и будет только запись
>из ком. строки, т.е., в данном случае, будет --with-layout=PHP и все.
>Все, что было прописано в Makefile до этого будет переписано одним
>единственным параметром. А надо, чтобы все, что есть сохранилось и только
>добавилось, что написал.
>
>Так что вопрос открытый.

по идее нет, параметры будут дополнены, ну можешь еще создать файл:
/usr/ports/lang/php5/Makefile.local
в который добавить:
CONFIGURE_ARGS+= --with-layout=PHP

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Обновление портов. Параметры для CONFIGURE_ARGS в make.conf...."  +/
Сообщение от Аноним (??) on 20-Май-10, 18:55 
>по идее нет, параметры будут дополнены, ну можешь еще создать файл:
>/usr/ports/lang/php5/Makefile.local
>в который добавить:
>CONFIGURE_ARGS+= --with-layout=PHP

собирать при этом как обычно: make install clean

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру