The branch, master has been updated via 7504b03... s4:WHATSNEW4.txt - Add also here a comment about the "upgrade_from_s3" script via 3d57da8... s4:howto.txt - add a notice about the upgrade possibilities and fix line spaces via fd31328... s4:upgrade script - rename it to "upgrade_from_s3" and do some rework from d6c60f8... s3-nsstest: drastically shrink size and dependencies of nsstest binary.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 7504b03b541026c84a4f454b7572a3280296a8d9 Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Fri Nov 27 11:07:11 2009 +0100 s4:WHATSNEW4.txt - Add also here a comment about the "upgrade_from_s3" script commit 3d57da80e574f5f47effb41fd45361eec22f119e Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Fri Nov 27 11:02:20 2009 +0100 s4:howto.txt - add a notice about the upgrade possibilities and fix line spaces commit fd313282a24e58570c2fa5b3fdfd0b84d0053363 Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Fri Nov 27 10:50:03 2009 +0100 s4:upgrade script - rename it to "upgrade_from_s3" and do some rework - Give a better name to the script - Move it to the location where also "upgradeprovision" resides - Fix up trailing whitespaces and tabs ----------------------------------------------------------------------- Summary of changes: WHATSNEW4.txt | 11 ++++-- howto4.txt | 18 +++++++--- .../upgrade => scripting/bin/upgrade_from_s3} | 37 +++++++++++--------- 3 files changed, 41 insertions(+), 25 deletions(-) rename source4/{setup/upgrade => scripting/bin/upgrade_from_s3} (79%) Changeset truncated at 500 lines: diff --git a/WHATSNEW4.txt b/WHATSNEW4.txt index e0ec6f1..9718bf4 100644 --- a/WHATSNEW4.txt +++ b/WHATSNEW4.txt @@ -69,8 +69,8 @@ In the time since Samba4 alpha8 was released in June 2009, Samba has continued to evolve, but you may particularly notice these areas (in no particular order): - Samba4 now includes the full set of user interface strings (display Specifiers) required to - have the Microsoft Management Console operate + Samba4 now includes the full set of user interface strings (display Specifiers) + required to have the Microsoft Management Console operate LDB (the core Samba4 database library) has again been reworked for better performance @@ -115,7 +115,11 @@ KNOWN ISSUES - Users upgrading existing databases to Samba4 should carefully consult upgrading-samba4.txt. We have made a number of changes in - this release that should make it easier to upgrade in future. + this release that should make it easier to upgrade in future. + Btw: there exists also a script under the "scripting/bin" directory of the + source distribution called "upgrade_from_s3" which should allow a step-up + from Samba3 to Samba4. It's not included yet in the binary distributions + since it's completely experimental! - ACL are not set by default on shares created by the provision. Work is underway on this subject and it should be fixed in Alpha10. @@ -128,6 +132,7 @@ in root of the tarball. DEVELOPMENT and FEEDBACK ======================== + Bugs can be filed at https://bugzilla.samba.org/ but please be aware that many features are simply not expected to work at this stage. diff --git a/howto4.txt b/howto4.txt index 3ae5af1..50acf23 100644 --- a/howto4.txt +++ b/howto4.txt @@ -70,12 +70,14 @@ configure above to change this. # make install - Step 4: provision Samba4 ------------------------ -The "provision" step sets up a basic user database. -Must be run as a user with permission to write to the install directory. +The "provision" step sets up a basic user database. Be warned that this +removes all preexisting database data (if any)! + +It must be run as a user with permission to write to the install directory +(typically "root"). :: @@ -86,6 +88,14 @@ Must be run as a user with permission to write to the install directory. 'YOURDOM' is the NT4 style domain name. 'YOUR.REALM' is your kerberos realm, which is typically your DNS domain name. +If you provisioned a more recent Samba4 system already you should be able to +use the procedures shown in "upgrading-samba4.txt" to upgrade it and keep all +data. + +When you are using Samba3 at the moment you could try the experimental script +"upgrade_from_s3" under the "scripting/bin" directory of the source +distribution (it isn't included in binary distributions yet). + Step 5: Create a simple smb.conf -------------------------------- @@ -97,7 +107,6 @@ example:: path = /data/test read only = no - Step 6: starting Samba4 ----------------------- @@ -117,7 +126,6 @@ they need to be stopped before starting samba from Samba 4. Make sure you put the bin and sbin directories from your new install in your $PATH. Make sure you run the right version! - Step 7: testing Samba4 ---------------------- diff --git a/source4/setup/upgrade b/source4/scripting/bin/upgrade_from_s3 similarity index 79% rename from source4/setup/upgrade rename to source4/scripting/bin/upgrade_from_s3 index 3d13169..03f4415 100755 --- a/source4/setup/upgrade +++ b/source4/scripting/bin/upgrade_from_s3 @@ -7,12 +7,12 @@ # 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/>. @@ -27,21 +27,24 @@ import samba import samba.getopt as options from samba import param from samba.auth import system_session +from samba.provision import find_setup_dir +from samba.upgrade import upgrade_provision +from samba.samba3 import Samba3 -parser = optparse.OptionParser("upgrade [options] <libdir> <smbconf>") +parser = optparse.OptionParser("upgrade_from_s3 [options] <libdir> <smbconf>") sambaopts = options.SambaOptions(parser) parser.add_option_group(sambaopts) parser.add_option_group(options.VersionOptions(parser)) credopts = options.CredentialsOptions(parser) parser.add_option_group(credopts) -parser.add_option("--setupdir", type="string", metavar="DIR", - help="directory with setup files") +parser.add_option("--setupdir", type="string", metavar="DIR", + help="directory with setup files") parser.add_option("--realm", type="string", metavar="REALM", help="set realm") parser.add_option("--quiet", help="Be quiet") -parser.add_option("--blank", - help="do not add users or groups, just the structure") -parser.add_option("--targetdir", type="string", metavar="DIR", - help="Set target directory") +parser.add_option("--blank", + help="do not add users or groups, just the structure") +parser.add_option("--targetdir", type="string", metavar="DIR", + help="Set target directory") opts, args = parser.parse_args() @@ -53,31 +56,31 @@ def message(text): if len(args) < 1: parser.print_usage() sys.exit(1) -from samba.samba3 import Samba3 + message("Reading Samba3 databases and smb.conf\n") + libdir = args[0] if not os.path.isdir(libdir): print "error: %s is not a directory" sys.exit(1) + if len(args) > 1: smbconf = args[1] 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 +samba3 = Samba3(libdir, smbconf) message("Provisioning\n") setup_dir = opts.setupdir if setup_dir is None: - setup_dir = find_setup_dir() + setup_dir = find_setup_dir() lp = sambaopts.get_loadparm() smbconf = lp.configfile creds = credopts.get_credentials(lp) -upgrade_provision(samba3, setup_dir, message, credentials=creds, - session_info=system_session(), smbconf=smbconf, - targetdir=opts.targetdir) +upgrade_provision(samba3, setup_dir, message, credentials=creds, + session_info=system_session(), smbconf=smbconf, + targetdir=opts.targetdir) -- Samba Shared Repository