mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
provision: Make sure target directory is created early.
This is necessary when using the target directory to store temporary files. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Tue Feb 7 02:45:37 CET 2012 on sn-devel-104
This commit is contained in:
parent
8dca1a0222
commit
f2903e0c4f
@ -873,6 +873,10 @@ class cmd_domain_samba3upgrade(Command):
|
||||
if sambaopts.realm:
|
||||
s3conf.set("realm", sambaopts.realm)
|
||||
|
||||
if targetdir is not None:
|
||||
if not os.path.isdir(targetdir):
|
||||
os.mkdir(targetdir)
|
||||
|
||||
eadb = True
|
||||
if use_xattrs == "yes":
|
||||
eadb = False
|
||||
@ -882,14 +886,16 @@ class cmd_domain_samba3upgrade(Command):
|
||||
else:
|
||||
tmpfile = tempfile.NamedTemporaryFile(dir=os.path.abspath(os.path.dirname(lp.get("private dir"))))
|
||||
try:
|
||||
samba.ntacls.setntacl(lp, tmpfile.name,
|
||||
"O:S-1-5-32G:S-1-5-32", "S-1-5-32", "native")
|
||||
eadb = False
|
||||
except Exception:
|
||||
# FIXME: Don't catch all exceptions here
|
||||
logger.info("You are not root or your system do not support xattr, using tdb backend for attributes. "
|
||||
"If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.")
|
||||
tmpfile.close()
|
||||
try:
|
||||
samba.ntacls.setntacl(lp, tmpfile.name,
|
||||
"O:S-1-5-32G:S-1-5-32", "S-1-5-32", "native")
|
||||
eadb = False
|
||||
except Exception:
|
||||
# FIXME: Don't catch all exceptions here
|
||||
logger.info("You are not root or your system do not support xattr, using tdb backend for attributes. "
|
||||
"If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.")
|
||||
finally:
|
||||
tmpfile.close()
|
||||
|
||||
# Set correct default values from dbdir or testparm
|
||||
paths = {}
|
||||
|
@ -202,6 +202,8 @@ def get_paths(param, targetdir=None, smbconf=None):
|
||||
:param smbconf: Path to the smb.conf file
|
||||
:return: A list with the path of important provision objects"""
|
||||
if targetdir is not None:
|
||||
if not os.path.exists(targetdir):
|
||||
os.mkdir(targetdir)
|
||||
etcdir = os.path.join(targetdir, "etc")
|
||||
if not os.path.exists(etcdir):
|
||||
os.makedirs(etcdir)
|
||||
|
@ -218,6 +218,10 @@ if opts.blank:
|
||||
elif opts.partitions_only:
|
||||
samdb_fill = FILL_DRS
|
||||
|
||||
if opts.targetdir is not None:
|
||||
if not os.path.isdir(opts.targetdir):
|
||||
os.mkdir(opts.targetdir)
|
||||
|
||||
eadb = True
|
||||
if opts.use_xattrs == "yes":
|
||||
eadb = False
|
||||
@ -227,13 +231,15 @@ elif opts.use_xattrs == "auto" and not lp.get("posix:eadb"):
|
||||
else:
|
||||
file = tempfile.NamedTemporaryFile(dir=os.path.abspath(os.path.dirname(lp.get("private dir"))))
|
||||
try:
|
||||
samba.ntacls.setntacl(lp, file.name,
|
||||
"O:S-1-5-32G:S-1-5-32", "S-1-5-32", "native")
|
||||
eadb = False
|
||||
except Exception:
|
||||
logger.info("You are not root or your system do not support xattr, using tdb backend for attributes. "
|
||||
"If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.")
|
||||
file.close()
|
||||
try:
|
||||
samba.ntacls.setntacl(lp, file.name,
|
||||
"O:S-1-5-32G:S-1-5-32", "S-1-5-32", "native")
|
||||
eadb = False
|
||||
except Exception:
|
||||
logger.info("You are not root or your system do not support xattr, using tdb backend for attributes. "
|
||||
"If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.")
|
||||
finally:
|
||||
file.close()
|
||||
|
||||
session = system_session()
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user