Skip to content

Instantly share code, notes, and snippets.

@mmonaco
Created August 2, 2013 00:40
Show Gist options
  • Save mmonaco/6136646 to your computer and use it in GitHub Desktop.
Save mmonaco/6136646 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
pkgname=openldap
pkgdir="$PWD"/.pkg-openldap
pkgver=2.4.35-152-g494ca7d
pkgrel=2
makedeps=(libssl-dev libltdl-dev libdb-dev libsasl2-dev libperl-dev)
build() {
pushd "$pkgname"
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--localstatedir=/run/openldap \
--enable-syslog \
--enable-local \
--enable-dynamic \
--enable-slapd \
--enable-modules \
--enable-{dnssrv,ldap,mdb,meta,monitor,perl,relay,sock}=mod \
--enable-overlays=mod \
--with-cyrus-sasl \
--with-threads \
--with-tls=openssl
make -j5
cd contrib/slapd-modules/nssov
make
popd
}
package1() {
git clean -xdf "$pkgdir"
pushd "$pkgname"
make DESTDIR="$pkgdir" install
pushd "$pkgdir"/usr/sbin
mv "$pkgdir"/usr/lib/slapd .
for f in acl add auth cat dn index passwd schema test; do
ln -sf slapd slap$f
done
popd
rm -f "$pkgdir"/etc/openldap/*.default
rm -f "$pkgdir"/etc/openldap/DB_CONFIG.example
rm -f "$pkgdir"/etc/openldap/slapd.ldif
rm -fr "$pkgdir"/run
pushd contrib/slapd-modules/nssov
cp .libs/nssov.so.0.0.0 "$pkgdir"/usr/lib/openldap/nssov.so
cp slapo-nssov.5 "$pkgdir"/usr/share/man/man5
cp ldapns.schema "$pkgdir"/etc/openldap/schema
popd
#find "$pkgdir"/usr/share/man -type f -exec gzip {} +
popd
}
package2() {
mkdir -p "$pkgdir/etc/init.d"
cp slapd "$pkgdir/etc/init.d/"
mkdir -p "$pkgdir/DEBIAN"
cp postinst conffiles "$pkgdir/DEBIAN/"
cat <<-EOF > "$pkgdir"/DEBIAN/control
Package: $pkgname
Version: $pkgver-$pkgrel
Section: extra
Priority: optional
Architecture: amd64
Maintainer: Matt Monaco <matthew.monaco@colorado.edu>
Depends: libsasl2-2, libssl1.0.0, libltdl7, libslp1, psmisc
Description: OpenLDAP 2.4 git
EOF
dpkg-deb -b "$pkgdir" "$pkgname-$pkgver-$pkgrel.deb"
}
package() {
package1
package2
}
"$@"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment