Problem: newer kernels (2.6.26.7, 2.6.27) may force parts of the crypto subsystem into the kernel if there are dependencies on the crypto subsystem. This breaks the package/kernel/modules/crypto.mk. This fix checks the kernel .config file to see if the module is already included in the kernel (CONFIG_CRYPTO_.*=y) and if it is, then it's not added to the build.
Signed-off-by: Jose Vasconcellos <[EMAIL PROTECTED]>
Index: package/kernel/modules/crypto.mk =================================================================== --- package/kernel/modules/crypto.mk (revision 13080) +++ package/kernel/modules/crypto.mk (working copy) @@ -33,6 +33,34 @@ # XXX: added CONFIG_CRYPTO_HMAC to KCONFIG so that CONFIG_CRYPTO_HASH is # always set, even if no hash modules are selected define KernelPackage/crypto-core + crypto_modules := $(shell grep \"^CONFIG_CRYPTO_.*=y\" $(LINUX_DIR)/.config) + crypto_files := + # remove files that are part of the kernel + ifeq (,$(find CONFIG_CRYPTO_ALGAPI,$(crypto_modules)) + crypto_files += crypto_algapi + endif + ifeq (,$(find CONFIG_CRYPTO_ALGAPI,$(crypto_modules)) + crypto_files += crypto_algapi + endif + ifeq (,$(find CONFIG_CRYPTO_BLKCIPHER,$(crypto_modules)) + crypto_files += $(BLKCIPHER_PREFIX)blkcipher + endif + ifeq (,$(find CONFIG_CRYPTO_ECB,$(crypto_modules)) + crypto_files += ecb + endif + ifeq (,$(find CONFIG_CRYPTO_CBC,$(crypto_modules)) + crypto_files += cbc + endif + ifeq (,$(find CONFIG_CRYPTO_DEFLATE,$(crypto_modules)) + crypto_files += deflate + endif + ifeq (,$(find CONFIG_CRYPTO_HASH,$(crypto_modules)) + crypto_files += crypto_hash + endif + ifeq (,$(find CONFIG_CRYPTO_MANAGER,$(crypto_modules)) + crypto_files += cryptomgr + endif + SUBMENU:=$(CRYPTO_MENU) TITLE:=Core CryptoAPI modules KCONFIG:= \ @@ -46,22 +74,8 @@ CONFIG_CRYPTO_HMAC \ CONFIG_CRYPTO_MANAGER FILES:= \ - $(LINUX_DIR)/crypto/crypto_algapi.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/$(BLKCIPHER_PREFIX)blkcipher.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/cbc.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/deflate.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/ecb.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/crypto_hash.$(LINUX_KMOD_SUFFIX) \ - $(LINUX_DIR)/crypto/cryptomgr.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,01, \ - crypto_algapi \ - cryptomgr \ - crypto_hash \ - $(BLKCIPHER_PREFIX)blkcipher \ - cbc \ - ecb \ - deflate \ - ) + $(patsubst %,$(LINUX_DIR)/crypto/%.$(LINUX_KMOD_SUFFIX),$(crypto_files)) + AUTOLOAD:=$(call AutoLoad,01, $(crypto_files) ) endef define KernelPackage/crypto-core/2.4
_______________________________________________ openwrt-devel mailing list [email protected] http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
