Bug 7673

Summary: error messages in ifup/ifdown when VERBOSE=yes and PROGRESS=no
Product: Sisyphus Reporter: Sergey A. Sukiyazov <corwin>
Component: etcnetAssignee: Mikhail Efremov <sem>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: ldv, rider, sem, shaba, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Патч исправляющий отсутствие функций "пустышек" (приложено в 0.7.12)
none
Патч: проверка $VERBOSE и $PROGRESS выполняется внутри функций none

Description Sergey A. Sukiyazov 2005-08-14 15:39:55 MSD
Выдаются сообщения об ошибках (не определена функция 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
Comment 1 Sergey A. Sukiyazov 2005-08-14 15:43:18 MSD
проблема возникает из-того что в /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; } 
--- 
 
Comment 2 Sergey A. Sukiyazov 2005-08-14 15:45:44 MSD
Created attachment 1050 [details]
Патч исправляющий отсутствие функций "пустышек" (приложено в 0.7.12)
Comment 3 Sergey A. Sukiyazov 2005-08-14 15:53:21 MSD
Может имеет смысл педелать функции 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 
} 
--- 
Comment 4 Sergey A. Sukiyazov 2005-08-14 15:55:57 MSD
Created attachment 1051 [details]
Патч: проверка $VERBOSE и $PROGRESS выполняется внутри функций

Проверка $VERBOSE и $PROGRESS выполняется внутри функций print_messages,
print_progress, print_nack
Comment 5 Denis Ovsienko 2005-08-14 22:47:51 MSD
Раньше так и было, существующий вариант чуть более громоздкий, но более быстрый.
Comment 6 Denis Ovsienko 2005-08-15 10:55:42 MSD
принято