components/vim/patches/zfs-acl.patch
changeset 820 60113d90e478
parent 819 f1e5d0cd3bfe
child 821 5450c885c205
--- a/components/vim/patches/zfs-acl.patch	Thu May 17 12:20:33 2012 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
---- src/configure.in	Tue Jan 10 16:13:35 2012
-+++ src/configure.in	Fri Jan 13 14:10:21 2012
-@@ -3106,6 +3106,7 @@
- 
- dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
- dnl when -lacl works, also try to use -lattr (required for Debian).
-+dnl On Solaris, use the acl_get/set functions in libsec, if present.
- AC_MSG_CHECKING(--disable-acl argument)
- AC_ARG_ENABLE(acl,
- 	[  --disable-acl           Don't check for ACL support.],
-@@ -3128,7 +3129,8 @@
- 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
- 	AC_MSG_RESULT(no))
- 
--AC_MSG_CHECKING(for Solaris ACL support)
-+AC_CHECK_LIB(sec, acl_get, [LIBS="$LIBS -lsec"; AC_DEFINE(HAVE_SOLARIS_ZFS_ACL)],
-+AC_MSG_CHECKING(for Solaris ACL support)
- AC_TRY_LINK([
- #ifdef HAVE_SYS_ACL_H
- # include <sys/acl.h>
-@@ -3135,7 +3137,7 @@
- #endif], [acl("foo", GETACLCNT, 0, NULL);
- 	],
- 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
--	AC_MSG_RESULT(no))
-+	AC_MSG_RESULT(no)))
- 
- AC_MSG_CHECKING(for AIX ACL support)
- AC_TRY_LINK([
---- src/config.h.in	Fri Jan 13 13:29:05 2012
-+++ src/config.h.in	Fri Jan 13 13:29:13 2012
-@@ -363,6 +363,7 @@
- 
- /* Define if you want to add support for ACL */
- #undef HAVE_POSIX_ACL
-+#undef HAVE_SOLARIS_ZFS_ACL
- #undef HAVE_SOLARIS_ACL
- #undef HAVE_AIX_ACL
- 
---- src/os_unix.c	Tue Jan 10 16:13:35 2012
-+++ src/os_unix.c	Fri Jan 13 15:57:08 2012
-@@ -2746,6 +2746,13 @@
- #ifdef HAVE_POSIX_ACL
-     ret = (vim_acl_T)acl_get_file((char *)fname, ACL_TYPE_ACCESS);
- #else
-+#ifdef HAVE_SOLARIS_ZFS_ACL
-+    acl_t *aclent;
-+
-+    if (acl_get((char *)fname, 0, &aclent) < 0)
-+	return NULL;
-+    ret = (vim_acl_T)aclent;
-+#else
- #ifdef HAVE_SOLARIS_ACL
-     vim_acl_solaris_T   *aclent;
- 
-@@ -2791,6 +2798,7 @@
-     ret = (vim_acl_T)aclent;
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+#endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
-     return ret;
- }
-@@ -2808,6 +2816,9 @@
- #ifdef HAVE_POSIX_ACL
-     acl_set_file((char *)fname, ACL_TYPE_ACCESS, (acl_t)aclent);
- #else
-+#ifdef HAVE_SOLARIS_ZFS_ACL
-+    acl_set((char *)fname, (acl_t *)aclent);
-+#else
- #ifdef HAVE_SOLARIS_ACL
-     acl((char *)fname, SETACL, ((vim_acl_solaris_T *)aclent)->acl_cnt,
- 	    ((vim_acl_solaris_T *)aclent)->acl_entry);
-@@ -2816,6 +2827,7 @@
-     chacl((char *)fname, aclent, ((struct acl *)aclent)->acl_len);
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+#endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
- }
- 
-@@ -2828,6 +2840,9 @@
- #ifdef HAVE_POSIX_ACL
-     acl_free((acl_t)aclent);
- #else
-+#ifdef HAVE_SOLARIS_ZFS_ACL
-+    acl_free((acl_t *)aclent);
-+#else
- #ifdef HAVE_SOLARIS_ACL
-     free(((vim_acl_solaris_T *)aclent)->acl_entry);
-     free(aclent);
-@@ -2836,6 +2851,7 @@
-     free(aclent);
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+#endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
- }
- #endif