Ver código fonte

kmod: add option to install module utilities

And ensure optional zlib+xz dependencies gets picked up.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard 13 anos atrás
pai
commit
78f5ac2908
2 arquivos alterados com 32 adições e 0 exclusões
  1. 6 0
      package/kmod/Config.in
  2. 26 0
      package/kmod/kmod.mk

+ 6 - 0
package/kmod/Config.in

@@ -4,3 +4,9 @@ config BR2_PACKAGE_KMOD
 	  handle kernel modules
 	  handle kernel modules
 
 
 	  http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
 	  http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
+
+config BR2_PACKAGE_KMOD_TOOLS
+	bool "kmod utilities"
+	help
+	  Install kmod module utilities (depmod, insmod, lsmod,
+	  modinfo, modprobe, rmmod).

+ 26 - 0
package/kmod/kmod.mk

@@ -4,4 +4,30 @@ KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
 KMOD_INSTALL_STAGING = YES
 KMOD_INSTALL_STAGING = YES
 KMOD_DEPENDENCIES = host-pkg-config
 KMOD_DEPENDENCIES = host-pkg-config
 
 
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+KMOD_DEPENDENCIES += zlib
+KMOD_CONF_OPT += --with-zlib
+endif
+
+ifeq ($(BR2_PACKAGE_XZ),y)
+KMOD_DEPENDENCIES += xz
+KMOD_CONF_OPT += --with-xz
+endif
+
+ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
+# take precedence over busybox / module-init-tools implementations
+KMOD_DEPENDENCIES += \
+	$(if $(BR2_PACKAGE_BUSYBOX),busybox) \
+	$(if $(BR2_PACKAGE_MODULE_INIT_TOOLS),module-init-tools)
+
+define KMOD_INSTALL_TOOLS
+	for i in depmod insmod lsmod modinfo modprobe rmmod; \
+	do ln -sf ../usr/bin/kmod $(TARGET_DIR)/sbin/$$i; done
+endef
+
+KMOD_POST_INSTALL_TARGET_HOOKS += KMOD_INSTALL_TOOLS
+else
+KMOD_CONF_OPT += --disable-tools
+endif
+
 $(eval $(call AUTOTARGETS))
 $(eval $(call AUTOTARGETS))