X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=sbin%2Fnetcardconfig;h=e0b23d3b43f9347d56ef988eb47a86cd0ca2f7bf;hb=refs%2Ftags%2F0.1.13;hp=0107ab1532a299e086085846b489e43e6b08e794;hpb=f7178009521c6857ed4a756bd085868750d9fc5c;p=grml-network.git diff --git a/sbin/netcardconfig b/sbin/netcardconfig index 0107ab1..e0b23d3 100755 --- a/sbin/netcardconfig +++ b/sbin/netcardconfig @@ -4,7 +4,7 @@ # Authors: Michael Prokop , Marcel Wichern 2006, Klaus Knopper 2002, Niall Walsh + Stefan Lippers-Hollmann 2004-2007 # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Sam Jän 27 19:28:54 CET 2007 [mika] +# Latest change: Mit Mai 30 10:26:39 CEST 2007 [mika] ################################################################################ # Changes have been merged from Kanotix's and Sidux's netcardconfig: # http://kanotix.com/files/debian/pool/main/n/netcardconfig-kanotix/ @@ -82,6 +82,27 @@ writeiwline() { #echo "DEBUG: for interfaces $IWOURLINE" } +generate_udev_entry() { + interface='' + echo "# Auto generated script from netcardconfig on $(date) +# Executing this script generates an entry in /etc/udev/rules.d/z25_persistent-net.rules +# for you, please check z25_persistent-net.rules for existing entries before +# running this script (once more)." > /etc/udev/scripts/netcardconfig + for interface in `ifconfig | awk '/^[a-z]/ &&!/^lo/{ print $1} '` ; do + echo -n "INTERFACE=$interface /lib/udev/write_net_rules " >> /etc/udev/scripts/netcardconfig && \ + udevinfo -a -p /sys/class/net/$interface | awk -F'==' '/address/ {print $2}' >> /etc/udev/scripts/netcardconfig + done + # send errors to /dev/null as well because the sed line inside the /lib/udev/write_net_rules + # script outputs a sed warning which might unsettle users + chmod +x /etc/udev/scripts/netcardconfig && /etc/udev/scripts/netcardconfig 1>/dev/null 2>&1 +} + +disable_config_dhcp() { + if grep -q CONFIG_DHCP /etc/grml/autoconfig ; then + sed -i "s|^CONFIG_DHCP.*|CONFIG_DHCP='no'|" /etc/grml/autoconfig + fi +} + device2props() { PARTCOUNT=0 isauto=0 @@ -540,7 +561,15 @@ while (true); do if ! ifup $DV; then $DIALOG --yesno "$MESSAGE14" 15 50 || IFACEDONE="DONE" else - $DIALOG --yesno "$MESSAGE15" 15 50 && addauto || remauto + if $DIALOG --yesno "$MESSAGE15" 12 50 ; then + addauto + # get persistent interface names across reboots + generate_udev_entry + # make sure we don't run the dhcp stuff when using /etc/network/interfaces + disable_config_dhcp + else + remauto + fi IFACEDONE="DONE" fi done