Pārlūkot izejas kodu

add kmod utils subpackage

Waldemar Brodkorb 11 gadi atpakaļ
vecāks
revīzija
d785b774fa

+ 7 - 0
package/busybox/Config.in.manual

@@ -192,3 +192,10 @@ config BUSYBOX_DISABLE_RFKILL
 	default y if ADK_PACKAGE_RFKILL
 	depends on ADK_PACKAGE_RFKILL
 	default n
+
+config BUSYBOX_DISABLE_KMOD
+	boolean
+	default y if ADK_PACKAGE_KMOD
+	depends on ADK_PACKAGE_KMOD
+	default n
+

+ 7 - 0
package/busybox/config/modutils/Config.in

@@ -9,6 +9,7 @@ menu "Linux Module Utilities"
 config BUSYBOX_MODINFO
 	bool "modinfo"
 	default y
+	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  Show information about a Linux Kernel module
@@ -16,6 +17,7 @@ config BUSYBOX_MODINFO
 config BUSYBOX_MODPROBE_SMALL
 	bool "Simplified modutils"
 	default n
+	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  Simplified modutils.
@@ -66,6 +68,7 @@ config BUSYBOX_INSMOD
 	bool "insmod"
 	default y
 	depends on !BUSYBOX_MODPROBE_SMALL
+	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  insmod is used to load specified modules in the running kernel.
@@ -74,6 +77,7 @@ config BUSYBOX_RMMOD
 	bool "rmmod"
 	default y
 	depends on !BUSYBOX_MODPROBE_SMALL
+	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  rmmod is used to unload specified modules from the kernel.
@@ -82,6 +86,7 @@ config BUSYBOX_LSMOD
 	bool "lsmod"
 	default y
 	depends on !BUSYBOX_MODPROBE_SMALL
+	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  lsmod is used to display a list of loaded modules.
@@ -99,6 +104,7 @@ config BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 config BUSYBOX_MODPROBE
 	bool "modprobe"
 	default n
+	depends on !BUSYBOX_DISABLE_KMOD
 	depends on !BUSYBOX_MODPROBE_SMALL
 	select BUSYBOX_PLATFORM_LINUX
 	help
@@ -120,6 +126,7 @@ config BUSYBOX_FEATURE_MODPROBE_BLACKLIST
 config BUSYBOX_DEPMOD
 	bool "depmod"
 	default n
+	depends on !BUSYBOX_DISABLE_KMOD
 	depends on !BUSYBOX_MODPROBE_SMALL
 	select BUSYBOX_PLATFORM_LINUX
 	help

+ 22 - 6
package/kmod/Makefile

@@ -5,27 +5,43 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		kmod
 PKG_VERSION:=		17
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_MD5SUM:=		bc36d28b12dcb2b664a35411560c5610
-PKG_DESCR:=		kernel module loading library
-PKG_SECTION:=		libs/misc
+PKG_DESCR:=		kernel module utils
+PKG_SECTION:=		sys/utils
+PKG_DEPENDS:=		libkmod
 PKG_URL:=		http://profusion.mobi/index.php
 PKG_SITES:=		https://www.kernel.org/pub/linux/utils/kernel/kmod/
+PKG_LIBNAME:=		libkmod
 PKG_OPTS:=		dev
+PKG_BB:=		1
+
+PKG_SUBPKGS:=		KMOD LIBKMOD
+PKGSD_LIBKMOD:=		kernel module library
+PKGSC_LIBKMOD:=		libs/misc
 
 include $(TOPDIR)/mk/package.mk
 
-$(eval $(call PKG_template,KMOD,kmod,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+$(eval $(call PKG_template,KMOD,kmod,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,LIBKMOD,libkmod,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_LIBKMOD},${PKGSD_LIBKMOD},${PKGSC_LIBKMOD},${PKG_OPTS}))
 
 CONFIG_STYLE:=		minimal
 CONFIGURE_ARGS+=	--host=${GNU_TARGET_NAME}
 
 kmod-install:
 	$(INSTALL_DIR) $(IDIR_KMOD)/usr/bin
-	$(INSTALL_DIR) $(IDIR_KMOD)/usr/lib
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/kmod \
 		$(IDIR_KMOD)/usr/bin
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod modinfo
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod modprobe
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod lsmod
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod insmod
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod depmod
+	cd $(IDIR_KMOD)/usr/bin && ln -sf kmod rmmod
+
+libkmod-install:
+	$(INSTALL_DIR) $(IDIR_LIBKMOD)/usr/lib
 	$(CP) $(WRKINST)/usr/lib/libkmod*.so* \
-		$(IDIR_KMOD)/usr/lib
+		$(IDIR_LIBKMOD)/usr/lib
 
 include ${TOPDIR}/mk/pkg-bottom.mk