]> git.ipfire.org Git - thirdparty/xtables-addons.git/commitdiff
build: add kernel version check to configure
authorJan Engelhardt <jengelh@medozas.de>
Sun, 26 Apr 2009 18:22:40 +0000 (20:22 +0200)
committerJan Engelhardt <jengelh@medozas.de>
Sun, 26 Apr 2009 18:22:40 +0000 (20:22 +0200)
configure.ac
doc/changelog.txt

index b1f44be1e96a35c5bf2078f99b5fb1d8fffcf549..d30a6cb01ecb9ea8ef6cc5981bac33ae52157e0b 100644 (file)
@@ -63,6 +63,37 @@ if [[ -n "$ksourcedir" ]]; then
        kinclude_CFLAGS="$kinclude_CFLAGS -I $ksourcedir/include";
 fi;
 
+#
+# check kernel version
+#
+if grep -q "CentOS release 5\." /etc/redhat-release 2>/dev/null ||
+    grep -q "Red Hat Enterprise Linux Server release 5" /etc/redhat-release 2>/dev/null; then
+       # γ—γΎγ£γŸ!
+       # Well, just a warning. Maybe the admin updated the kernel.
+       echo "WARNING: This distribution is not officially supported.";
+fi;
+krel="$(make -sC ${kbuilddir} kernelrelease)";
+krel="${krel%%-*}";
+kmajor="${krel%%.*}";
+krel="${krel#*.}";
+kminor="${krel%%.*}";
+krel="${krel#*.}";
+kmicro="${krel%%.*}";
+krel="${krel#*.}";
+kstable="${krel%%.*}";
+if test -z "$kstable"; then
+       kstable=0;
+fi;
+echo "Found kernel version $kmajor.$kminor.$kmicro.$kstable in $kbuilddir";
+if test "$kmajor" -gt 2 -o "$kminor" -gt 6 -o "$kmicro" -gt 30; then
+       echo "WARNING: You are trying a newer kernel. Results may vary. :-)";
+elif test \( "$kmajor" -lt 2 -o "$kminor" -lt 6 -o "$kmicro" -lt 17 \) -o \
+    \( "$kmajor" -eq 2 -a "$kminor" -eq 6 -a "$kmicro" -eq 18 -a \
+    "$kstable" -lt 5 \); then
+       echo "ERROR: That kernel version is not supported. Please see INSTALL for minimum configuration.";
+       exit 1;
+fi;
+
 AC_SUBST([regular_CFLAGS])
 AC_SUBST([xtables_CFLAGS])
 AC_SUBST([kinclude_CFLAGS])
index e461f134e67edd4a39e62742d93e18f79513d0b5..dd15a1de2f6d7def2b66b7f7a1a39fe753515f83 100644 (file)
@@ -1,5 +1,6 @@
 
 
+- build: add kernel version check to configure
 - condition: compile fix for 2.6.30-rc
 - condition: fix intrapositional negation sign
 - fuzzy: fix bogus comparison logic leftover from move to new 1.4.3 API