-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=openldap
-PKG_VERSION:=2.2.29
-PKG_RELEASE:=1
+PKG_VERSION:=2.4.23
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/ \
ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/ \
ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/ \
ftp://ftp.plig.org/pub/OpenLDAP/openldap-release/
-PKG_MD5SUM:=6c4c72a1336aa45b463e738034c078d6
-PKG_CAT:=zcat
+PKG_MD5SUM:=90150b8c0d0192e10b30157e68844ddf
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
define Package/openldap/Default
TITLE:=LDAP implementation
- DESCRIPTION:=\
- OpenLDAP Software is an open source implementation of the \\\
- Lightweight Directory Access Protocol (LDAP).
URL:=http://www.openldap.org/
+ MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+endef
+
+define Package/openldap/Default/description
+ OpenLDAP Software is an open source implementation of the
+ Lightweight Directory Access Protocol (LDAP).
endef
define Package/libopenldap
CATEGORY:=Libraries
DEPENDS:=+libopenssl +libsasl2
TITLE+= (libraries)
- DESCRIPTION+=\\\
- \\\
- This package contains the shared LDAP client libraries, needed by other programs.
+endef
+
+define Package/libopenldap/description
+ $(call Package/openldap/Default/description)
+ This package contains the shared LDAP client libraries, needed by other programs.
endef
define Package/libopenldap/conffiles
CATEGORY:=Utilities
DEPENDS:=+libopenldap
TITLE+= (utilities)
- DESCRIPTION+=\\\
- \\\
- This package contains client programs required to access LDAP servers.
endef
-PKG_CONFIGURE_OPTIONS = \
+define Package/openldap-utils/description
+ $(call Package/openldap/Default/description)
+ This package contains client programs required to access LDAP servers.
+endef
+
+define Package/openldap-server
+ $(call Package/openldap/Default)
+ SECTION:=net
+ CATEGORY:=Network
+ DEPENDS:=+libopenldap +libuuid
+ TITLE+= (server)
+endef
+
+define Package/openldap-server/description
+ $(call Package/openldap/Default/description)
+ This package contains server programs required to provide LDAP services.
+endef
+
+define Package/openldap-server/conffiles
+/etc/openldap/slapd.conf
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
--disable-debug \
--enable-dynamic \
--enable-syslog \
--disable-local \
- --disable-slapd \
--disable-slurpd \
--with-cyrus-sasl \
--without-fetch \
--with-threads \
--with-tls \
--with-yielding_select="yes" \
-
-define Build/Configure
-endef
+ --without-cyrus-sasl \
+ --without-threads \
+ --without-tls \
+ --enable-null \
+ --disable-bdb \
+ --disable-hdb \
+ --disable-monitor \
+ --disable-relay
define Build/Compile
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- -$(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- distclean
- (cd $(PKG_BUILD_DIR); rm -f config.cache; \
- ./configure \
- --target=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --program-prefix="" \
- --program-suffix="" \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --includedir=/usr/include \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc \
- $(DISABLE_LARGEFILE) \
- $(DISABLE_NLS) \
- $(PKG_CONFIGURE_OPTIONS) \
- --without-cyrus-sasl \
- --without-threads \
- --without-tls \
- );
- $(MAKE) -C $(PKG_BUILD_DIR) depend
- $(MAKE) -C $(PKG_BUILD_DIR)/libraries/liblutil
- $(MAKE) -C $(PKG_BUILD_DIR)/libraries/liblber
- $(MAKE) -C $(PKG_BUILD_DIR)/libraries/liblunicode
- $(MAKE) -C $(PKG_BUILD_DIR)/libraries/liblber clean
- $(MAKE) -C $(PKG_BUILD_DIR)/libraries/liblutil clean
- (cd $(PKG_BUILD_DIR); rm -f config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
- LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib " \
- ./configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --program-prefix="" \
- --program-suffix="" \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --includedir=/usr/include \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc \
- $(DISABLE_LARGEFILE) \
- $(DISABLE_NLS) \
- $(PKG_CONFIGURE_OPTIONS) \
- );
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
- all install
+ HOSTCC="$(HOSTCC)" \
+ depend all install
endef
define Build/InstallDev
- mkdir -p $(STAGING_DIR)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/{lber,ldap}*.h $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.{a,so*} $(STAGING_DIR)/usr/lib/
-endef
-
-define Build/UninstallDev
- rm -rf $(STAGING_DIR)/usr/include/{lber,ldap}*.h \
- $(STAGING_DIR)/usr/lib/lib{lber,ldap}*.{a,so*}
+ $(INSTALL_DIR) $(1)/usr/include
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/{lber,ldap}*.h $(1)/usr/include/
+ $(INSTALL_DIR) $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.{a,so*} $(1)/usr/lib/
endef
define Package/libopenldap/install
$(INSTALL_DIR) $(1)/etc/openldap
- $(CP) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.so.* $(1)/usr/lib/
- $(INSTALL_DIR) $(1)/usr/share/openldap
- $(CP) $(PKG_INSTALL_DIR)/usr/share/openldap/* $(1)/usr/share/openldap/
endef
-
+
define Package/openldap-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ldap* $(1)/usr/bin/
endef
+define Package/openldap-server/install
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/ldap.init $(1)/etc/init.d/ldap
+ $(INSTALL_DIR) $(1)/etc/openldap/schema
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/schema/* $(1)/etc/openldap/schema/
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/slapd.conf $(1)/etc/openldap/
+ $(INSTALL_DIR) $(1)/usr/sbin
+ # XXX: OpenLDAP installs slapd into libexecdir, not sbindir:
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/slapd $(1)/usr/sbin/
+ # XXX: switch default backend to ldif, since bdb is disabled
+ $(SED) 's|^\(database\)\([ \t]\+\)bdb|\1\2ldif|g' \
+ -e 's|^\(index\)|#\1|g' \
+ $(1)/etc/openldap/slapd.conf
+endef
+
$(eval $(call BuildPackage,libopenldap))
$(eval $(call BuildPackage,openldap-utils))
+$(eval $(call BuildPackage,openldap-server))