История обновления одного порта во FreeBSD

On 30/03/2013, in FreeBSD, by Алексей Волобуев

Всем привет.

Сидел, занимался обновлением портов. Для обновления я использую утилиту portupgrade. Подошла очередь обновить apache. На команду portupgrade -r apache-2.2.22_5 получил в ответ следующее:
** Port marked as IGNORE: www/apache22:
is marked as broken: WITH/WITHOUT parameters are obsolete.  The port use the new options NG framework. Please read http://wiki.freebsd.org/Ports/Options/OptionsNG
** Listing the failed packages (-:ignored / *:skipped / !:failed)
- www/apache22 (marked as IGNORE)

Ага, что-то нестандартное.

Полез читать предложенную ссылку. Изменился формат задания опций для компиляции. В старом варианте для apache22 в /etc/make.conf были заданы следующие опции:

less /etc/make.conf

# APACHE
.if ${.CURDIR} == ${PORTSDIR}/www/apache22
# Для запуска CGI-скриптов от gid и uid пользователя, а не WEB-сервера
WITH_SUEXEC=yes
# Где будет работать suexec (ещё будет в userdir)
SUEXEC_DOCROOT=/usr/www/sites/
# Пользовательские директории, в которых будет работать suexec
SUEXEC_USERDIR=/usr/www/sites/*/cgi-bin
SUEXEC_LOGFILE=/var/log/httpd/suexec.log
.endif

Для нового варианта исправил так:
less /etc/make.conf

apache22_SET+= SUEXEC
# Где будет работать suexec (ещё будет в userdir)
SUEXEC_DOCROOT=/usr/www/sites/
# Пользовательские директории, в которых будет работать suexec
SUEXEC_USERDIR=/usr/www/sites/*/cgi-bin
SUEXEC_LOGFILE=/var/log/httpd/suexec.log

Из той же ссылки надо дополнительно сделать следующее:

cd /usr/ports/www/apache22
make -VUNIQUENAME

После этого, обновляем
portupgrade -r apache-2.2.22_5

Потом проверяю:
/usr/local/sbin/suexec -V
-D AP_DOC_ROOT="/usr/www/sites/"
-D AP_GID_MIN=1000
-D AP_HTTPD_USER="www"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=1000
-D AP_USERDIR_SUFFIX="/usr/www/sites/*/cgi-bin"

 

Продолжение случаев обновлений с ошибками:

Случай второй

Случай третий

Tagged with:  

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *