Выдаются сообщения об ошибках (не определена функция print_progress) при выполнении команд ifup/ifdown если установнены следующие параметры (выводить сообщения и не показыватт прогресс): VERBOSE=yes PROGRESS=no Steps to Reproduce: 1. Указать в опциях (/etc/net/options.d/00-default) VERBOSE=yes и PROGRESS=no 2. Выполнить команду ifup eth0 3. Выполнить команду ifdown eth0
проблема возникает из-того что в /etc/net/script/functions для указанного случая не определяются функции "пустышки" print_progress и print_nack. Пустышки определяются только для случая VERBOSE="no". Патч исправляющий проблему: --- diff -Naur etcnet-0.7.11-orig/etc/net/scripts/functions etcnet-0.7.11/etc/net/scripts/functions --- etcnet-0.7.11-orig/etc/net/scripts/functions 2005-08-03 14:41:34 +0400 +++ etcnet-0.7.11/etc/net/scripts/functions 2005-08-14 15:19:11 +0400 @@ -117,6 +117,9 @@ echo -n ${1:-!} return 0 } + else + print_progress() { return 0; } + print_nack() { return 0; } fi else print_message() { return 0; } ---
Created attachment 1050 [details] Патч исправляющий отсутствие функций "пустышек" (приложено в 0.7.12)
Может имеет смысл педелать функции print_message(), print_progress() и print_nack() так, чтобы проверка $VERBOSE и $PROGRESS выполнялась внутри этих функций? Например: --- print_message() { # Don't display progress if not verbose. if is_yes "$VERBOSE"; then echo "$@" fi return 0 } print_progress() { # Don't display progress if not verbose. if is_yes "$VERBOSE"; then if is_yes "$PROGRESS"; then echo -n ${1:-.} fi fi return 0 } print_nack() { # Don't display progress if not verbose. if is_yes "$VERBOSE"; then if is_yes "$PROGRESS"; then echo -n ${1:-!} fi fi return 0 } ---
Created attachment 1051 [details] Патч: проверка $VERBOSE и $PROGRESS выполняется внутри функций Проверка $VERBOSE и $PROGRESS выполняется внутри функций print_messages, print_progress, print_nack
Раньше так и было, существующий вариант чуть более громоздкий, но более быстрый.
принято