From 4f27b0129850f1bdba21d6eff8f154eb1288ee2a Mon Sep 17 00:00:00 2001 From: Eloy Paris Date: Thu, 5 Feb 2004 17:30:56 +0000 Subject: Updating the Debian packaging stuff in packaging/Debian/. This hadn't been updated since the 3.0.0 release so it was broken for 3.0.1 and later. It's nice that now the Makefile supports a $DESTDIR for "make install" :-) (This used to be commit 40c6bf1498785850789fca3d28ea4e7ceaa296ce) --- packaging/Debian/debian/samba-common.dhcp | 51 ++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 14 deletions(-) (limited to 'packaging/Debian/debian/samba-common.dhcp') diff --git a/packaging/Debian/debian/samba-common.dhcp b/packaging/Debian/debian/samba-common.dhcp index 3b2fa4ba19..3b5a05ff57 100644 --- a/packaging/Debian/debian/samba-common.dhcp +++ b/packaging/Debian/debian/samba-common.dhcp @@ -1,5 +1,7 @@ #!/bin/sh +SAMBA_DHCP_CONF=/etc/samba/dhcp.conf + netbios_setup() { # No need to continue if we're called with an unsupported option @@ -10,24 +12,45 @@ netbios_setup() { return fi + # Nor should we continue if no settings have changed + if [ "$new_netbios_name_servers" = "$old_netbios_name_servers" ] \ + && [ "$new_netbios_scope" = "$old_netbios_scope" ] + then + return + fi + + # reparse our own file + local other_servers=`sed -n -e"s/[[:space:]]$interface:[^[:space:]]*//g; \ + s/^[[:space:]]*wins server[[:space:]]*=[[:space:]]*//pi" \ + $SAMBA_DHCP_CONF` + umask 022 - if [ -z "$new_netbios_name_servers" ] || [ "$reason" = FAIL ] \ - || [ "$reason" = EXPIRE ] + local serverlist="$other_servers" + for server in $new_netbios_name_servers + do + serverlist="$serverlist $interface:$server" + done + + echo -n > $SAMBA_DHCP_CONF + + # If we're updating on failure/expire, AND there are no WINS + # servers for other interfaces, leave the file empty. + if [ -z "$other_servers" ] + then + if [ "$reason" = FAIL ] || [ "$reason" = EXPIRE ] + then + return + fi + fi + + if [ -n "$serverlist" ] then - # FIXME: add sed magic to only remove wins servers - # associated with this interface - echo -n > /etc/samba/dhcp.conf - elif [ "$new_netbios_name_servers" != "$old_netbios_name_servers" ] + echo " wins server =$serverlist" >> $SAMBA_DHCP_CONF + fi + if [ -n "$new_netbios_scope" ] then - local serverlist="" - for server in $new_netbios_name_servers - do - serverlist="$serverlist $interface:$server" - done - # FIXME: add sed magic to only update wins servers - # associated with this interface - echo " wins server =$serverlist" > /etc/samba/dhcp.conf + echo " netbios scope = $new_netbios_scope" >> $SAMBA_DHCP_CONF fi } -- cgit