1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

Use convenience function for finding setup_dir based on location of

python module.
This commit is contained in:
Jelmer Vernooij
2009-02-11 18:44:57 +01:00
parent ddb4db7c65
commit 53b59aa2cf
4 changed files with 23 additions and 5 deletions

View File

@ -45,6 +45,23 @@ from ldb import SCOPE_SUBTREE, SCOPE_ONELEVEL, SCOPE_BASE, LdbError, \
__docformat__ = "restructuredText"
def find_setup_dir():
"""Find the setup directory used by provision."""
dirname = os.path.dirname(__file__)
if "/site-packages/" in dirname:
prefix = dirname[:dirname.index("/site-packages/")]
for suffix in ["share/setup", "share/samba/setup", "setup"]:
ret = os.path.join(prefix, suffix)
if os.path.isdir(ret):
return ret
# In source tree
ret = os.path.join(dirname, "../../../setup")
if os.path.isdir(ret):
return ret
raise Exception("Unable to find setup directory.")
DEFAULTSITE = "Default-First-Site-Name"
class InvalidNetbiosName(Exception):

View File

@ -35,7 +35,7 @@ from samba.credentials import DONT_USE_KERBEROS
from samba.auth import system_session
import samba.getopt as options
from samba import param
from samba.provision import provision, FILL_FULL, FILL_NT4SYNC, FILL_DRS
from samba.provision import provision, FILL_FULL, FILL_NT4SYNC, FILL_DRS, find_setup_dir
# how do we make this case insensitive??
@ -168,7 +168,7 @@ creds.set_kerberos_state(DONT_USE_KERBEROS)
setup_dir = opts.setupdir
if setup_dir is None:
setup_dir = os.path.dirname(__file__)
setup_dir = find_setup_dir()
samdb_fill = FILL_FULL
if opts.blank:

View File

@ -34,7 +34,7 @@ from samba import param
from samba.auth import system_session
import samba.getopt as options
from samba.provision import provision_backend
from samba.provision import provision_backend, find_setup_dir
parser = optparse.OptionParser("provision [options]")
sambaopts = options.SambaOptions(parser)
@ -94,7 +94,7 @@ else:
setup_dir = opts.setupdir
if setup_dir is None:
setup_dir = os.path.dirname(__file__)
setup_dir = find_setup_dir()
provision_backend(setup_dir=setup_dir, message=message, smbconf=smbconf, targetdir=opts.targetdir,
realm=opts.realm, domain=opts.domain,

View File

@ -65,13 +65,14 @@ else:
smbconf = os.path.join(libdir, "smb.conf")
samba3 = Samba3(libdir, smbconf)
from samba.provision import find_setup_dir
from samba.upgrade import upgrade_provision
message("Provisioning\n")
setup_dir = opts.setupdir
if setup_dir is None:
setup_dir = os.path.dirname(__file__)
setup_dir = find_setup_dir()
lp = sambaopts.get_loadparm()
smbconf = lp.configfile