Bug 8891

Summary: Добавить в network-functions/need_hostname возврат признака необходимости смены hostname
Product: Sisyphus Reporter: Sergey N. Yatskevich <syatskevich>
Component: net-scriptsAssignee: Denis Ovsienko <pilot>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergey N. Yatskevich 2006-01-20 17:27:52 MSK
При автоматической конфигурации сети с помощью dhcp-client может выполняться
переустановка имени хоста. Необходимость такой установки проверяется в частности
с помощью кода возврата функции need_hostname. Поскольку в текущем варианте это
всегда 0, то смена имени хоста выполняется _всегда_. В ряде случаев это очень
неудобно, например GNOME (а может и X'ы) очень негативно реагирует на смену
имени на ходу, просто отказываясь запускать новые приложения. Это приводит к
необходимости каждый раз при смене сети перезапускать сеанс, что особенно обидно
при использовании вместо полного выключения ноута Suspend2Disk.

Патч прилагается.

--- network-functions.old	2006-01-20 16:15:34 +0300
+++ network-functions	2006-01-20 16:17:39 +0300
@@ -2,6 +2,8 @@
 # This is not a standalone shell script;
 # it just provides functions to network scripts that source it.
 
+. /etc/rc.d/init.d/functions
+
 source_config ()
 {
     DEVNAME=`echo "${CONFIG##*/}" | sed 's/^ifcfg-//g'`
@@ -68,6 +70,8 @@
 	else
 		unset NEEDHOSTNAME
 	fi
+
+	return is_yes "$NEEDHOSTNAME"
 }
 
 set_hostname()
Comment 1 Sergey N. Yatskevich 2006-01-21 14:24:14 MSK
Совсем скрипты писать разучился, вот та вроде правильно:

--- network-functions.old	2004-05-04 16:56:58 +0400
+++ network-functions	2006-01-21 14:22:58 +0300
@@ -2,6 +2,8 @@
 # This is not a standalone shell script;
 # it just provides functions to network scripts that source it.
 
+. /etc/rc.d/init.d/functions
+
 source_config ()
 {
     DEVNAME=`echo "${CONFIG##*/}" | sed 's/^ifcfg-//g'`
@@ -68,6 +70,11 @@
 	else
 		unset NEEDHOSTNAME
 	fi
+
+	if [ "x$NEEDHOSTNAME" = "xyes" ]; then
+		return 0
+	fi
+	return 1
 }
 
 set_hostname()
Comment 2 Sergey N. Yatskevich 2006-01-21 14:25:51 MSK
*** Bug 8889 has been marked as a duplicate of this bug. ***
Comment 3 Denis Ovsienko 2006-01-23 11:53:06 MSK
Может, портировать /etc/net на Master? У меня сейчас нет машин под управлением
Master-2.4.
Comment 4 Sergey N. Yatskevich 2006-01-23 15:21:50 MSK
Пардон, неправильно привязал к системе. Все сказанное относится к текущему Sisyphus.
Comment 5 Denis Ovsienko 2006-01-24 10:20:00 MSK
Это я привязал. Мне говорили, что какой-то пакет выталкивает net-scripts,
поэтому я думал, что ими никто уже не пользуется.
Comment 6 Denis Ovsienko 2006-01-24 10:39:22 MSK
Может, дождётесь etcnet-0.8.1 в Sisyphus и перейдёте на него?
Comment 7 Sergey N. Yatskevich 2006-03-24 12:33:34 MSK
При попытке установить etcnet-0.8.1 apt пытается снести dhcp-client и pident, а
они мне нужны для работы, поэтому я до сих пор остаюсь на net-scripts.
Comment 8 Denis Ovsienko 2006-03-29 21:46:06 MSD
Это по части pidentd.
Comment 9 Denis Ovsienko 2006-03-29 21:46:40 MSD
dhcpcd как DHCP-клиент не подойдёт?
Comment 10 Sergey N. Yatskevich 2006-03-30 14:20:15 MSD
Мне нужно от dhcp агента, чтобы он, если не найден DHCP сервер подбирал
подходящую из набора статически заданных конфигураций (это для сеток, в которых
админы отказываются заводить DHCP-сервера). dhcpcd я посмотрю и если там это
возможно, то перейду.
Comment 11 Denis Ovsienko 2006-03-30 16:59:06 MSD
Если BOOTPROTO=dhcp-static, набор профилей и selectprofile не решат такую
задачу, то это нужно исправлять.
Comment 12 Denis Ovsienko 2006-09-10 02:44:47 MSD
Итак... Давайте заново сформулируем проблему, если она ещё есть.
Comment 13 Sergey N. Yatskevich 2007-01-09 15:26:19 MSK
Проблема закрыта в связи с исчезновением необходимости динамически конфигурить
сеть в отсутствии DHCP-сервера и моим переходом на etc-net.
Comment 14 Denis Ovsienko 2007-01-28 20:55:36 MSK
not fixed
Comment 15 Denis Ovsienko 2007-01-28 20:56:06 MSK
Но без планов править.