浏览代码

openldap: Make client binary install configurable

Some OpenLDAP deployment only need the client libraries and not the client
tools, so make the tool installation optional.

[Thomas: implement the for loop in make rather than in shell.]

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Stefan Sørensen 10 年之前
父节点
当前提交
c6aa56e081
共有 2 个文件被更改,包括 24 次插入0 次删除
  1. 12 0
      package/openldap/Config.in
  2. 12 0
      package/openldap/openldap.mk

+ 12 - 0
package/openldap/Config.in

@@ -10,6 +10,18 @@ config BR2_PACKAGE_OPENLDAP
 
 	  http://www.openldap.org/
 
+if BR2_PACKAGE_OPENLDAP
+
+config BR2_PACKAGE_OPENLDAP_CLIENTS
+	bool "openldap client binaries"
+	default y
+	help
+	  Install the OpenLDAP client tools (ldapadd, ldapcompare, ldapdelete,
+	  ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl,
+	  ldapwhoami)
+
+endif
+
 comment "openldap needs a toolchain w/ wchar"
 	depends on BR2_USE_MMU # needs fork()
 	depends on !BR2_USE_WCHAR

+ 12 - 0
package/openldap/openldap.mk

@@ -55,4 +55,16 @@ OPENLDAP_CONF_OPTS += \
 # executable it is supposed to install, resulting in an error.
 OPENLDAP_MAKE_ENV = STRIP="$(TARGET_STRIP)"
 
+ifeq ($(BR2_PACKAGE_OPENLDAP_CLIENTS),)
+OPENLDAP_CLIENTS = \
+	ldapurl ldapexop ldapcompare ldapwhoami \
+	ldappasswd ldapmodrdn ldapdelete ldapmodify \
+	ldapsearch
+define OPENLDAP_REMOVE_CLIENTS
+	$(RM) -f $(foreach p,$(OPENLDAP_CLIENTS),$(TARGET_DIR)/usr/bin/$(p))
+	$(RM) -rf $(TARGET_DIR)/etc/openldap
+endef
+OPENLDAP_POST_INSTALL_TARGET_HOOKS += OPENLDAP_REMOVE_CLIENTS
+endif
+
 $(eval $(autotools-package))