On Tue, 30 Aug 2011 15:24:10 +0200 Justus Winter <[email protected]> wrote:
> Hey everyone :) > > I noticed that the global variables Deleted and OriginalDevices were > not updated in NetworkInterfaces.ycp/Write() causing changes to an > interface to be written over and over again. The attached patch fixes > the problem and updates the testcase NetworkInterface2 accordingly. Err, please find attached an updated version of the patch... sorry for the noise... Cheers, Justus -- Justus Winter [email protected] PRESENSE Technologies GmbH Sachsenstr. 5, D-20097 HH USt-IdNr.: DE263765024 Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges Jürgen Sander Axel Theilmann
diff -r 1814b26e32bf yast2/library/network/src/NetworkInterfaces.ycp
--- a/yast2/library/network/src/NetworkInterfaces.ycp Mon Aug 29 15:23:17 2011 +0200
+++ b/yast2/library/network/src/NetworkInterfaces.ycp Tue Aug 30 15:26:37 2011 +0200
@@ -747,6 +747,7 @@
});
}
});
+ Deleted = [];
/* Devices with chmod=0600 */
list<string> chmod = [];
@@ -829,6 +830,14 @@
y2debug("CHANGED");
chmod = add(chmod, file);
}
+
+ if (OriginalDevices == nil) {
+ OriginalDevices = $[];
+ }
+ if (OriginalDevices[typ]:nil == nil) {
+ OriginalDevices[typ] = $[];
+ }
+ OriginalDevices[typ, config] = Devices[typ, config]:$[];
});
});
@@ -842,10 +851,6 @@
SCR::Execute(.target.bash, "/bin/chmod 0600 " + file);
});
- // Deleted = [];
- // OriginalDevices = Devices;
- // Cannot do it because we have written only part of Devices.
- // This module should be rewritten to objects.
return true;
}
diff -r 1814b26e32bf yast2/library/network/testsuite/tests/NetworkInterfaces2.out
--- a/yast2/library/network/testsuite/tests/NetworkInterfaces2.out Mon Aug 29 15:23:17 2011 +0200
+++ b/yast2/library/network/testsuite/tests/NetworkInterfaces2.out Tue Aug 30 15:26:37 2011 +0200
@@ -90,72 +90,6 @@
Return true
Dump all=$["arc":$["arc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "atm":$["atm5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ci":$["ci5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ctc":$["ctc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "dummy":$["dummy5":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"]], "escon":$["escon5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "eth":$["eth5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"], "eth6":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.255.255.255", "PREFIXLEN":"32", "STARTMODE":"manual"], "eth7":$["STARTMODE":"manual"], "eth8":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"], "eth9":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"], "mynet0":$["BOOTPROTO":"dhcp", "INTERFACETYPE":"eth", "STARTMODE":"auto"]], "fddi":$["fddi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hippi":$["hippi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hsi":$["hsi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ippp":$["ippp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "iucv":$["iucv5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "lo":$["lo":$["BROADCAST":"127.255.255.255", "IPADDR":"127.0.0.1", "NETMASK":"255.0.0.0", "NETWORK":"127.0.0.0", "PREFIXLEN":"8", "STARTMODE":"auto"]], "myri":$["myri5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ppp":$["ppp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "tr":$["tr5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "vlan":$["eth0.3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "myvlantoo":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual", "VLAN_ID":"2"], "virtlan4":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "vlan3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"]]]
Dump NetworkInterfaces::Write
-Write .network.value."arc5".BOOTPROTO "dhcp" true
-Write .network.value."arc5".STARTMODE "manual" true
-Write .network.value."atm5".BOOTPROTO "dhcp" true
-Write .network.value."atm5".STARTMODE "manual" true
-Write .network.value."ci5".BOOTPROTO "dhcp" true
-Write .network.value."ci5".STARTMODE "manual" true
-Write .network.value."ctc5".BOOTPROTO "dhcp" true
-Write .network.value."ctc5".STARTMODE "manual" true
-Write .network.value."dummy5".BOOTPROTO "static" true
-Write .network.value."dummy5".IPADDR "1.2.3.4/8" true
-Write .network.value."dummy5".PREFIXLEN "8" true
-Write .network.value."dummy5".STARTMODE "manual" true
-Write .network.value."escon5".BOOTPROTO "dhcp" true
-Write .network.value."escon5".STARTMODE "manual" true
-Write .network.value."eth5".BOOTPROTO "dhcp" true
-Write .network.value."eth5".STARTMODE "manual" true
-Write .network.value."eth6".BOOTPROTO "static" true
-Write .network.value."eth6".IPADDR "1.2.3.4/32" true
-Write .network.value."eth6".PREFIXLEN "32" true
-Write .network.value."eth6".STARTMODE "manual" true
-Write .network.value."eth7".STARTMODE "manual" true
-Write .network.value."eth8".IPADDR "1.2.3.4/8" true
-Write .network.value."eth8".PREFIXLEN "8" true
-Write .network.value."eth8".STARTMODE "manual" true
-Write .network.value."eth9".IPADDR "1.2.3.4/8" true
-Write .network.value."eth9".PREFIXLEN "8" true
-Write .network.value."eth9".STARTMODE "manual" true
-Write .network.value."mynet0".BOOTPROTO "dhcp" true
-Write .network.value."mynet0".INTERFACETYPE "eth" true
-Write .network.value."mynet0".STARTMODE "auto" true
-Write .network.value."fddi5".BOOTPROTO "dhcp" true
-Write .network.value."fddi5".STARTMODE "manual" true
-Write .network.value."hippi5".BOOTPROTO "dhcp" true
-Write .network.value."hippi5".STARTMODE "manual" true
-Write .network.value."hsi5".BOOTPROTO "dhcp" true
-Write .network.value."hsi5".STARTMODE "manual" true
-Write .network.value."ippp5".BOOTPROTO "dhcp" true
-Write .network.value."ippp5".STARTMODE "manual" true
-Write .network.value."iucv5".BOOTPROTO "dhcp" true
-Write .network.value."iucv5".STARTMODE "manual" true
-Write .network.value."lo".BROADCAST "127.255.255.255" true
-Write .network.value."lo".IPADDR "127.0.0.1/8" true
-Write .network.value."lo".NETWORK "127.0.0.0" true
-Write .network.value."lo".PREFIXLEN "8" true
-Write .network.value."lo".STARTMODE "auto" true
-Write .network.value."myri5".BOOTPROTO "dhcp" true
-Write .network.value."myri5".STARTMODE "manual" true
-Write .network.value."ppp5".BOOTPROTO "dhcp" true
-Write .network.value."ppp5".STARTMODE "manual" true
-Write .network.value."tr5".BOOTPROTO "dhcp" true
-Write .network.value."tr5".STARTMODE "manual" true
-Write .network.value."eth0.3".BOOTPROTO "dhcp" true
-Write .network.value."eth0.3".ETHERDEVICE "eth0" true
-Write .network.value."eth0.3".STARTMODE "manual" true
-Write .network.value."myvlantoo".BOOTPROTO "dhcp" true
-Write .network.value."myvlantoo".ETHERDEVICE "eth0" true
-Write .network.value."myvlantoo".STARTMODE "manual" true
-Write .network.value."myvlantoo".VLAN_ID "2" true
-Write .network.value."virtlan4".BOOTPROTO "dhcp" true
-Write .network.value."virtlan4".ETHERDEVICE "eth0" true
-Write .network.value."virtlan4".STARTMODE "manual" true
-Write .network.value."vlan3".BOOTPROTO "dhcp" true
-Write .network.value."vlan3".ETHERDEVICE "eth0" true
-Write .network.value."vlan3".STARTMODE "manual" true
-Write .network nil true
-Return true
Write .network.value."eth5".BOOTPROTO "dhcp" true
Write .network.value."eth5".STARTMODE "manual" true
Write .network.value."eth6".BOOTPROTO "static" true
@@ -182,7 +116,6 @@
Write .network.value."ippp5".STARTMODE "manual" true
Write .network nil true
Return true
-Write .network nil true
Return true
Write .network.value."atm5".BOOTPROTO "dhcp" true
Write .network.value."atm5".STARTMODE "manual" true
@@ -190,6 +123,48 @@
Write .network.value."tr5".STARTMODE "manual" true
Write .network nil true
Return true
+Write .network.value."arc5".BOOTPROTO "dhcp" true
+Write .network.value."arc5".STARTMODE "manual" true
+Write .network.value."ci5".BOOTPROTO "dhcp" true
+Write .network.value."ci5".STARTMODE "manual" true
+Write .network.value."ctc5".BOOTPROTO "dhcp" true
+Write .network.value."ctc5".STARTMODE "manual" true
+Write .network.value."dummy5".BOOTPROTO "static" true
+Write .network.value."dummy5".IPADDR "1.2.3.4/8" true
+Write .network.value."dummy5".PREFIXLEN "8" true
+Write .network.value."dummy5".STARTMODE "manual" true
+Write .network.value."escon5".BOOTPROTO "dhcp" true
+Write .network.value."escon5".STARTMODE "manual" true
+Write .network.value."fddi5".BOOTPROTO "dhcp" true
+Write .network.value."fddi5".STARTMODE "manual" true
+Write .network.value."hippi5".BOOTPROTO "dhcp" true
+Write .network.value."hippi5".STARTMODE "manual" true
+Write .network.value."hsi5".BOOTPROTO "dhcp" true
+Write .network.value."hsi5".STARTMODE "manual" true
+Write .network.value."iucv5".BOOTPROTO "dhcp" true
+Write .network.value."iucv5".STARTMODE "manual" true
+Write .network.value."lo".BROADCAST "127.255.255.255" true
+Write .network.value."lo".IPADDR "127.0.0.1/8" true
+Write .network.value."lo".NETWORK "127.0.0.0" true
+Write .network.value."lo".PREFIXLEN "8" true
+Write .network.value."lo".STARTMODE "auto" true
+Write .network.value."myri5".BOOTPROTO "dhcp" true
+Write .network.value."myri5".STARTMODE "manual" true
+Write .network.value."eth0.3".BOOTPROTO "dhcp" true
+Write .network.value."eth0.3".ETHERDEVICE "eth0" true
+Write .network.value."eth0.3".STARTMODE "manual" true
+Write .network.value."myvlantoo".BOOTPROTO "dhcp" true
+Write .network.value."myvlantoo".ETHERDEVICE "eth0" true
+Write .network.value."myvlantoo".STARTMODE "manual" true
+Write .network.value."myvlantoo".VLAN_ID "2" true
+Write .network.value."virtlan4".BOOTPROTO "dhcp" true
+Write .network.value."virtlan4".ETHERDEVICE "eth0" true
+Write .network.value."virtlan4".STARTMODE "manual" true
+Write .network.value."vlan3".BOOTPROTO "dhcp" true
+Write .network.value."vlan3".ETHERDEVICE "eth0" true
+Write .network.value."vlan3".STARTMODE "manual" true
+Write .network nil true
+Return true
Dump NetworkInterfaces::Export
Dump exported=$["arc":$["arc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "atm":$["atm5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ci":$["ci5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ctc":$["ctc5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "dummy":$["dummy5":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"]], "escon":$["escon5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "eth":$["eth5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"], "eth6":$["BOOTPROTO":"static", "IPADDR":"1.2.3.4", "NETMASK":"255.255.255.255", "PREFIXLEN":"32", "STARTMODE":"manual"], "eth7":$["STARTMODE":"manual"], "eth8":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"], "eth9":$["IPADDR":"1.2.3.4", "NETMASK":"255.0.0.0", "PREFIXLEN":"8", "STARTMODE":"manual"], "mynet0":$["BOOTPROTO":"dhcp", "INTERFACETYPE":"eth", "STARTMODE":"auto"]], "fddi":$["fddi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hippi":$["hippi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "hsi":$["hsi5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ippp":$["ippp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "iucv":$["iucv5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "lo":$["lo":$["BROADCAST":"127.255.255.255", "IPADDR":"127.0.0.1", "NETMASK":"255.0.0.0", "NETWORK":"127.0.0.0", "PREFIXLEN":"8", "STARTMODE":"auto"]], "myri":$["myri5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "ppp":$["ppp5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "tr":$["tr5":$["BOOTPROTO":"dhcp", "STARTMODE":"manual"]], "vlan":$["eth0.3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "myvlantoo":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual", "VLAN_ID":"2"], "virtlan4":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"], "vlan3":$["BOOTPROTO":"dhcp", "ETHERDEVICE":"eth0", "STARTMODE":"manual"]]]
Dump NetworkInterfaces::Import
diff -r 1814b26e32bf yast2/library/network/testsuite/tests/NetworkInterfaces2.ycp
--- a/yast2/library/network/testsuite/tests/NetworkInterfaces2.ycp Mon Aug 29 15:23:17 2011 +0200
+++ b/yast2/library/network/testsuite/tests/NetworkInterfaces2.ycp Tue Aug 30 15:26:37 2011 +0200
@@ -82,12 +82,12 @@
NetworkInterfaces::OriginalDevices = nil;
DUMP("NetworkInterfaces::Write");
-TEST(``(NetworkInterfaces::Write("")), [READ], nil);
TEST(``(NetworkInterfaces::Write("eth")), [READ], nil);
TEST(``(NetworkInterfaces::Write("ppp")), [READ], nil);
TEST(``(NetworkInterfaces::Write("ippp")), [READ], nil);
TEST(``(NetworkInterfaces::Write("trx")), [READ], nil);
TEST(``(NetworkInterfaces::Write("atm|tr")), [READ], nil);
+TEST(``(NetworkInterfaces::Write("")), [READ], nil);
map<string,map> exported = nil;
signature.asc
Description: PGP signature
