summaryrefslogtreecommitdiff
path: root/packaging/Debian/debian/samba-common.dhcp
diff options
context:
space:
mode:
authorEloy Paris <peloy@samba.org>2004-02-05 17:30:56 +0000
committerEloy Paris <peloy@samba.org>2004-02-05 17:30:56 +0000
commit4f27b0129850f1bdba21d6eff8f154eb1288ee2a (patch)
treef759155f8c1173993566fba9edc7163ee23f6256 /packaging/Debian/debian/samba-common.dhcp
parentda371e74bb3299fbf951a6b1f373daff7a2c6018 (diff)
downloadsamba-4f27b0129850f1bdba21d6eff8f154eb1288ee2a.tar.gz
samba-4f27b0129850f1bdba21d6eff8f154eb1288ee2a.tar.bz2
samba-4f27b0129850f1bdba21d6eff8f154eb1288ee2a.zip
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)
Diffstat (limited to 'packaging/Debian/debian/samba-common.dhcp')
-rw-r--r--packaging/Debian/debian/samba-common.dhcp51
1 files changed, 37 insertions, 14 deletions
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
}