[csw-devel] SF.net SVN: gar:[18653] csw/mgar/pkg/git/trunk

bdwalton at users.sourceforge.net bdwalton at users.sourceforge.net
Fri Jul 6 02:34:27 CEST 2012


Revision: 18653
          http://gar.svn.sourceforge.net/gar/?rev=18653&view=rev
Author:   bdwalton
Date:     2012-07-06 00:34:27 +0000 (Fri, 06 Jul 2012)
Log Message:
-----------
git/trunk: backport a patch from upstream to work around an acl gotcha in t1304

Modified Paths:
--------------
    csw/mgar/pkg/git/trunk/Makefile

Added Paths:
-----------
    csw/mgar/pkg/git/trunk/files/0010-t1304-improve-setfacl-prerequisite-setup.patch

Modified: csw/mgar/pkg/git/trunk/Makefile
===================================================================
--- csw/mgar/pkg/git/trunk/Makefile	2012-07-06 00:04:33 UTC (rev 18652)
+++ csw/mgar/pkg/git/trunk/Makefile	2012-07-06 00:34:27 UTC (rev 18653)
@@ -119,6 +119,7 @@
 PATCHFILES += 0006-Patch-out-a-few-usr-share-references.patch
 PATCHFILES += 0007-on-solaris-we-need-to-use-lintl-to-allow-the-new-i18.patch
 PATCHFILES += 0009-Makefile-Set-EXTRA_CPPFLAGS-during-the-compilation-o.patch
+PATCHFILES += 0010-t1304-improve-setfacl-prerequisite-setup.patch
 
 fdirs = $(bindir_install) $(mandir) $(libexecdir_install)
 define _git_files

Added: csw/mgar/pkg/git/trunk/files/0010-t1304-improve-setfacl-prerequisite-setup.patch
===================================================================
--- csw/mgar/pkg/git/trunk/files/0010-t1304-improve-setfacl-prerequisite-setup.patch	                        (rev 0)
+++ csw/mgar/pkg/git/trunk/files/0010-t1304-improve-setfacl-prerequisite-setup.patch	2012-07-06 00:34:27 UTC (rev 18653)
@@ -0,0 +1,66 @@
+From a14ad109115b29483b6e37d18159d850e2752c72 Mon Sep 17 00:00:00 2001
+From: Jeff King <peff at peff.net>
+Date: Wed, 6 Jun 2012 09:28:24 -0400
+Subject: [PATCH] t1304: improve setfacl prerequisite setup
+
+t1304 first runs setfacl as an experiment to see whether the
+filesystem supports ACLs, and skips the remaining tests if
+it does not. However, our setfacl run did not exercise the
+ACLs very well, and some filesystems may support our initial
+setfacl, but not the rest of the test.
+
+In particular, some versions of ecryptfs will erroneously
+apply the umask on top of an inherited directory ACL,
+causing our tests to fail. Let's be more careful and make
+sure both that we can read back the user ACL we set, and
+that the inherited ACL is propagated correctly. The latter
+catches the ecryptfs bug, but may also catch other bugs
+(e.g., an implementation which does not handle inherited
+ACLs at all).
+
+Since we're making the setup more complex, let's move it
+into its own test. This will hide the output for us unless
+the user wants to run "-v" to see it (and we don't need to
+bother printing anything about setfacl failing; the
+remaining tests will properly print "skip" due to the
+missing prerequisite).
+
+Signed-off-by: Jeff King <peff at peff.net>
+Signed-off-by: Junio C Hamano <gitster at pobox.com>
+---
+ t/t1304-default-acl.sh |   19 +++++++++----------
+ 1 file changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/t/t1304-default-acl.sh b/t/t1304-default-acl.sh
+index 2b962cf..79045ab 100755
+--- a/t/t1304-default-acl.sh
++++ b/t/t1304-default-acl.sh
+@@ -14,16 +14,15 @@ umask 077
+ # We need an arbitrary other user give permission to using ACLs. root
+ # is a good candidate: exists on all unices, and it has permission
+ # anyway, so we don't create a security hole running the testsuite.
+-
+-setfacl_out="$(setfacl -m u:root:rwx . 2>&1)"
+-setfacl_ret=$?
+-
+-if test $setfacl_ret != 0
+-then
+-	say "Unable to use setfacl (output: '$setfacl_out'; return code: '$setfacl_ret')"
+-else
+-	test_set_prereq SETFACL
+-fi
++test_expect_success 'checking for a working acl setup' '
++	if setfacl -m d:m:rwx -m u:root:rwx . &&
++	   getfacl . | grep user:root:rwx &&
++	   touch should-have-readable-acl &&
++	   getfacl should-have-readable-acl | egrep "mask::?rw-"
++	then
++		test_set_prereq SETFACL
++	fi
++'
+ 
+ if test -z "$LOGNAME"
+ then
+-- 
+1.7.9.5
+

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list