summaryrefslogtreecommitdiff
path: root/extra/openldap
diff options
context:
space:
mode:
Diffstat (limited to 'extra/openldap')
-rw-r--r--extra/openldap/PKGBUILD106
-rwxr-xr-xextra/openldap/slapd48
-rw-r--r--extra/openldap/slapd.default6
3 files changed, 160 insertions, 0 deletions
diff --git a/extra/openldap/PKGBUILD b/extra/openldap/PKGBUILD
new file mode 100644
index 000000000..7e6266083
--- /dev/null
+++ b/extra/openldap/PKGBUILD
@@ -0,0 +1,106 @@
+# $Id: PKGBUILD 109957 2011-02-14 13:18:22Z andrea $
+# Maintainer:
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=openldap
+pkgver=2.4.24
+pkgrel=1
+pkgdesc="LDAP Server"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.openldap.org/"
+backup=('etc/openldap/slapd.conf' 'etc/default/slapd' 'etc/conf.d/slapd')
+depends=("libldap>=${pkgver}" 'db' 'tcp_wrappers' 'libfetch' 'util-linux-ng')
+provides=('openldap-clients')
+replaces=('openldap-clients')
+source=("ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgname}-${pkgver}.tgz"
+ 'slapd'
+ 'slapd.default')
+md5sums=('116fe1e23a7b67686d5e62274367e6c0'
+ '832354417c495f29affd2c772808959d'
+ '6be69f6b7e522cb64cce8703da81ed32')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ export LIBS=-ldb
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/sbin \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib/openldap \
+ --enable-bdb \
+ --enable-crypt \
+ --enable-dynamic \
+ --with-threads \
+ --enable-wrappers \
+ --enable-spasswd \
+ --with-cyrus-sasl
+
+ find . -name 'Makefile' -exec \
+ sed -e 's|$(LDAP_LIBDIR)/liblber/liblber.la|/usr/lib/liblber-2.4.so.2|g' \
+ -e 's|$(LDAP_LIBDIR)/libldap/libldap.la|/usr/lib/libldap-2.4.so.2|g' \
+ -e 's|$(LDAP_LIBDIR)/libldap_r/libldap_r.la|/usr/lib/libldap_r-2.4.so.2|g' \
+ -i {} \;
+
+ cd include
+ make
+
+ cd ../libraries
+ for dir in liblutil librewrite liblunicode; do
+ pushd ${dir}
+ make depend
+ make
+ popd
+ done
+
+ cd ../servers
+ make depend
+ make
+
+ cd ../clients
+ make depend
+ make
+
+ cd ../doc/man
+ for dir in man{1,5,8}; do
+ pushd ${dir}
+ make
+ popd
+ done
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ cd servers
+ make DESTDIR=${pkgdir} install
+
+ cd ../clients
+ make DESTDIR=${pkgdir} install
+
+ cd ../doc/man
+ for dir in man{1,5,8}; do
+ pushd ${dir}
+ make DESTDIR=${pkgdir} install
+ popd
+ done
+ rm ${pkgdir}/usr/share/man/man5/ldap.conf.5
+
+ cd ../..
+
+ install -dm700 ${pkgdir}/etc/openldap/slapd.d
+ install -Dm755 ${srcdir}/slapd ${pkgdir}/etc/rc.d/slapd
+ install -Dm644 ${srcdir}/slapd.default ${pkgdir}/etc/conf.d/slapd
+ install -dm700 ${pkgdir}/var/lib/openldap
+
+ # get rid of duplicate default conf files
+ rm ${pkgdir}/etc/openldap/*.default
+
+ # hack to fix screwed up dirs
+ sed -e 's|^pidfile[[:space:]].*$|pidfile /var/run/slapd.pid|g' \
+ -e 's|^argsfile[[:space:]].*$|argsfile /var/run/slapd.args|g' \
+ -i ${pkgdir}/etc/openldap/slapd.conf
+
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/extra/openldap/slapd b/extra/openldap/slapd
new file mode 100755
index 000000000..392075027
--- /dev/null
+++ b/extra/openldap/slapd
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[ -f "/etc/conf.d/slapd" ] && . /etc/conf.d/slapd
+
+PID=`pidof -o %PPID /usr/sbin/slapd`
+case "$1" in
+ start)
+ stat_busy "Starting OpenLDAP"
+ if [ -z "$PID" ]; then
+ if [ -z "$SLAPD_SERVICES" ]; then
+ /usr/sbin/slapd $SLAPD_OPTIONS
+ else
+ /usr/sbin/slapd -h "$SLAPD_SERVICES" $SLAPD_OPTIONS
+ fi
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ add_daemon slapd
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping OpenLDAP"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/slapd.pid
+ rm -f /var/run/slapd.args
+ rm_daemon slapd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/extra/openldap/slapd.default b/extra/openldap/slapd.default
new file mode 100644
index 000000000..72ae2a6a7
--- /dev/null
+++ b/extra/openldap/slapd.default
@@ -0,0 +1,6 @@
+# slapd normally serves ldap only on all TCP-ports 389. slapd can also
+# service requests on TCP-port 636 (ldaps) and requests via unix
+# sockets.
+# Example usage:
+#SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
+SLAPD_OPTIONS=""