]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
provision: Only give the "no posix ACLs" exception if we could not set the SD
authorAndrew Bartlett <abartlet@samba.org>
Sun, 9 Sep 2012 07:08:49 +0000 (17:08 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 11 Sep 2012 14:25:36 +0000 (16:25 +0200)
This will allow us to run make test on all platforms again, as we emululate the posix ACLs using the fake_acls
module.  By then testing smbd.have_posix_acls() we gain a more specific error message.

Andrew Bartlett

source4/scripting/python/samba/provision/__init__.py

index 12904a720a771f6feda5f33b2c727433fcbb0894..862a0c77901fb7bb5c5b99ef5c17650d03fbc3c0 100644 (file)
@@ -1906,17 +1906,17 @@ def provision(logger, session_info, credentials, smbconf=None,
         if paths.sysvol is None:
             raise MissingShareError("sysvol", paths.smbconf)
 
-        if not smbd.have_posix_acls():
-            # This clue is only strictly correct for RPM and
-            # Debian-like Linux systems, but hopefully other users
-            # will get enough clue from it.
-            raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires.  Try installing libacl1-dev or libacl-devel, then re-run configure and make.")
-            
         file = tempfile.NamedTemporaryFile(dir=os.path.abspath(paths.sysvol))
         try:
             try:
                 smbd.set_simple_acl(file.name, 0755, wheel_gid)
             except Exception:
+                if not smbd.have_posix_acls():
+                    # This clue is only strictly correct for RPM and
+                    # Debian-like Linux systems, but hopefully other users
+                    # will get enough clue from it.
+                    raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires.  Try installing libacl1-dev or libacl-devel, then re-run configure and make.")
+            
                 raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires.  Try the mounting the filesystem with the 'acl' option.")
             try:
                 smbd.chown(file.name, root_uid, wheel_gid)