control:
	AddInstallable = ( samba samba_reload )
	
	#
	# Variables for shares
	# You can change the paths here and it will be changed both in
	# the conf file and in the filesystem - But once it is implemented,
	# it is not wise to change it - the data in the shares doesn't get
	# moved!
	# You can change the rights on the shares in the "directories:"
	# section.
	#
	netlogshare	= ( /etc/samba/netlogon )
	commonsharedir	= ( /home/fsadmin/COMMON )
	datashare 	= ( /home/fsadmin/COMMON/documents )
	softshare	= ( /home/fsadmin/COMMON/software )
	adminshare	= ( /home/fsadmin/COMMON/admin )
	profshare	= ( /home/fsadmin/COMMON/samba/userprofiles )
	privpcshare	= ( .pcshare )
	
	#
	# Administrative user and group
	#
	adminuser	= ( fsadmin )
	admingrp	= ( fsadmin )
	
editfiles:
    samba::
	    { /etc/samba/smb-shares-$(site).conf
		#
		# This file contains the shares common to a site.
		# We check if the proper sections are there and add them if they
		# isn't. We don't check the file line for line.
		#
		AutoCreate
		#
		# [netlogon]
		#
		BeginGroupIfNoLineMatching "^\[netlogon\]"
			Append '[netlogon]'
			Append '	comment = Network logon'
			Append '	path = $(netlogshare)'
			Append '	browsable = no'
			Append '	writeable = no'
			Append '	share modes = no'
		EndGroup
		#
		# [userprofiles]
		#
		BeginGroupIfNoLineMatching "^\[userprofiles\]"
			Append '[userprofiles]'
			Append '	path = $(profshare)'
			Append '	force user = %u'
			Append '	browsable = yes'
			Append '	writable = yes'
		EndGroup
		#
		# [homes]
		#
		BeginGroupIfNoLineMatching "^\[homes\]"
			Append '[homes]'
			Append '	path = /home/%u/$(privpcshare)'
			Append '	browsable = no'
			Append '	writable = yes'
		EndGroup
		#
		# [programmer]
		#
		BeginGroupIfNoLineMatching "^\[software\]"
			Append '[software]'
			Append '	path = $(softshare)'
			Append '	comment = F�lles software'
			Append '	browsable = yes'
			Append '	guest ok = no'
			Append '	writeable = yes'
			Append '	create mask = 0660'
			Append '	directory mask = 0770'
			Append '	valid users = @$(admingrp)'
			Append '	force group = +$(admingrp)'
		EndGroup
		#
		# [dokumenter]
		#
		BeginGroupIfNoLineMatching "^\[dokumenter\]"
			Append '[dokumenter]'
			Append '	path = $(datashare)'
			Append '	comment = F�lles drev for delte filer'
			Append '	browsable = yes'
			Append '	guest ok = no'
			Append '	writeable = yes'
			Append '	create mask = 0660'
			Append '	directory mask = 0770'
			Append '	valid users = @$(admingrp)'
			Append '	force group = +$(admingrp)'
		EndGroup
		#
		# [dokumenter]
		#
		BeginGroupIfNoLineMatching "^\[admin\]"
			Append '[admin]'
			Append '	path = $(adminshare)'
			Append '	comment = Dokumentation og adminv�rkt�jer'
			Append '	browsable = yes'
			Append '	guest ok = yes'
			Append '	writeable = no'
			Append '	valid users = @$(admingrp)'
			Append '	force group = +$(admingrp)'
		EndGroup
		DefineClasses "samba_reload"
	    }

    samba_reload::
	    { /etc/samba/smb-shares-$(site).conf
			LocateLineMatching "^; EDITED BY CFENGINE .*"
			ReplaceAll '; EDITED BY CFENGINE .*$' With '; EDITED BY CFENGINE $(date)'
			CatchAbort
			BeginGroupIfNoMatch "^; EDITED BY CFENGINE .*"
			    Append '; EDITED BY CFENGINE $(date)'
			EndGroup
	    }

directories:
    any::
	$(commonsharedir)
		mode=755
		owner=$(adminuser)
		group=$(admingrp)
	$(softshare)
		mode=775
		owner=$(adminuser)
		group=$(admingrp)
	$(datashare)
		mode=775
		owner=$(adminuser)
		group=$(admingrp)
    samba::
	$(netlogshare)
		mode=755
		owner=root
		group=root
	$(profshare)
		mode=775
		owner=$(adminuser)
		group=$(admingrp)
	$(adminshare)
		mode=755
		owner=$(adminuser)
		group=$(admingrp)

processes:
	"smbd"	restart "/etc/init.d/samba restart"

shellcommands:
    samba_reload::
	"/etc/init.d/samba force-reload"