diff options
Diffstat (limited to 'extra/openldap')
-rw-r--r-- | extra/openldap/PKGBUILD | 106 | ||||
-rwxr-xr-x | extra/openldap/slapd | 48 | ||||
-rw-r--r-- | extra/openldap/slapd.default | 6 |
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="" |