diff options
author | Brian Behlendorf <[email protected]> | 2014-09-29 16:01:22 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-10-17 15:07:28 -0700 |
commit | 62032954383dc6d1200890f07f56bb0ad85451be (patch) | |
tree | 6d500c46beefefbac4b25e336b3f62fe64e39eb1 | |
parent | de2a22fcb3e7e8d7c4f695aeb0caf9cdc8f82c9a (diff) |
Make license compatibility checks consistent
Apply the license specified in the META file to ensure the
compatibility checks are all performed consistently.
Signed-off-by: Brian Behlendorf <[email protected]>
-rw-r--r-- | META | 2 | ||||
-rw-r--r-- | config/spl-build.m4 | 23 | ||||
-rw-r--r-- | config/spl-meta.m4 | 8 | ||||
-rw-r--r-- | include/sys/mutex.h | 19 | ||||
-rw-r--r-- | module/spl/spl-generic.c | 4 | ||||
-rw-r--r-- | module/splat/splat-ctl.c | 4 |
6 files changed, 32 insertions, 28 deletions
@@ -4,3 +4,5 @@ Branch: 1.0 Version: 0.6.3 Release: 1 Release-Tags: relext +License: GPL +Author: OpenZFS on Linux diff --git a/config/spl-build.m4 b/config/spl-build.m4 index 4b821e980..f9287e2de 100644 --- a/config/spl-build.m4 +++ b/config/spl-build.m4 @@ -426,11 +426,11 @@ AC_DEFUN([SPL_AC_PACKAGE], [ ]) AC_DEFUN([SPL_AC_LICENSE], [ + AC_MSG_CHECKING([spl author]) + AC_MSG_RESULT([$SPL_META_AUTHOR]) + AC_MSG_CHECKING([spl license]) - LICENSE=GPL - AC_MSG_RESULT([$LICENSE]) - KERNELCPPFLAGS="${KERNELCPPFLAGS} -DHAVE_GPL_ONLY_SYMBOLS" - AC_SUBST(LICENSE) + AC_MSG_RESULT([$SPL_META_LICENSE]) ]) AC_DEFUN([SPL_AC_CONFIG], [ @@ -737,7 +737,8 @@ AC_DEFUN([SPL_CHECK_HEADER], ]) dnl # -dnl # Basic toolchain sanity check. +dnl # Basic toolchain sanity check. Verify that kernel modules can +dnl # be built and which symbols can be used. dnl # AC_DEFUN([SPL_AC_TEST_MODULE], [AC_MSG_CHECKING([whether modules can be built]) @@ -753,6 +754,18 @@ AC_DEFUN([SPL_AC_TEST_MODULE], *** Please run 'make scripts' inside the kernel source tree.]) fi ]) + + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([ + #include "$LINUX/include/linux/license.h" + ], [ + return !license_is_gpl_compatible("$SPL_META_LICENSE"); + ]) + ], [ + AC_DEFINE([SPL_IS_GPL_COMPATIBLE], [1], + [Define to 1 if GPL-only symbols can be used]) + ], [ + ]) ]) dnl # diff --git a/config/spl-meta.m4 b/config/spl-meta.m4 index e98cc2ea6..0561fbbc5 100644 --- a/config/spl-meta.m4 +++ b/config/spl-meta.m4 @@ -76,6 +76,14 @@ AC_DEFUN([SPL_AC_META], [ AC_SUBST([RELEASE]) fi + SPL_META_LICENSE=_SPL_AC_META_GETVAL([License]); + if test -n "$SPL_META_LICENSE"; then + AC_DEFINE_UNQUOTED([SPL_META_LICENSE], ["$SPL_META_LICENSE"], + [Define the project license.] + ) + AC_SUBST([SPL_META_LICENSE]) + fi + if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then SPL_META_ALIAS="$SPL_META_NAME-$SPL_META_VERSION" test -n "$SPL_META_RELEASE" && diff --git a/include/sys/mutex.h b/include/sys/mutex.h index ec3cfd529..cc63a6be0 100644 --- a/include/sys/mutex.h +++ b/include/sys/mutex.h @@ -85,12 +85,6 @@ mutex_owner(kmutex_t *mp) }) #define mutex_exit(mp) mutex_unlock(&(mp)->m) -#ifdef HAVE_GPL_ONLY_SYMBOLS -# define mutex_enter_nested(mp, sc) mutex_lock_nested(&(mp)->m, sc) -#else -# define mutex_enter_nested(mp, sc) mutex_enter(mp) -#endif /* HAVE_GPL_ONLY_SYMBOLS */ - #else /* HAVE_MUTEX_OWNER */ typedef struct { @@ -197,19 +191,6 @@ spl_mutex_clear_owner(kmutex_t *mp) mutex_unlock(MUTEX(mp)); \ }) -#ifdef HAVE_GPL_ONLY_SYMBOLS -# define mutex_enter_nested(mp, sc) \ -({ \ - mutex_lock_nested(MUTEX(mp), sc); \ - spl_mutex_set_owner(mp); \ -}) -#else -# define mutex_enter_nested(mp, sc) \ -({ \ - mutex_enter(mp); \ -}) -#endif - #endif /* HAVE_MUTEX_OWNER */ int spl_mutex_init(void); diff --git a/module/spl/spl-generic.c b/module/spl/spl-generic.c index 194cd7df1..039ee7319 100644 --- a/module/spl/spl-generic.c +++ b/module/spl/spl-generic.c @@ -740,7 +740,7 @@ EXPORT_SYMBOL(spl_cleanup); module_init(spl_init); module_exit(spl_fini); -MODULE_AUTHOR("Lawrence Livermore National Labs"); MODULE_DESCRIPTION("Solaris Porting Layer"); -MODULE_LICENSE("GPL"); +MODULE_AUTHOR(SPL_META_AUTHOR); +MODULE_LICENSE(SPL_META_LICENSE); MODULE_VERSION(SPL_META_VERSION "-" SPL_META_RELEASE); diff --git a/module/splat/splat-ctl.c b/module/splat/splat-ctl.c index 6bbe0abba..c4337a9f5 100644 --- a/module/splat/splat-ctl.c +++ b/module/splat/splat-ctl.c @@ -718,7 +718,7 @@ splat_fini(void) spl_module_init(splat_init); spl_module_exit(splat_fini); -MODULE_AUTHOR("Lawrence Livermore National Labs"); MODULE_DESCRIPTION("Solaris Porting LAyer Tests"); -MODULE_LICENSE("GPL"); +MODULE_AUTHOR(SPL_META_AUTHOR); +MODULE_LICENSE(SPL_META_LICENSE); MODULE_VERSION(SPL_META_VERSION "-" SPL_META_RELEASE); |