kernel: Fix kmod-lib-lz4 packaging
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 29 Jun 2024 15:54:49 +0000 (17:54 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 8 Jul 2024 19:13:24 +0000 (21:13 +0200)
The kernel provides two variants of the lz4 compression a normal version
and a high compression mode version. The old kmod-lib-lz4 package
contained the normal version plus one part of the lz4hc version. There
was already code which selected the kmod-lib-lz4hc package which did
not exists.

I split this into 3 packages. kmod-lib-lz4 and kmod-lib-lz4hc for the
normal the and high compression algorithm which contain the specific
code and the kmod-lib-lz4-decompress which contains the common
decompressor.

New we are also packaging lz4hc.ko

Link: https://github.com/openwrt/openwrt/pull/15833
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit fac507606d75eec04762013582273468eea7ed92)
Link: https://github.com/openwrt/openwrt/pull/15898
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/kernel/linux/modules/lib.mk

index 299c5a8c3541fbf4bb5bda5b761fba2982009af9..bb92088a1d00e28cd2c6594b26ef3d3a62af7d72 100644 (file)
@@ -146,21 +146,28 @@ endef
 $(eval $(call KernelPackage,lib-zstd))
 
 
+define KernelPackage/lib-lz4-decompress
+  SUBMENU:=$(LIB_MENU)
+  TITLE:=LZ4 decompress
+  HIDDEN:=1
+  KCONFIG:=CONFIG_LZ4_DECOMPRESS
+  FILES:=$(LINUX_DIR)/lib/lz4/lz4_decompress.ko
+endef
+
+$(eval $(call KernelPackage,lib-lz4-decompress))
+
+
 define KernelPackage/lib-lz4
   SUBMENU:=$(LIB_MENU)
   TITLE:=LZ4 support
-  DEPENDS:=+kmod-crypto-acompress
+  DEPENDS:=+kmod-crypto-acompress +kmod-lib-lz4-decompress
   KCONFIG:= \
        CONFIG_CRYPTO_LZ4 \
-       CONFIG_CRYPTO_LZ4HC \
-       CONFIG_LZ4_COMPRESS \
-       CONFIG_LZ4_DECOMPRESS
+       CONFIG_LZ4_COMPRESS
   FILES:= \
        $(LINUX_DIR)/crypto/lz4.ko \
-       $(LINUX_DIR)/lib/lz4/lz4_compress.ko \
-       $(LINUX_DIR)/lib/lz4/lz4hc_compress.ko \
-       $(LINUX_DIR)/lib/lz4/lz4_decompress.ko
-  AUTOLOAD:=$(call AutoProbe,lz4 lz4_compress lz4hc_compress lz4_decompress)
+       $(LINUX_DIR)/lib/lz4/lz4_compress.ko
+  AUTOLOAD:=$(call AutoProbe,lz4 lz4_compress)
 endef
 
 define KernelPackage/lib-lz4/description
@@ -170,6 +177,26 @@ endef
 $(eval $(call KernelPackage,lib-lz4))
 
 
+define KernelPackage/lib-lz4hc
+  SUBMENU:=$(LIB_MENU)
+  TITLE:=LZ4HC support
+  DEPENDS:=+kmod-crypto-acompress +kmod-lib-lz4-decompress
+  KCONFIG:= \
+       CONFIG_CRYPTO_LZ4HC \
+       CONFIG_LZ4HC_COMPRESS
+  FILES:= \
+       $(LINUX_DIR)/crypto/lz4hc.ko \
+       $(LINUX_DIR)/lib/lz4/lz4hc_compress.ko
+  AUTOLOAD:=$(call AutoProbe,lz4hc lz4hc_compress)
+endef
+
+define KernelPackage/lib-lz4hc/description
+ Kernel module for LZ4HC compression/decompression support
+endef
+
+$(eval $(call KernelPackage,lib-lz4hc))
+
+
 define KernelPackage/lib-842
   SUBMENU:=$(LIB_MENU)
   TITLE:=842 support