Author: mzugec
Date: Wed Jul 18 15:19:14 2007
New Revision: 39501
URL: http://svn.opensuse.org/viewcvs/yast?rev=39501&view=rev
Log:
disallow to configure card without kernel device
copy udev rules for persistent names on installed system
Modified:
trunk/network/VERSION
trunk/network/package/yast2-network.changes
trunk/network/src/clients/save_network.ycp
trunk/network/src/modules/LanItems.ycp
trunk/network/src/routines/complex.ycp
Modified: trunk/network/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/VERSION?rev=39501&r1=39500&r2=39501&view=diff
==============================================================================
--- trunk/network/VERSION (original)
+++ trunk/network/VERSION Wed Jul 18 15:19:14 2007
@@ -1 +1 @@
-2.15.48
+2.15.49
Modified: trunk/network/package/yast2-network.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/package/yast2-network.changes?rev=39501&r1=39500&r2=39501&view=diff
==============================================================================
--- trunk/network/package/yast2-network.changes (original)
+++ trunk/network/package/yast2-network.changes Wed Jul 18 15:19:14 2007
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Jul 18 14:50:48 CEST 2007 - mzugec@suse.cz
+
+- disallow to configure card without kernel device
+- copy udev rules for persistent names on installed system
+- 2.15.49
+
+-------------------------------------------------------------------
Tue Jul 17 07:37:01 CEST 2007 - mzugec@suse.de
- no more hwcfg files, don't use getcfg (#292085)
Modified: trunk/network/src/clients/save_network.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/clients/save_network.ycp?rev=39501&r1=39500&r2=39501&view=diff
==============================================================================
--- trunk/network/src/clients/save_network.ycp (original)
+++ trunk/network/src/clients/save_network.ycp Wed Jul 18 15:19:14 2007
@@ -355,6 +355,13 @@
"/var/lib/dhcpcd",
String::Quote (Installation::destdir)));
+ // --------------------------------------------------------------
+ // Copy udev rules for persistent names
+ WFM::Execute (.local.bash, sformat (
+ "mkdir -p '%2%1'; /bin/cp -p %1/70-net_persistent_names.rules '%2%1'",
+ "/etc/udev/rules.d",
+ String::Quote (Installation::destdir)));
+
// close and chroot back
WFM::SCRClose (new_SCR);
WFM::SCRSetDefault (old_SCR);
Modified: trunk/network/src/modules/LanItems.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/network/src/modules/LanItems.ycp?rev=39501&r1=39500&r2=39501&view=diff
==============================================================================
--- trunk/network/src/modules/LanItems.ycp (original)
+++ trunk/network/src/modules/LanItems.ycp Wed Jul 18 15:19:14 2007
@@ -206,7 +206,6 @@
NetworkDevices::CleanHotplugSymlink();
foreach(string tmpdevname, (list<string>)Map::Keys(NetworkDevices::FilterDevices("netcard")["eth"]:$[]), {
string confname = NetworkDevices::device_name("eth", tmpdevname);
-y2internal("confname %1", confname);
// map config = getcfg(confname, "");
integer pos = nil;
@@ -225,11 +224,13 @@
// Items[pos, "hwcfg"] = val[sformat("HWD_INTERFACE_%1", tointeger(val["HWD_INTERFACE_N"]:"0")-1)]:"";
Items[pos, "ifcfg"] = confname;
});
+ y2milestone("LanItems::Items %1", Items);
}
list GetDescr(){
list descr = [];
foreach(integer key, map value, (map >)Items, {
+
if ( haskey(value, "table_descr") && size(Items[key, "table_descr"]:$[])>1)
descr = add(descr, $["id":key,
"rich_descr":Items[key, "table_descr", "rich_descr"]:"",
@@ -239,50 +240,110 @@
return descr;
}
-/**
- * Create an overview table with all configured devices
- * @return table items
- */
-global list Overview() {
- list unconfigured = Map::Keys(Items);
+void BuildLanOverview() {
+ map startmode_descrs = $[
+ // summary description of STARTMODE=auto
+ "auto": _("Started automatically at boot"),
+ // summary description of STARTMODE=hotplug
+ "hotplug": _("Started automatically at boot"),
+ // summary description of STARTMODE=ifplugd
+ "ifplugd": _("Started automatically on cable connection"),
+ // summary description of STARTMODE=managed
+ "managed": _("Managed by NetworkManager"),
+ // summary description of STARTMODE=off
+ "off" : _("Will not be started at all")
+ ];
+
- foreach( term card, (list<term>) BuildOverview("netcard", Hardware), {
- string id = card[0,0]:"";
- list desc = [ card[1]:"", card[2]:""];
foreach(integer key, (list<integer>)Map::Keys(Items), {
- if (Items[key, "ifcfg"]:"" == id && hasAnyValue(id)){
- Items[key, "table_descr"] = $[
- "rich_descr" : card[3]: (desc[1]:_("Unknown")),
- "table_descr": desc
- ];
- unconfigured = filter(integer row, (list<integer>)unconfigured, {return(row!=key);});
- }
- });
- });
+ string rich = "";
+ string ip = _("Not configured");
+ string descr = HardwareName (Hardware, Items[key, "hwinfo", "udi"]:"");
+ descr = CheckEmptyName (type, descr);
+ list <string> bullets = [];
+
+ if (hasAnyValue(Items[key, "ifcfg"]:"") ){
+ NetworkDevices::Select(Items[key, "ifcfg"]:"");
+ type = NetworkDevices::device_type(NetworkDevices::Name);
+ string dev = NetworkDevices::device_name(type, NetworkDevices::Name);
+ ip = DeviceProtocol(NetworkDevices::Current);
+
+
+
+ string startmode_descr = startmode_descrs[NetworkDevices::Current["STARTMODE"]:""]:_("Started manually");
+
+ bullets = [
+ sformat(_("Device Name: %1"), dev),
+ startmode_descr,
+ ];
+ if (NetworkDevices::Current["STARTMODE"]:"" != "managed")
+ {
+ if (ip != "NONE")
+ {
+ bullets = bullets + [
+ ip == "DHCP" ? _("IP address assigned using DHCP") :
+ sformat(_("IP address: %1, subnet mask %2")
+ , ip, NetworkDevices::Current["NETMASK"]:""),
+ ];
+ }
+ // build aliases overview
+ if (size(NetworkDevices::Current["_aliases"]:$[])>0 && !NetworkService::IsManaged()){
+ foreach(string key, map desc, (map >) NetworkDevices::Current["_aliases"]:$[], {
+ string parameters = sformat(_("IP address: %1, subnet mask %2"), desc["IPADDR"]:"", desc["NETMASK"]:"");
+ bullets = add(bullets, sformat("%1 (%2)", key, parameters) );
+ });
+ }
+ }
+
+ // build the "Bond Slaves" entry of rich box
+ if (type == "bond")
+ {
+/*
+ string slaves = "";
+ foreach (string key, any value, (map)v, {
+ if ((value != nil) && (regexpmatch(key, "BONDING_SLAVE[0-9]")))
+ slaves = slaves + ((slaves != "") ? ", " : "") + (string)value;
+ });
+ if (slaves != "")
+ bullets = bullets + [_("Bond slaves")+ " : " + slaves];
+*/
+ }
+
+ }
+ string conn = HTML::Bold ( (Items[key, "hwinfo", "link"]:false == true)?"":_("(not connected)") );
+ string mac_dev="";
+ if (hasAnyValue(Items[key, "hwinfo", "mac"]:"")) mac_dev= HTML::Bold ("MAC : ") + Items[key, "hwinfo", "mac"]:"" + "<br>";
+ else if (hasAnyValue(Items[key, "hwinfo", "busid"]:"")) mac_dev= HTML::Bold ("BusID : ") + Items[key, "hwinfo", "busid"]:"" + "<br>";
+ rich = " " + conn + "<br>" + mac_dev;
+ rich = HTML::Bold ( descr ) + rich;
+
+ if (!hasAnyValue(Items[key, "hwinfo", "dev_name"]:""))
+ rich = rich + _("<p>Unable to configure network card because kernel device is not present</p>");
+ else if (hasAnyValue(Items[key, "ifcfg"]:"") ) rich = rich + HTML::List (bullets);
+ else rich = rich + _("<P><UL><LI>The device is not configured</LI><LI>Press <B>Configure to configure</LI></UL></P>");
+
- list unconf_hwinfo=[];
- foreach(integer row, (list<integer>)unconfigured, {
- unconf_hwinfo = add(unconf_hwinfo, Items[row, "hwinfo"]:$[]);
- });
- list