Bug 21300

Summary: tab in stdout looks bad in syslog
Product: Branch 4.1 Reporter: Dmitry Chistikov <dd1email>
Component: etcnetAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: qa-4.1 <qa-4.1>
Severity: minor    
Priority: P3 CC: pilot
Version: unspecified   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
patch for functions file
none
patch for initscript
none
scenario producing patch for scripts dir
none
patch for scripts dir in branch 4.1 none

Description Dmitry Chistikov 2009-08-30 10:48:12 MSD
Использование в etcnet сообщений с символом табуляции (tab) типа

print_message -n -e "\tStarting $IFNAME: "

выглядит хорошо при интерактивной работе с интерфейсами, но не при попадании в системный журнал (символ '\t' преобразуется в пару символов "^I") - что и происходит при загрузке системы (stdout от start-скрипта попадает в syslog, так как запускается с помощью initlog). Результат:

# fgrep '^IStarting' /var/log/messages | wc -l
68

Предлагаемое решение: заменить '\t' в таких сообщениях на, скажем, "$tab" с предварительной инициализацией пробелом(-ами) tab="    ".

SEE ALSO:

# echo -ne "Test logger message with a tab: <\t>." | xargs -0 logger
Comment 1 Denis Ovsienko 2009-08-30 13:29:30 MSD
Почему бы и нет? Патч пришлёте?
Comment 2 Dmitry Chistikov 2009-08-30 15:01:09 MSD
Created attachment 3800 [details]
patch for functions file
Comment 3 Dmitry Chistikov 2009-08-30 15:02:49 MSD
Created attachment 3801 [details]
patch for initscript
Comment 4 Dmitry Chistikov 2009-08-30 15:04:57 MSD
Created attachment 3802 [details]
scenario producing patch for scripts dir
Comment 5 Dmitry Chistikov 2009-08-30 15:06:10 MSD
Created attachment 3803 [details]
patch for scripts dir in branch 4.1
Comment 6 Dmitry Chistikov 2009-08-30 15:20:58 MSD
Набросал примерные патчи, основываясь на текущей версии etcnet в branch 4.1 (сизифных исходников не смотрел). Предполагаю, что изменения для /etc/net/scripts/functions (создание переменной TAB) и /etc/rc.d/init.d/network подойдут ко всем актуальным версиям, а с остальными файлами в /etc/net/scripts решил перестраховаться и написал простенький скрипт - его вывод приведен для соответствующего каталога в branch 4.1. После применения патча внимательно смотрел grep -r '\\t' /etc/net/scripts - у меня оставалось три не относящиеся к делу строки.

Да, я выбрал 8 пробелов, чтобы отличий на глаз при выводе, скажем, service network restart не было, - возможно, это не очень хорошее решение.
Comment 7 Michael Shigorin 2014-11-05 20:43:04 MSK
В 4.1/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.