s4-s3-upgrade Remove upgrade_from_s3 script, use samba-tool domain samba3upgrade
[ira/wip.git] / source4 / setup / upgrade_from_s3
diff --git a/source4/setup/upgrade_from_s3 b/source4/setup/upgrade_from_s3
deleted file mode 100755 (executable)
index 6aaf99d..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/usr/bin/env python
-#
-# Upgrade from Samba3
-# Copyright Jelmer Vernooij 2005-2007
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import logging
-import optparse
-import os, sys
-import tempfile
-
-# Find right directory when running from source tree
-sys.path.insert(0, "bin/python")
-
-import samba
-import samba.getopt as options
-from samba.auth import system_session
-from samba.upgrade import upgrade_from_samba3
-from samba.samba3 import Samba3
-from samba.samba3 import param as s3param
-from samba.provision import ProvisioningError
-
-def get_testparm_var(testparm, varname):
-    cmd = "%s -s -l --parameter-name='%s' 2>/dev/null" % (testparm, varname)
-    output = os.popen(cmd, 'r').readline()
-    return output.strip()
-
-cmd_help = """upgrade_from_s3 [options] <configuration_file> <targetdir>
-
-Input arguments are:
-  <configuration_file> - path to existing smb.conf
-  <targetdir>          - directory in which samba4 database will be created
-
-In addition, specify either samba3 database directory (with --libdir) or
-samba3 testparm utility (with --testparm).  """
-
-parser = optparse.OptionParser(cmd_help)
-parser.add_option_group(options.VersionOptions(parser))
-parser.add_option("--quiet", help="Be quiet")
-parser.add_option("--libdir", type="string", metavar="DIR",
-                  help="samba3 database directory")
-parser.add_option("--testparm", type="string", metavar="PATH",
-                  help="samba3 testparm utility")
-parser.add_option("--use-xattrs", type="choice", choices=["yes","no","auto"], help="Define if we should use the native fs capabilities or a tdb file for storing attributes likes ntacl, auto tries to make an inteligent guess based on the user rights and system capabilities", default="auto")
-
-opts, args = parser.parse_args()
-
-if len(args) < 2:
-    parser.print_usage()
-    sys.exit(1)
-
-smbconf = args[0]
-if not os.path.exists(smbconf):
-    print("error: %s does not exist" % smbconf)
-    sys.exit(1)
-
-targetdir = args[1]
-if not os.path.isdir(targetdir):
-    print("error: %s is not a directory" % targetdir)
-    sys.exit(1)
-
-libdir = opts.libdir
-testparm = opts.testparm
-
-if not libdir and not testparm:
-    print("error: please specify either libdir or testparm")
-    sys.exit(1)
-
-if libdir and testparm:
-    print("warning: both libdir and testparm specified, libdir will be ignored.")
-    libdir = None
-
-logger = logging.getLogger("upgrade")
-logger.addHandler(logging.StreamHandler(sys.stdout))
-if opts.quiet:
-       logger.setLevel(logging.WARNING)
-else:
-       logger.setLevel(logging.INFO)
-
-s3conf = s3param.get_context()
-
-eadb = True
-if opts.use_xattrs == "yes":
-       eadb = False
-elif opts.use_xattrs == "auto" and not s3conf.get("posix:eadb"):
-       file = tempfile.NamedTemporaryFile()
-       try:
-               samba.ntacls.setntacl(lp, file.name,
-                       "O:S-1-5-32G:S-1-5-32", "S-1-5-32", "native")
-               eadb = False
-       except:
-               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()
-
-# Set correct default values from libdir or testparm
-paths = {}
-if libdir:
-    paths["state directory"] = libdir
-    paths["private dir"] = libdir
-    paths["lock directory"] = libdir
-else:
-    paths["state directory"] = get_testparm_var(testparm, "state directory")
-    paths["private dir"] = get_testparm_var(testparm, "private dir")
-    paths["lock directory"] = get_testparm_var(testparm, "lock directory")
-
-for p in paths:
-    s3conf.set(p, paths[p])
-
-# load smb.conf parameters
-logger.info("Reading smb.conf")
-s3conf.load(smbconf)
-samba3 = Samba3(smbconf, s3conf)
-
-logger.info("Provisioning")
-try:
-    upgrade_from_samba3(samba3, logger, targetdir, session_info=system_session(), useeadb=eadb)
-except ProvisioningError, e:
-       print str(e)
-       exit(1)