информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Победил ;-)) 07.08.06 18:40  Число просмотров: 3244
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
Стал жертвой собственного кастомизинга ;-))
Сначала такое случилось на одном из серверов, потом на втором. После того как стало на третьем и четвертом решил разобратья. Дело вот в чем:

.if exists(${HTTPD})
AP_CUR_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1
\2/p'
. if ${AP_CUR_VERSION} > 13
APACHE_MPM!= ${APXS} -q MPM_NAME
. endif
.elif defined(APACHE_PORT)
AP_CUR_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,/apache\([0-9]*\).\1,p'
.endif

версия апача определяется по htttpd -V, но так как я немного покастомизил src/include/httpd.h на предмет выдачи хедера, то паттерном она уже не ловилась, и переменная устанавливалась в none

APACHE_VERSION= ${AP_CUR_VERSION}
.else
AP_CUR_VERSION= none
<sysadmin>
Знатокам make 07.08.06 14:07  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
с какого-то момента при выполнении make на FreeBSD 4.11 выдает такие варнинги:
/usr/ports/lang/php4]# make clean
[: -le: argument expected
[: -le: argument expected
[: -le: argument expected
[: -le: argument expected
===> Cleaning for apache-1.3.37

Думал сначала что поменялась утилита [ (test) и с ней что-то не так. Переименовал файлы [ и test, вместо них оставил скрипт
#!/usr/local/bin/bash
echo $* >>/tmp/test.log

запустил make - вывод точно такой же, т.е. запуск утилиты test не проходил.
Сделал следующее
make -d A сlean>test 2>&1
получил пошаговое выполнение команды make, но с синтакисом не знаком. Кто-то может помочь?
Фрагмент test

Applying :M to "13"
Result is "13"
lhs = "13", rhs = "", op = !=
Global:AP_PORT_IS_MODULE = YES
Apply[: -le: argument expected

Ошибка возникает при выполнении /usr/ports/Mk/bsd.apache.mk. Нужно только определиться где именно.
Скорее всего какой-то shell-скрипт 07.08.06 16:12  
Автор: :-) <:-)> Статус: Elderman
Отредактировано 07.08.06 16:23  Количество правок: 1
<"чистая" ссылка>
> запустил make - вывод точно такой же, т.е. запуск утилиты
> test не проходил.

В большинстве шеллов "test" и "[" - встроенные команды. Поэтому твой скрипт и не вызывается.
Например в bash:
$ type \[
[ is a shell builtin

Проблему наверное стоит искать в строках вида
if [ $a -le $b ]
Где переменным $a или $b - не присвоено значение.

Попробуй добавить опцию -v в первую строчку скрипта, чтобы команды печатались по мере исполнения.
#! /bin/sh -v
вот что наковырял после дебага 07.08.06 18:32  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
> В большинстве шеллов "test" и "[" - встроенные команды. Поэтому твой скрипт и не
> вызывается.
похоже что так и есть
вот лог выполнения make (make -d A clean >test 2>&1)

---8<---
Global:_ERROR_MSG = : Error from bsd.apache.mk.
Global:APACHE_SUPPORTED_VERSION = 13 20 21 22
Applying :M to "1.3+"
Result is ""
lhs = "", rhs = "", op = !=
Applying :L to "1.3+"
Result is "1.3+"
lhs = "1.3+", rhs = "apr", op = ==
Applying :C to "1.3+"
Result is "13+"
Applying :C to "13+"
Result is "13"
Applying :M to "13"
Result is "13"
lhs = "13", rhs = "", op = !=
Global:AP_PORT_IS_MODULE = YES
Apply[: -le: argument expected
---8<---

смотрим файл /usr/ports/Mk/bsd.apache.mk
находим единстевенное место где есть -le

---8<---
if defined(AP_CUR_VERSION)
VERSION_CHECK!= eval `${ECHO_CMD} "[ ${AP_VERSION} -eq ${AP_CUR_VERSION} ]" | ${SED} -e 's/- -eq/ -ge/ ; s/+ -eq/ -le/' ` ; ${ECHO_CMD} $${?}
. if ${VERSION_CHECK} == 1
IGNORE= ${_ERROR_MSG} apache${AP_CUR_VERSION} is installed (or APACHE_PORT is defined) and port requires ${USE_APACHE}
. endif
---8<---

как я понял не устанавливаются переменные {AP_CUR_VERSION} - это скорее всего версия установленного апача. Почему так происходит - непонятно.
Победил ;-)) 07.08.06 18:40  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
Стал жертвой собственного кастомизинга ;-))
Сначала такое случилось на одном из серверов, потом на втором. После того как стало на третьем и четвертом решил разобратья. Дело вот в чем:

.if exists(${HTTPD})
AP_CUR_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1
\2/p'
. if ${AP_CUR_VERSION} > 13
APACHE_MPM!= ${APXS} -q MPM_NAME
. endif
.elif defined(APACHE_PORT)
AP_CUR_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,/apache\([0-9]*\).\1,p'
.endif

версия апача определяется по htttpd -V, но так как я немного покастомизил src/include/httpd.h на предмет выдачи хедера, то паттерном она уже не ловилась, и переменная устанавливалась в none

APACHE_VERSION= ${AP_CUR_VERSION}
.else
AP_CUR_VERSION= none
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach