[packages] openldap: install an empty ldif directory (#6509)
[openwrt/svn-archive/archive.git] / libs / openldap / Makefile
index 35006b28465b3c870b9e14bca7353a627ae03ca6..f9d8b0825ca5b2b381e89e715cc2d5aa86ae6a0b 100644 (file)
@@ -1,35 +1,29 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2009 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.19
+PKG_RELEASE:=2
 
 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:=4a6dab2711fcf141f19bb680bc335887
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP = libtool
 
 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/
 endef
 
@@ -39,9 +33,12 @@ 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
+       OpenLDAP Software is an open source implementation of the 
+       Lightweight Directory Access Protocol (LDAP).   
+       This package contains the shared LDAP client libraries, needed by other programs.
 endef
 
 define Package/libopenldap/conffiles
@@ -54,122 +51,94 @@ define Package/openldap-utils
   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
+       OpenLDAP Software is an open source implementation of the 
+       Lightweight Directory Access Protocol (LDAP).   
+       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
+  TITLE+= (server)
+endef
+
+define Package/openldap-server/description
+       OpenLDAP Software is an open source implementation of the 
+       Lightweight Directory Access Protocol (LDAP).   
+       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/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.{a,so*} $(1)/usr/lib/
 endef
 
 define Package/libopenldap/install
-       install -d -m0755 $(1)/etc/openldap
-       $(CP) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
-       install -d -m0755 $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.so.* $(1)/usr/lib/
-       install -d -m0755 $(1)/usr/share/openldap
-       $(CP) $(PKG_INSTALL_DIR)/usr/share/openldap/* $(1)/usr/share/openldap/
+       $(INSTALL_DIR) $(1)/etc/openldap
+       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.so.* $(1)/usr/lib/
 endef
        
 define Package/openldap-utils/install
-       install -d -m0755 $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ldap* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(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/ldif
+       $(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
+       # OpenLDAP installs slapd into libexecdir, not sbindir:
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/slapd $(1)/usr/sbin/
 endef
 
 $(eval $(call BuildPackage,libopenldap))
 $(eval $(call BuildPackage,openldap-utils))
+$(eval $(call BuildPackage,openldap-server))