ipset/ipset-6.9.1-Optionally-disable-building-the-kernel-module.patch

108 lines
3.1 KiB
Diff
Raw Normal View History

From 1051c0992a291d254694c47d316454839f3658ef Mon Sep 17 00:00:00 2001
From: Mathieu Bridon <bochecha@fedoraproject.org>
Date: Mon, 12 Sep 2011 16:03:23 +0800
Subject: [PATCH] Optionally disable building the kernel module.
Distributors (like Fedora) might be interested in including the ipset
tools and libs, but they often don't want to build and ship external
kernel modules, especially if those modules are already included in
their kernel packages.
This patch introduces a new --with-kmod configure option that can be
used to conditionally build the kernel module. The module is still built
by default, to preserve compatibility.
A user who wants to build only the user-space part of ipset can do so by
running the following:
$ ./autogen.sh
$ configure --with-kmod=no
$ make
# make install
---
Makefile.am | 16 ++++++++++++++++
configure.ac | 11 +++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index bd6b3a8..fc604d7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,21 +23,37 @@ endif
SUBDIRS = lib src
modules_sparse:
+if WITH_KMOD
${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \
V=$V C=2 CF=-D__CHECK_ENDIAN__ \
IP_SET_MAX=$(IP_SET_MAX) KDIR=$$PWD/kernel modules
+else
+ @echo Skipping kernel modules due to --with-kmod=no
+endif
modules:
+if WITH_KMOD
${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter V=$V \
IP_SET_MAX=$(IP_SET_MAX) KDIR=$$PWD/kernel modules
+else
+ @echo Skipping kernel modules due to --with-kmod=no
+endif
modules_install:
+if WITH_KMOD
${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \
KDIR=$$PWD/kernel modules_install
+else
+ @echo Skipping kernel modules due to --with-kmod=no
+endif
modules_clean:
+if WITH_KMOD
${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \
KDIR=$$PWD/kernel clean
+else
+ @echo Skipping kernel modules due to --with-kmod=no
+endif
update_includes:
./update ip_set.h
diff --git a/configure.ac b/configure.ac
index 1481d18..9ad8bed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,14 @@ case "$host" in
*) AC_MSG_ERROR([Linux systems supported exclusively!]);;
esac
+dnl Optionnally disable building the kernel module
+AC_ARG_WITH([kmod],
+ AS_HELP_STRING([--with-kmod=yes/no],
+ [Build the kernel module (default: yes)]),
+ [BUILDKMOD="$withval";],
+ [BUILDKMOD="yes";])
+AM_CONDITIONAL(WITH_KMOD, test "$BUILDKMOD" == "yes")
+
dnl Additional arguments
dnl Kernel build directory or source tree
AC_ARG_WITH([kbuild],
@@ -24,6 +32,8 @@ AC_ARG_WITH([ksource],
AM_CONDITIONAL(WITH_KBUILDDIR, test "$KBUILDDIR" != "")
AC_SUBST(KBUILDDIR)
+if test "$BUILDKMOD" == "yes"
+then
dnl Sigh: check kernel version dependencies
if test "$KBUILDDIR" != ""
then
@@ -55,6 +65,7 @@ if test "X`$GREP 'NFNL_SUBSYS_IPSET' $ksourcedir/include/linux/netfilter/nfnetli
then
AC_MSG_ERROR([The kernel source directory $ksourcedir is not patched with netlink.patch to support ipset])
fi
+fi
dnl Maximal number of sets supported by the kernel, default 256
AC_ARG_WITH([maxsets],
--
1.7.4.4