From 1eee2c7b278d476df3134113476e9f665f278b86 Mon Sep 17 00:00:00 2001 From: Rich Ercolani <214141+rincebrain@users.noreply.github.com> Date: Thu, 8 Apr 2021 17:37:51 -0400 Subject: [PATCH] Added check for broken alien version Added a check for alien 8.95.{1,2,3}, which is known to fail to generate debs 100% of the time, and instead print out a message informing the developer that it's known to be broken and linking them to more information. Reviewed-by: Brian Behlendorf Signed-off-by: Rich Ercolani Closes #11848 Closes #11850 --- config/deb.am | 14 +++++++++++++- config/zfs-build.m4 | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/config/deb.am b/config/deb.am index 4ed3c17aa6..cdbdbecb35 100644 --- a/config/deb.am +++ b/config/deb.am @@ -14,7 +14,19 @@ deb-local: "*** package for your distribution which provides ${ALIEN},\n" \ "*** re-run configure, and try again.\n"; \ exit 1; \ - fi) + fi; \ + if test "${ALIEN_MAJOR}" = "8" && \ + test "${ALIEN_MINOR}" = "95"; then \ + if test "${ALIEN_POINT}" = "1" || \ + test "${ALIEN_POINT}" = "2" || \ + test "${ALIEN_POINT}" = "3"; then \ + /bin/echo -e "\n" \ + "*** Installed version of ${ALIEN} is known to be broken;\n" \ + "*** attempting to generate debs will fail! See\n" \ + "*** https://github.com/openzfs/zfs/issues/11650 for details.\n"; \ + exit 1; \ + fi; \ + fi) deb-kmod: deb-local rpm-kmod name=${PACKAGE}; \ diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 index cd5996c042..cee5c87e77 100644 --- a/config/zfs-build.m4 +++ b/config/zfs-build.m4 @@ -437,6 +437,9 @@ AC_DEFUN([ZFS_AC_ALIEN], [ AC_MSG_CHECKING([whether $ALIEN is available]) AS_IF([tmp=$($ALIEN --version 2>/dev/null)], [ ALIEN_VERSION=$(echo $tmp | $AWK '{ print $[3] }') + ALIEN_MAJOR=$(echo ${ALIEN_VERSION} | $AWK -F'.' '{ print $[1] }') + ALIEN_MINOR=$(echo ${ALIEN_VERSION} | $AWK -F'.' '{ print $[2] }') + ALIEN_POINT=$(echo ${ALIEN_VERSION} | $AWK -F'.' '{ print $[3] }') HAVE_ALIEN=yes AC_MSG_RESULT([$HAVE_ALIEN ($ALIEN_VERSION)]) ],[ @@ -447,6 +450,9 @@ AC_DEFUN([ZFS_AC_ALIEN], [ AC_SUBST(HAVE_ALIEN) AC_SUBST(ALIEN) AC_SUBST(ALIEN_VERSION) + AC_SUBST(ALIEN_MAJOR) + AC_SUBST(ALIEN_MINOR) + AC_SUBST(ALIEN_POINT) ]) dnl #