From 2cb57908743b510cef29d1b2687e4b42dd58c9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=BDugec?= Date: Fri, 20 Nov 2009 12:19:52 +0000 Subject: [PATCH] fixed problem with not matching udev rule (bnc#551310) svn path=/trunk/network/; revision=59662 Conflicts: VERSION package/yast2-network.changes src/modules/LanItems.ycp --- package/yast2-network.changes | 1 + src/modules/LanItems.ycp | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/package/yast2-network.changes b/package/yast2-network.changes index 6edd159d7..ab85a73d3 100644 --- a/package/yast2-network.changes +++ b/package/yast2-network.changes @@ -2,6 +2,7 @@ Thu Nov 6 10:48:55 UTC 2014 - mfilka@suse.com - adopted to new device type detection API provided by yast2 +- fixed problem with not matching udev rule (bnc#551310) - 2.17.199.1 ------------------------------------------------------------------- diff --git a/src/modules/LanItems.ycp b/src/modules/LanItems.ycp index 39280c5ff..a56a44fb4 100644 --- a/src/modules/LanItems.ycp +++ b/src/modules/LanItems.ycp @@ -289,9 +289,27 @@ boolean ReadUdevDriverRules(){ return true; } +list getUdevFallback(){ + list udev_rules = getCurrentItem()["udev", "net"]:[]; + if (size(udev_rules)==0){ + udev_rules = [ + "SUBSYSTEM==\"net\"", + "ACTION==\"add\"", + "DRIVERS==\"?*\"", + sformat("ATTR{address}==\"%1\"", getCurrentItem()["hwinfo", "mac"]:""), + "ATTR{type}==\"1\"", + "KERNEL==\"eth*\"", + sformat("NAME=\"%1\"", getCurrentItem()["ifcfg"]:"") + ]; + y2error("No Udev rules found, create new as fallback: %1", udev_rules); + } + return udev_rules; +} + global string GetItemUdev(string key){ string value=""; - foreach(string row, Items[current, "udev", "net"]:[], { + + foreach(string row, getUdevFallback(), { if(issubstring(row, key)){ list items = filter(string s, splitstring(row, "="), { return (size(s)>0); });