summaryrefslogtreecommitdiffstats
path: root/network/avahi/patches/fixup_avahi-dnsconfd.action.patch
blob: 88f9b5f807701192c213aa51c802ae87d5c292d1 (plain)
avahi-dnsconfd.action looks for /sbin/netconfig, and if found, attempts to 
use it to modify /etc/resolv.conf.  While *our* netconfig and SuSE's
netconfig started out the same, they're quite different these days, and
thus the result is /etc/HOSTNAME getting set to some nonsense such as:
  INTERFACE='eth0'.DNSSERVERS='192.168.13.1'
This was quite some fun tracking down, by the way...  :-)  --rworkman


diff -Nur avahi-0.6.30.orig/avahi-dnsconfd/avahi-dnsconfd.action avahi-0.6.30/avahi-dnsconfd/avahi-dnsconfd.action
--- avahi-0.6.30.orig/avahi-dnsconfd/avahi-dnsconfd.action	2010-06-28 22:30:34.000000000 -0500
+++ avahi-0.6.30/avahi-dnsconfd/avahi-dnsconfd.action	2012-01-21 16:18:24.337986754 -0600
@@ -33,48 +33,16 @@
 #   $AVAHI_INTERFACE_DNS_SERVERS   A whitespace seperated list of DNS servers on $AVAHI_INTERFACE
 #   $AVAHI_DNS_SERVERS             The complete list of all DNS servers found on all interfaces
 
-if [ -x /sbin/netconfig ]; then
-    # SUSE method on 11.1+
-    if [ -n "$AVAHI_INTERFACE_DNS_SERVERS" ]; then
-	/sbin/netconfig modify -s avahi -i "$AVAHI_INTERFACE" <<-EOF
-	INTERFACE='$AVAHI_INTERFACE'
-	DNSSERVERS='$AVAHI_INTERFACE_DNS_SERVERS'
-	EOF
-    else
-	/sbin/netconfig remove -s avahi -i "$AVAHI_INTERFACE"
-    fi
-elif [ -x /sbin/modify_resolvconf ] ; then
-    # method for SUSE <= 11.0
-    if [ -n "$AVAHI_DNS_SERVERS" ]; then
-	/sbin/modify_resolvconf modify -s avahi -t - -p avahi-dnsconfd -n "$AVAHI_DNS_SERVERS" <<-EOF
-	if you don't like avahi to update your Nameservers
-	disable the avahi-dnsconfd init script
-	EOF
-    else
-	/sbin/modify_resolvconf restore -s avahi
-    fi
-elif [ -x /sbin/resolvconf ] ; then
 
-    # We have Debian's resolvconf tool
-
-    if [ "x$AVAHI_INTERFACE_DNS_SERVERS" = "x" ] ; then
-        /sbin/resolvconf -d "$AVAHI_INTERFACE.avahi"
-    else
-        for n in $AVAHI_INTERFACE_DNS_SERVERS ; do 
-            echo "nameserver $n"
-        done | /sbin/resolvconf -a "$AVAHI_INTERFACE.avahi"
-    fi
-else
-
-    # No resolvconf tool available
-
-    if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then
+if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then
         test -f /etc/resolv.conf.avahi && mv /etc/resolv.conf.avahi /etc/resolv.conf
-    else
+else
         test -f /etc/resolv.conf.avahi || mv /etc/resolv.conf /etc/resolv.conf.avahi
 
-        for n in $AVAHI_DNS_SERVERS ; do 
-            echo "nameserver $n"
-        done > /etc/resolv.conf
-    fi
+        grep -v ^nameserver /etc/resolv.conf.avahi > /etc/resolv.conf
+
+        for n in $AVAHI_DNS_SERVERS ; do
+                echo "nameserver $n"
+        done >> /etc/resolv.conf
 fi
+