]> git.proxmox.com Git - mirror_zfs.git/blobdiff - config/always-pyzfs.m4
removal of LegacyVersion broke ax_python_dev.m4
[mirror_zfs.git] / config / always-pyzfs.m4
index f620a8f9a18b72423ed57c15bb6a0f4c33c0ffdc..9b123b1b2db1eeac8e996e3d73043c6d266b62d2 100644 (file)
@@ -6,7 +6,7 @@ dnl # https://www.gnu.org/software/autoconf-archive/ax_python_module.html
 dnl # Required by ZFS_AC_CONFIG_ALWAYS_PYZFS.
 dnl #
 AC_DEFUN([ZFS_AC_PYTHON_MODULE], [
-       PYTHON_NAME=$(basename $PYTHON)
+       PYTHON_NAME=${PYTHON##*/}
        AC_MSG_CHECKING([for $PYTHON_NAME module: $1])
        AS_IF([$PYTHON -c "import $1" 2>/dev/null], [
                AC_MSG_RESULT(yes)
@@ -18,11 +18,11 @@ AC_DEFUN([ZFS_AC_PYTHON_MODULE], [
 ])
 
 dnl #
-dnl # Determines if pyzfs can be built, requires Python 2.7 or later.
+dnl # Determines if pyzfs can be built, requires Python 3.6 or later.
 dnl #
 AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
        AC_ARG_ENABLE([pyzfs],
-               AC_HELP_STRING([--enable-pyzfs],
+               AS_HELP_STRING([--enable-pyzfs],
                [install libzfs_core python bindings @<:@default=check@:>@]),
                [enable_pyzfs=$enableval],
                [enable_pyzfs=check])
@@ -47,12 +47,36 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
        AC_SUBST(DEFINE_PYZFS)
 
        dnl #
-       dnl # Require python-devel libraries
+       dnl # Autodetection disables pyzfs if kernel or srpm config
+       dnl #
+       AS_IF([test "x$enable_pyzfs" = xcheck], [
+               AS_IF([test "x$ZFS_CONFIG" = xkernel -o "x$ZFS_CONFIG" = xsrpm ], [
+                               enable_pyzfs=no
+                               AC_MSG_NOTICE([Disabling pyzfs for kernel/srpm config])
+               ])
+       ])
+
+       dnl #
+       dnl # Python "packaging" (or, failing that, "distlib") module is required to build and install pyzfs
+       dnl #
+       AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
+               ZFS_AC_PYTHON_MODULE([packaging], [], [
+                       ZFS_AC_PYTHON_MODULE([distlib], [], [
+                               AS_IF([test "x$enable_pyzfs" = xyes], [
+                                       AC_MSG_ERROR("Python $PYTHON_VERSION packaging and distlib modules are not installed")
+                               ], [test "x$enable_pyzfs" != xno], [
+                                       enable_pyzfs=no
+                               ])
+                       ])
+               ])
+       ])
+
+       dnl #
+       dnl # Require python3-devel libraries
        dnl #
        AS_IF([test "x$enable_pyzfs" = xcheck  -o "x$enable_pyzfs" = xyes], [
                AS_CASE([$PYTHON_VERSION],
-                       [3.*], [PYTHON_REQUIRED_VERSION=">= '3.4.0'"],
-                       [2.*], [PYTHON_REQUIRED_VERSION=">= '2.7.0'"],
+                       [3.*], [PYTHON_REQUIRED_VERSION=">= '3.6.0'"],
                        [AC_MSG_ERROR("Python $PYTHON_VERSION unknown")]
                )