1################################################################################
2#
3# cracklib
4#
5################################################################################
6
7CRACKLIB_VERSION = 2.9.11
8CRACKLIB_SOURCE = cracklib-$(CRACKLIB_VERSION).tar.xz
9CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/v$(CRACKLIB_VERSION)
10CRACKLIB_LICENSE = LGPL-2.1
11CRACKLIB_LICENSE_FILES = COPYING.LIB
12CRACKLIB_CPE_ID_VALID = YES
13CRACKLIB_INSTALL_STAGING = YES
14CRACKLIB_DEPENDENCIES = host-cracklib $(TARGET_NLS_DEPENDENCIES)
15CRACKLIB_CONF_ENV = LIBS=$(TARGET_NLS_LIBS)
16
17ifeq ($(BR2_PACKAGE_ZLIB),y)
18CRACKLIB_CONF_OPTS += --with-zlib
19CRACKLIB_DEPENDENCIES += zlib
20else
21CRACKLIB_CONF_OPTS += --without-zlib
22endif
23
24ifeq ($(BR2_PACKAGE_PYTHON3),y)
25CRACKLIB_CONF_OPTS += --with-python
26CRACKLIB_CONF_ENV += \
27	ac_cv_path_PYTHON=$(HOST_DIR)/bin/python3 \
28	am_cv_python_version=$(PYTHON3_VERSION_MAJOR)
29CRACKLIB_DEPENDENCIES += python3
30else
31CRACKLIB_CONF_OPTS += --without-python
32endif
33
34HOST_CRACKLIB_CONF_OPTS += --without-python --without-zlib
35
36ifeq ($(BR2_PACKAGE_CRACKLIB_FULL_DICT),y)
37CRACKLIB_EXTRA_DOWNLOADS = cracklib-words-$(CRACKLIB_VERSION).xz
38CRACKLIB_DICT_SOURCE = $(CRACKLIB_DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).xz
39else
40CRACKLIB_DICT_SOURCE = $(@D)/dicts/cracklib-small
41endif
42
43ifeq ($(BR2_PACKAGE_CRACKLIB_TOOLS),)
44define CRACKLIB_REMOVE_TOOLS
45	rm -f $(TARGET_DIR)/usr/sbin/*cracklib*
46endef
47CRACKLIB_POST_INSTALL_TARGET_HOOKS += CRACKLIB_REMOVE_TOOLS
48endif
49
50define CRACKLIB_BUILD_DICT
51	$(HOST_MAKE_ENV) cracklib-format $(CRACKLIB_DICT_SOURCE) | \
52		$(HOST_MAKE_ENV) cracklib-packer $(TARGET_DIR)/usr/share/cracklib/pw_dict
53	rm $(TARGET_DIR)/usr/share/cracklib/cracklib-small
54endef
55CRACKLIB_POST_INSTALL_TARGET_HOOKS += CRACKLIB_BUILD_DICT
56
57$(eval $(autotools-package))
58$(eval $(host-autotools-package))
59