aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xopenldap/openldap.SlackBuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/openldap/openldap.SlackBuild b/openldap/openldap.SlackBuild
new file mode 100755
index 00000000..7a907008
--- /dev/null
+++ b/openldap/openldap.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/bash
+#
+# slackbuild script for openldap
+# by rhatto at riseup.net
+#
+
+CWD="`pwd`"
+
+if [ -f "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+if [ -f "~/.slackbuildrc" ]; then
+ source ~/.slackbuildrc
+fi
+
+# default settings
+PACKAGE="openldap"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=2.3.24}
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+RTOOL="wget"
+PACKAGE_EXT="tgz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+KEY="http://www.courier-mta.org/KEYS.bin"
+SRC="$PACKAGE-$VERSION.$PACKAGE_EXT"
+URL="ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/$SRC"
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR="/usr/lib64"
+else
+ LIBDIR="/usr/lib"
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE-$VERSION
+
+# otherwise will not work
+DBINC="`ls -l /usr/include/db.h | awk '{ print $10 }'`"
+if [ ! -f "$DBINC" ]; then
+ cp /usr/include/db.h db.h.save
+fi
+
+ln -sf /usr/include/db4/db.h /usr/include/db.h
+
+./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR
+make depend
+make
+make DESTDIR=$TMP/package-$PACKAGE install
+
+# fix your system
+if [ ! -f "$DBINC" ]; then
+ cp db.h.save /usr/include/db.h
+else
+ ln -sf $DBINC /usr/include/db.h
+fi
+
+CWD="`pwd`"
+
+cd $TMP/package-$PACKAGE
+
+find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir install
+cat << EOF > install/slack-desc
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+openldap: openldap (LDAP suite of applications and development tools)
+openldap:
+openldap: The OpenLDAP Project is a collaborative effort to provide a robust,
+openldap: commercial-grade, fully featured, open source LDAP software suite.
+openldap: The project is managed by a worldwide community of volunteers that
+openldap: use the Internet to communicate, plan, and develop OpenLDAP Software
+openldap: and its related documentation. OpenLDAP Software provides a complete
+openldap: LDAP implementation including server, clients, C SDK, and associated
+openldap: tools.
+openldap:
+openldap:
+EOF
+
+# configs
+mv etc/openldap/ldap.conf etc/openldap/ldap.conf.new
+mv etc/openldap/slapd.conf etc/openldap/slapd.conf.new
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in ANNOUNCEMENT CHANGES COPYRIGHT INSTALL LICENSE README; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+# install script
+echo '( if [ ! -f "etc/openldap/ldap.conf" ]; then mv etc/openldap/ldap.conf.new etc/openldap/ldap.conf; fi )' > install/doinst.sh
+echo '( if [ ! -f "etc/openldap/slapd.conf" ]; then mv etc/openldap/slapd.conf.new etc/openldap/slapd.conf; fi )' >> install/doinst.sh
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+