slackbuilds_ponce/network/avahi/fixup_avahi-dnsconfd.action.patch

70 lines
2.6 KiB
Diff
Raw Normal View History

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
+