]> granicus.if.org Git - ipset/commitdiff
Check at modules_install whether depmod ignores the extra subdir
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Thu, 9 May 2013 09:49:40 +0000 (11:49 +0200)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Thu, 9 May 2013 09:49:40 +0000 (11:49 +0200)
The external kernel modules are installed in the extra subdir in
/lib/modules/<kernelrelease>/, but depmod in some distributions
(at least in Ubuntu 12.04 LTS) ingores the subdir. Warn about it,
because that way the modules are actually not available there.

Reported by Husnu Demir and tian fang.

Makefile.am

index 34536046d5be8bc7a6cc6efa9f66c82c8839ff3a..c84a425b9241cca88fcdacdb5eee30085164094f 100644 (file)
@@ -40,10 +40,28 @@ else
        @echo Skipping kernel modules due to --with-kmod=no
 endif
 
+define DEPMOD_WARNING
+
+!!! WARNING !!! WARNING !!! WARNING !!!
+
+Your distribution seems to ignore the /lib/modules/<kernelrelease>/extra/
+subdirectory, where the ipset kernel modules are installed.
+
+Add the 'extra' directory to the search definition of your depmod
+configuration (/etc/depmod.conf or /etc/depmod.d/) and re-run
+
+       depmod <kernelrelease>
+
+otherwise the ipset kernel modules in the extra subdir will be ignored.
+
+endef
+export DEPMOD_WARNING
+
 modules_install:
 if WITH_KMOD
        ${MAKE} -C $(KBUILD_OUTPUT) M=$$PWD/kernel/net/netfilter \
                        KDIR=$$PWD/kernel modules_install
+       @modinfo ip_set_hash_ip | ${GREP} extra/ipset/ip_set_hash_ip >/dev/null || echo "$$DEPMOD_WARNING"
 else
        @echo Skipping kernel modules due to --with-kmod=no
 endif