Author: kmachalkova Date: Mon Feb 2 14:58:15 2009 New Revision: 55189 URL: http://svn.opensuse.org/viewcvs/yast?rev=55189&view=rev Log: Read/write Host::write_hostname variable by Host module only, override in inst_hostname if applicable (bnc#469752) Modified: trunk/network/src/installation/inst_hostname.ycp trunk/network/src/modules/DNS.ycp trunk/network/src/modules/Host.ycp trunk/network/src/services/dns.ycp Modified: trunk/network/src/installation/inst_hostname.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/installation/inst_hostname.ycp?rev=55189&r1=55188&r2=55189&view=diff ============================================================================== --- trunk/network/src/installation/inst_hostname.ycp (original) +++ trunk/network/src/installation/inst_hostname.ycp Mon Feb 2 14:58:15 2009 @@ -31,9 +31,6 @@ // FaTe#303875: Introduce a switch regarding 127.0.0.2 entry in /etc/hosts boolean whth = ProductFeatures::GetBooleanFeature ("globals", "write_hostname_to_hosts"); y2milestone("write_hostname_to_hosts value from control.xml : %1", whth); -SCR::Write(.sysconfig.network.dhcp."WRITE_HOSTNAME_TO_HOSTS", whth ? "yes" : "no"); -SCR::Write(.sysconfig.network.dhcp, nil); - DNS::Read (); // handles NetworkConfig too @@ -45,6 +42,8 @@ // propose settings NetworkConfig::DHCP["DHCLIENT_SET_HOSTNAME"] = ! Arch::is_laptop (); +// override with setting from control.xml +Host::SetWriteHostname( whth ); // TODO: policy for proposing a hostname symbol ret = `next; Modified: trunk/network/src/modules/DNS.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/modules/DNS.ycp?rev=55189&r1=55188&r2=55189&view=diff ============================================================================== --- trunk/network/src/modules/DNS.ycp (original) +++ trunk/network/src/modules/DNS.ycp Mon Feb 2 14:58:15 2009 @@ -125,8 +125,12 @@ if(initialized == true) return true; - Host::Read(); + //in this order, because Host:;write hostname gets initialized from NetworkConfig::DHCP NetworkConfig::Read(); + Host::Read(); + + Host::SetWriteHostname( NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"]:true ); + y2milestone("write_hostname_to_hosts value from sysconfig : %1", NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"]:true); /* install.inf from linuxrc */ map install_inf = $[]; @@ -208,18 +212,16 @@ //are defined for each static IP separately in address dialog //FaTE #2202 - if (NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"]:true == false) - Host::write_hostname=false; - else - { + if (Host::WriteHostname()) { //Always add 127.0.0.2 entry to /etc/hosts, otherwise some //desktop apps may hang, not being able to resolve hostname (#304632) //empty list [] as third parameter does that - Host::Update(oldhostname, fqhostname, []); + Host::Update(oldhostname, fqhostname, []); Host::Write(); } oldhostname = fqhostname; // #49634 + NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"] = Host::WriteHostname(); NetworkConfig::Write(); y2milestone("Writing configuration"); Modified: trunk/network/src/modules/Host.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/modules/Host.ycp?rev=55189&r1=55188&r2=55189&view=diff ============================================================================== --- trunk/network/src/modules/Host.ycp (original) +++ trunk/network/src/modules/Host.ycp Mon Feb 2 14:58:15 2009 @@ -13,6 +13,7 @@ textdomain "network"; import "Hostname"; +import "NetworkConfig"; import "String"; import "Summary"; @@ -31,7 +32,10 @@ */ global boolean modified = false; -global boolean write_hostname = true; +/** + * Should static hostname be written to /etc/hosts? + */ +boolean write_hostname = true; /** * All hosts read at the start @@ -50,6 +54,16 @@ boolean initialized = false; +global boolean WriteHostname() +{ + return write_hostname; +} + +global void SetWriteHostname( boolean w) +{ + write_hostname = w; +} + /** * Read hosts settings * @return true if success @@ -83,6 +97,7 @@ global define boolean Write() { y2milestone("Writing configuration"); + if(!modified) { y2milestone("No changes to Host -> nothing to write"); return true; @@ -94,7 +109,6 @@ return true; } - list <string> steps = [ _("Update /etc/hosts"), ]; Modified: trunk/network/src/services/dns.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/services/dns.ycp?rev=55189&r1=55188&r2=55189&view=diff ============================================================================== --- trunk/network/src/services/dns.ycp (original) +++ trunk/network/src/services/dns.ycp Mon Feb 2 14:58:15 2009 @@ -15,6 +15,7 @@ import "CWM"; import "DNS"; import "GetInstArgs"; +import "Host"; import "Hostname"; import "IP"; import "Label"; @@ -70,7 +71,7 @@ "DOMAIN": DNS::domain, "DHCP_HOSTNAME": NetworkConfig::DHCP["DHCLIENT_SET_HOSTNAME"]:false, // set as true by default because there wasn't this option in previous version - "WRITE_HOSTNAME": NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"]:true + "WRITE_HOSTNAME": Host::WriteHostname() ]; // the rest is not so straightforward, // because we have list variables but non-list widgets @@ -108,7 +109,7 @@ DNS::nameservers = NonEmpty (nameservers); DNS::searchlist = NonEmpty (searchlist); NetworkConfig::DHCP["DHCLIENT_SET_HOSTNAME"] = settings["DHCP_HOSTNAME"]:false; - NetworkConfig::DHCP["WRITE_HOSTNAME_TO_HOSTS"] = settings["WRITE_HOSTNAME"]:true; + Host::SetWriteHostname( settings["WRITE_HOSTNAME"]:true ); /* update modified flag */ DNS::modified = true; -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org