From e7518be1013cb7c0a942cc3ebb0a0faa2acadf19 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 23 Apr 2009 12:13:16 +0000
Subject: [PATCH] testing/openldap: upgrade to 2.4.16 and fix the init.d script

tested that it works
---
 testing/openldap/APKBUILD              | 27 ++++++++++++++++++++++----
 testing/openldap/openldap.post-install |  4 ++++
 testing/openldap/openldap.pre-install  |  3 +++
 testing/openldap/slapd.confd           |  9 +++++++++
 testing/openldap/slapd.initd           | 20 +++++++++++++++++++
 testing/openldap/slurpd.initd          | 22 +++++++++++++++++++++
 6 files changed, 81 insertions(+), 4 deletions(-)
 create mode 100644 testing/openldap/openldap.post-install
 create mode 100644 testing/openldap/openldap.pre-install
 create mode 100644 testing/openldap/slapd.confd
 create mode 100644 testing/openldap/slapd.initd
 create mode 100644 testing/openldap/slurpd.initd

diff --git a/testing/openldap/APKBUILD b/testing/openldap/APKBUILD
index 132e898d0b5a..b66e3ee61aae 100644
--- a/testing/openldap/APKBUILD
+++ b/testing/openldap/APKBUILD
@@ -1,16 +1,21 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=openldap
-pkgver=2.4.11
+pkgver=2.4.16
 pkgrel=0
 pkgdesc="LDAP Server"
 url="http://www.openldap.org/"
 license="custom"
 depends="db openssl uclibc"
-makedepends="db-dev openssl-dev groff"
+makedepends="db-dev openssl-dev groff libldap"
 subpackages="$pkgname-dev $pkgname-doc libldap"
+install="$pkgname.pre-install $pkgname.post-install"
 source="ftp://ftp.$pkgname.org/pub/OpenLDAP/$pkgname-release/$pkgname-$pkgver.tgz
 	openldap-2.4-ppolicy.patch
 	openldap-2.4.11-libldap_r.patch
+	$install
+	slapd.initd
+	slapd.confd
+	slurpd.initd
 	"
 
 # berkdb crypt ipv6 ssl 
@@ -45,6 +50,15 @@ build () {
 	
 	make || return 1
 	make DESTDIR="$pkgdir" install
+
+	install -d "$pkgdir"/var/run/openldap
+	sed -i -e 's:/var/lib/openldap/run:/var/run/openldap:g' \
+		"$pkgdir"/etc/openldap/slapd.conf
+
+	chmod g+r "$pkgdir"/etc/openldap/slapd.conf
+	install -Dm755 ../slapd.initd "$pkgdir"/etc/init.d/slapd
+	install -Dm755 ../slapd.confd "$pkgdir"/etc/conf.d/slapd
+	install -Dm755 ../slurpd.initd "$pkgdir"/etc/init.d/slurpd
 }
 
 libldap() {
@@ -55,6 +69,11 @@ libldap() {
 	mv "$pkgdir"/etc/openldap/ldap.conf "$subpkgdir"/etc/openldap/
 }
 
-md5sums="920fedbbb5bc61c2ca52c56edeef770a  openldap-2.4.11.tgz
+md5sums="ed5b86e9d2b372d10edfe3bb59fee165  openldap-2.4.16.tgz
 2524e490ba334a760fa57057c16da7a9  openldap-2.4-ppolicy.patch
-d19d0502f046078ecd737e29e7552fa8  openldap-2.4.11-libldap_r.patch"
+d19d0502f046078ecd737e29e7552fa8  openldap-2.4.11-libldap_r.patch
+07b1fae35627ea4216dccce33c0b8c69  openldap.pre-install
+f38a6f1de624c17cc0cb6776a089880b  openldap.post-install
+13d0e57e54df945671e975acdfb48636  slapd.initd
+b672311fca605c398240cd37a2ae080a  slapd.confd
+ba44f1a0e62cb88c68aa64e4a39847fa  slurpd.initd"
diff --git a/testing/openldap/openldap.post-install b/testing/openldap/openldap.post-install
new file mode 100644
index 000000000000..1d6affdfee07
--- /dev/null
+++ b/testing/openldap/openldap.post-install
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+chown -R ldap:ldap /var/lib/openldap /var/run/openldap
+chgrp ldap /etc/openldap/slapd.conf
diff --git a/testing/openldap/openldap.pre-install b/testing/openldap/openldap.pre-install
new file mode 100644
index 000000000000..b208a9f5f2e5
--- /dev/null
+++ b/testing/openldap/openldap.pre-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+adduser -h /usr/lib/openldap -s /bin/false -S -D ldap 2>/dev/null || true
diff --git a/testing/openldap/slapd.confd b/testing/openldap/slapd.confd
new file mode 100644
index 000000000000..2240ad3f3022
--- /dev/null
+++ b/testing/openldap/slapd.confd
@@ -0,0 +1,9 @@
+# conf.d file for openldap
+#
+# To enable both the standard unciphered server and the ssl encrypted
+# one uncomment this line or set any other server starting options
+# you may desire.
+#
+# OPTS="-h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
+# Uncomment the below to use the new slapd configuration for openldap 2.3
+#OPTS="-F /etc/openldap/slapd.d -h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
diff --git a/testing/openldap/slapd.initd b/testing/openldap/slapd.initd
new file mode 100644
index 000000000000..1637d3335ae1
--- /dev/null
+++ b/testing/openldap/slapd.initd
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/files/slapd-initd,v 1.2 2008/10/14 10:29:44 robbat2 Exp $
+
+depend() {
+	need net
+}
+
+start() {
+	ebegin "Starting ldap-server"
+	eval start-stop-daemon --start --pidfile /var/run/openldap/slapd.pid --exec /usr/sbin/slapd -- -u ldap -g ldap "${OPTS}"
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping ldap-server"
+	start-stop-daemon --stop --signal 2 --quiet --pidfile /var/run/openldap/slapd.pid 
+	eend $?
+}
diff --git a/testing/openldap/slurpd.initd b/testing/openldap/slurpd.initd
new file mode 100644
index 000000000000..f5aa2ead5a36
--- /dev/null
+++ b/testing/openldap/slurpd.initd
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/files/slurpd-initd,v 1.1 2007/01/16 23:22:02 jokey Exp $
+
+depend() {
+	need net
+}
+
+start() {
+	ebegin "Starting slurpd"
+	start-stop-daemon --start --quiet \
+	--exec /usr/lib/openldap/slurpd 
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping slurpd"
+	start-stop-daemon --stop --quiet \
+	--exec /usr/lib/openldap/slurpd 
+	eend $?
+}
-- 
GitLab