Patchwork [git,commit] kmod: add option to install module utilities

login
register
mail settings
Submitter Peter Korsgaard
Date March 22, 2012, 3:03 p.m.
Message ID <20120322150326.7CEA39693E@busybox.osuosl.org>
Download mbox | patch
Permalink /patch/148265/
State Not Applicable
Headers show

Comments

Peter Korsgaard - March 22, 2012, 3:03 p.m.
commit: http://git.buildroot.net/buildroot/commit/?id=78f5ac2908b30aa6f67583a355e058d6703755ac
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

And ensure optional zlib+xz dependencies gets picked up.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 package/kmod/Config.in |    6 ++++++
 package/kmod/kmod.mk   |   26 ++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)
Maxime Ripard - March 22, 2012, 3:17 p.m.
Hi Peter,

Maybe we should also deprecate modules-init-tools, since Jon Masters
announced some time ago that it was no longer maintained and people
should go to kmod utils ?

Le 22/03/2012 16:03, Peter Korsgaard a écrit :
> commit: http://git.buildroot.net/buildroot/commit/?id=78f5ac2908b30aa6f67583a355e058d6703755ac
> branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> 
> And ensure optional zlib+xz dependencies gets picked up.
> 
> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
> ---
>  package/kmod/Config.in |    6 ++++++
>  package/kmod/kmod.mk   |   26 ++++++++++++++++++++++++++
>  2 files changed, 32 insertions(+), 0 deletions(-)
> 
> diff --git a/package/kmod/Config.in b/package/kmod/Config.in
> index c5e8ca8..6fdd92c 100644
> --- a/package/kmod/Config.in
> +++ b/package/kmod/Config.in
> @@ -4,3 +4,9 @@ config BR2_PACKAGE_KMOD
>  	  handle kernel modules
>  
>  	  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).
> diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
> index f71087c..55cbdbb 100644
> --- a/package/kmod/kmod.mk
> +++ b/package/kmod/kmod.mk
> @@ -4,4 +4,30 @@ KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
>  KMOD_INSTALL_STAGING = YES
>  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))
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Peter Korsgaard - March 22, 2012, 3:39 p.m.
>>>>> "Maxime" == Maxime Ripard <maxime.ripard@free-electrons.com> writes:

 Maxime> Hi Peter,
 Maxime> Maybe we should also deprecate modules-init-tools, since Jon Masters
 Maxime> announced some time ago that it was no longer maintained and people
 Maxime> should go to kmod utils ?

Sooner or later we should, but I'm not sure if kmod is mature enough to
do it yet. I actually very rarely use kernel modules, perhaps someone
else knows more about it?
Thomas Petazzoni - March 22, 2012, 3:47 p.m.
Le Thu, 22 Mar 2012 16:39:53 +0100,
Peter Korsgaard <jacmet@sunsite.dk> a écrit :

> Sooner or later we should, but I'm not sure if kmod is mature enough to
> do it yet. I actually very rarely use kernel modules, perhaps someone
> else knows more about it?

According to the kmod talk at ELC, kmod is now a complete replacement
for module-init-tools, and module-init-tools are deprecated, as Maxime
said. So all distributions are likely to switch to kmod rather soon.

Regards,

Thomas
Arnout Vandecappelle - March 22, 2012, 9:37 p.m.
On Thursday 22 March 2012 16:03:12 Peter Korsgaard wrote:
> +config BR2_PACKAGE_KMOD_TOOLS
> +       bool "kmod utilities"
> +       help
> +         Install kmod module utilities (depmod, insmod, lsmod,
> +         modinfo, modprobe, rmmod).

 Shouldn't this depend on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS?

 Regards,
 Arnout
Peter Korsgaard - March 22, 2012, 9:48 p.m.
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 Arnout> On Thursday 22 March 2012 16:03:12 Peter Korsgaard wrote:
 >> +config BR2_PACKAGE_KMOD_TOOLS

 >> +       bool "kmod utilities"

 >> +       help

 >> +         Install kmod module utilities (depmod, insmod, lsmod,

 >> +         modinfo, modprobe, rmmod).

 Arnout> Shouldn't this depend on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS?

Arguably it should (even though I would like us to consider getting rid
of that option).
Arnout Vandecappelle - March 22, 2012, 10:15 p.m.
On Thursday 22 March 2012 22:48:36 Peter Korsgaard wrote:
>  Arnout> On Thursday 22 March 2012 16:03:12 Peter Korsgaard wrote:
>  >> +config BR2_PACKAGE_KMOD_TOOLS
>  >> +       bool "kmod utilities"
>  >> +       help
>  >> +         Install kmod module utilities (depmod, insmod, lsmod,
>  >> +         modinfo, modprobe, rmmod).
>  Arnout> Shouldn't this depend on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS?
> 
> Arguably it should (even though I would like us to consider getting rid
> of that option).

 +1!

 But then I think the prompt should mention it is also in busybox.

 Regards,
 Arnout

Patch

diff --git a/package/kmod/Config.in b/package/kmod/Config.in
index c5e8ca8..6fdd92c 100644
--- a/package/kmod/Config.in
+++ b/package/kmod/Config.in
@@ -4,3 +4,9 @@  config BR2_PACKAGE_KMOD
 	  handle kernel modules
 
 	  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).
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index f71087c..55cbdbb 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -4,4 +4,30 @@  KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
 KMOD_INSTALL_STAGING = YES
 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))