Продолжая переход на FreeBSD-7.1-BETA, обнаружил, что перестала создаваться документация, созданная при помощи DOCBOOK. Причина оказалась в том, что configure перестал находить скриптик collateindex.pl, используемый для построения индекса.
Для поиска collateindex.pl на конретной машине я использовал набор макро dockbook.m4 из проекта PostgreSQL, в котором для поиска скрипта создана функция
# PGAC_PATH_COLLATEINDEX
# ----------------------
AC_DEFUN([PGAC_PATH_COLLATEINDEX],
[AC_REQUIRE([PGAC_PATH_DOCBOOK_STYLESHEETS])dnl
if test -n "$DOCBOOKSTYLE"; then
AC_PATH_PROGS(COLLATEINDEX, collateindex.pl, [],
[$DOCBOOKSTYLE/bin $PATH])
else
AC_PATH_PROGS(COLLATEINDEX, collateindex.pl)
fi])# PGAC_PATH_COLLATEINDEX
Проблема заключается в том, что скрипт collateindex.pl не имеет прав на исполнение после установки из портов, а новая версия AC_PATH_PROGS "находит" указанную программу только в случае, если она имеет права на исполнение (в старой версии такой проверки не проводилось и эта функция отрабатывала правильно).
Поэтому функцию PGAC_PATH_COLLATEINDEX нужно переписать следующим образом:
# PGAC_PATH_COLLATEINDEX
# ----------------------
AC_DEFUN([PGAC_PATH_COLLATEINDEX],
[AC_REQUIRE([PGAC_PATH_DOCBOOK_STYLESHEETS])dnl
if test -n "$DOCBOOKSTYLE"; then
AC_PATH_PROGS(COLLATEINDEX, collateindex.pl, [],
[$DOCBOOKSTYLE/bin $PATH])
if test "x$COLLATEINDEX" = "x"; then
AC_MSG_CHECKING(once again collateindex.pl)
PATH_DIRS=`echo $PATH | tr : \ `
MY_DIRS="$DOCBOOKSTYLE/bin"
for pgac_prefix in $MY_DIRS $PATH_DIRS; do
pgac_candidate="$pgac_prefix/collateindex.pl"
if test -f "$pgac_candidate"; then
COLLATEINDEX="$pgac_candidate"
break
fi
done
AC_MSG_RESULT([$COLLATEINDEX])
fi
else
AC_PATH_PROGS(COLLATEINDEX, collateindex.pl)
if test "x$COLLATEINDEX" = "x"; then
AC_MSG_CHECKING(once again collateindex.pl)
PATH_DIRS=`echo $PATH | tr : \ `
for pgac_prefix in $PATH_DIRS; do
pgac_candidate="$pgac_prefix/collateindex.pl"
if test -f "$pgac_candidate"; then
COLLATEINDEX="$pgac_candidate"
break
fi
done
AC_MSG_RESULT([$COLLATEINDEX])
fi
fi])# PGAC_PATH_COLLATEINDEX