kernel: Fix kmod-lib-lz4 packaging
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 29 Jun 2024 15:54:49 +0000 (17:54 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Wed, 3 Jul 2024 11:11:00 +0000 (13:11 +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

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

index 8d67a3187a62728051e5413ca0f31cde28d6fe65..820c5697412b11411986f7671538a890a323723c 100644 (file)
@@ -147,21 +147,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
@@ -171,6 +178,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