aboutsummaryrefslogblamecommitdiffstats
path: root/main/openldap/APKBUILD
blob: 736b9629d93608795c59cf76c3c9225d4225e6da (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                   
             
        

                              
          
                
        

                
                                                       

                                                                         

                                                                           

                                                                              
                                            
         
 
                              


                                                                                 
                                    
                                   
 


                    

         

                                     
                                     

                                   

                                           
                                                             

 

                                     



                                 
                                       



                                                   
                                
                                  
                                  

                                  








                                      
                                  
                                       


                                    
                        
 


                                                         



                                                                  



                                     
                                                  
 

                                                               
                                                                 


                                                   
                                                             
 

                                                                   
                                                   







                                                                         
                                                                 
                                                     
 


                                                                 



                                                                          


           
                                    
                
                

                                                               


                                                                      












                                                                             





                                              



                                              
                                                                                      
 
 






                                                                                           
                                                              
                                                            
                                                                 
                                                              
                                                             
                                             
                                             
                                               
                                                                                                 

                                                                                                 
                                                                                              
                                                                                             
                                                                             
                                                                             
                                                                               
                                                                                                                                                                 

                                                                                                                                                                 
                                                                                                                                                              
                                                                                                                                                             
                                                                                                                                             
                                                                                                                                             
                                                                                                                                               
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=openldap
pkgver=2.4.44
pkgrel=2
pkgdesc="LDAP Server"
url="http://www.openldap.org/"
arch="all"
license="custom"
depends=
pkgusers="ldap"
pkggroups="ldap"
depends_dev="openssl-dev cyrus-sasl-dev util-linux-dev"
makedepends="$depends_dev db-dev groff unixodbc-dev libtool mosquitto-dev
	autoconf automake libtool"
subpackages="$pkgname-dev $pkgname-doc libldap $pkgname-back-sql:sql
	$pkgname-back-bdb:bdb $pkgname-back-hdb:hdb $pkgname-back-ldap:ldap
	$pkgname-back-meta:meta	$pkgname-back-monitor:monitor $pkgname-clients
	$pkgname-mqtt
	$pkgname-passwd-pbkdf2:passwd_pbkdf2
	"

install="$pkgname.pre-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
	bdb-enabled-by-default.patch
	openldap-mqtt-overlay.patch

	slapd.initd
	slapd.confd
	slurpd.initd
	"

prepare() {
	cd "$srcdir"/$pkgname-$pkgver
	update_config_sub || return 1
	default_prepare || return 1

	sed -e '/^STRIP/s,-s,,g' \
		-i build/top.mk || return 1
	libtoolize --force && aclocal && autoconf || return 1
}

build () {
	cd "$srcdir"/$pkgname-$pkgver
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var/lib/openldap \
		--enable-slapd \
		--enable-crypt \
		--enable-modules \
		--enable-dynamic \
		--enable-bdb=mod \
		--enable-hdb=mod \
		--enable-dnssrv=mod \
		--enable-ldap=mod \
		--enable-meta=mod \
		--enable-monitor=mod \
		--enable-null=mod \
		--enable-passwd=mod \
		--enable-relay=mod \
		--enable-shell=mod \
		--enable-sock=mod \
		--enable-sql=mod \
		--enable-overlays=mod \
		--with-tls=openssl \
		--with-cyrus-sasl \
		|| return 1
	make || return 1

	# build mqtt overlay
	make prefix=/usr libexec=/usr/lib \
		-C contrib/slapd-modules/mqtt || return 1

	# build passwd pbkdf2
	make prefix=/usr libexecdir=/usr/lib \
		-C contrib/slapd-modules/passwd/pbkdf2 || return 1
}

package() {
	cd "$srcdir"/$pkgname-$pkgver
	make DESTDIR="$pkgdir" install || return 1

	install -d -o ldap -g ldap "$pkgdir"/var/run/openldap \
		"$pkgdir"/var/lib/openldap
	sed -i -e 's:/var/lib/openldap/run:/var/run/openldap:g' \
		-e 's:back_bdb.la:back_bdb.so:' \
		-e 's:back_hdb.la:back_hdb.so:' \
		-e 's:back_ldap.la:back_ldap.so:' \
		"$pkgdir"/etc/openldap/slapd.conf || return 1

	mv "$pkgdir"/usr/lib/slapd "$pkgdir"/usr/sbin/ || reteurn 1
	chgrp ldap "$pkgdir"/etc/openldap/slapd.conf
	chmod g+r "$pkgdir"/etc/openldap/slapd.conf
	chown -R ldap.ldap "$pkgdir"/var/lib/openldap/openldap-data
	chmod 700 "$pkgdir"/var/lib/openldap \
		"$pkgdir"/var/lib/openldap/openldap-data
	chown -R ldap.ldap "$pkgdir"/var/lib/openldap/openldap-data
		
	install -Dm755 "$srcdir"/slapd.initd "$pkgdir"/etc/init.d/slapd
	install -Dm755 "$srcdir"/slapd.confd "$pkgdir"/etc/conf.d/slapd
	install -Dm755 "$srcdir"/slurpd.initd "$pkgdir"/etc/init.d/slurpd
	# FIXME: symlinks in sbin are symlinked to /usr/lib/slapd
	ln -s /usr/sbin/slapd "$pkgdir"/usr/lib/slapd

	# install mqtt overlay
	make DESTDIR="$pkgdir" prefix=/usr libexec=/usr/lib \
		-C contrib/slapd-modules/mqtt install || return 1

	# install passwd pbkdf2
	make DESTDIR="$pkgdir" prefix=/usr libexecdir=/usr/lib \
		-C contrib/slapd-modules/passwd/pbkdf2 install || return 1
}

libldap() {
	pkgdesc="OpenLDAP libraries"
	depends=
	install=
	mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/etc/openldap
	mv "$pkgdir"/usr/lib/*.so* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/etc/openldap/ldap.conf "$subpkgdir"/etc/openldap/
}

_backend() {
	pkgdesc="OpenLDAP ${2:-$1} backend"
	mkdir -p "$subpkgdir"/usr/lib/openldap
	mv "$pkgdir"/usr/lib/openldap/back_$1* "$subpkgdir"/usr/lib/openldap/
}

bdb() {		_backend bdb ; }
hdb() {		_backend hdb ; }
sql() {		_backend sql ODBC; }
ldap() {	_backend ldap LDAP; }
meta() {	_backend meta; }
monitor() {	_backend monitor; }

clients() {
	pkgdesc="LDAP client utilities"
	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}

mqtt() {
	pkgdesc="OpenLDAP MQTT overlay"
	depends=$pkgname
	mkdir -p "$subpkgdir"/usr/lib/openldap
	mv "$pkgdir"/usr/lib/openldap/mqtt.* "$subpkgdir"/usr/lib/openldap || return 1
}

passwd_pbkdf2() {
	pkgdesc="PBKDF2 OpenLDAP support"
	depends=$pkgname
	mkdir -p "$subpkgdir"/usr/lib/openldap
	mv "$pkgdir"/usr/lib/openldap/pw-pbkdf2.* "$subpkgdir"/usr/lib/openldap || return 1
}

md5sums="693ac26de86231f8dcae2b4e9d768e51  openldap-2.4.44.tgz
2524e490ba334a760fa57057c16da7a9  openldap-2.4-ppolicy.patch
d19d0502f046078ecd737e29e7552fa8  openldap-2.4.11-libldap_r.patch
2d6b2f0829145c5d9330a381b3ffbb17  bdb-enabled-by-default.patch
05266dddd5a9cc5de1b67ab62b6d26fb  openldap-mqtt-overlay.patch
b1291a48e7f5228a88d8d479cc1c2714  slapd.initd
b672311fca605c398240cd37a2ae080a  slapd.confd
9ecb5712e8e4a8fe5bf0183254305f0d  slurpd.initd"
sha256sums="d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400  openldap-2.4.44.tgz
355a8239355fcc5863ba7430d73af7ccad9e0211ae56180011d15d7418aa5b27  openldap-2.4-ppolicy.patch
3310a89d38bc39e6eb4333799d475411b274482b8bccab212b3edfd4385db70e  openldap-2.4.11-libldap_r.patch
710352d2cd64cba73d236bb6ee7053e9fb9a94232c3b91a44d6d2040d26d42ce  bdb-enabled-by-default.patch
5de1464a6ae154e1556f7faa9494caf7ca94d26a0ef2f7d5abdc6aa2513cc1c9  openldap-mqtt-overlay.patch
454480c29e938a82fd46e490a0369586ed7c344a2ac559f95bbe813df6c07f8a  slapd.initd
1ccb8a3b78b65b125b24779dd065cf8000e2d5e4da267bb0a892e730edd2055d  slapd.confd
3cdd67b848f470399c0e8aeb89031de152383deeaf9da1416596093c67594118  slurpd.initd"
sha512sums="132eb81798f59a364c9246d08697e1c7ebb6c2c3b983f786b14ec0233df09696cbad33a1f35f3076348b5efb77665a076ab854a24122c31e8b58310b7c7fd136  openldap-2.4.44.tgz
5d34d49eabe7cb66cf8284cc3bd9730fa23df4932df68549e242d250ee50d40c434ae074ebc720d5fbcd9d16587c9333c5598d30a5f1177caa61461ab7771f38  openldap-2.4-ppolicy.patch
44d97efb25d4f39ab10cd5571db43f3bfa7c617a5bb087085ae16c0298aca899b55c8742a502121ba743a73e6d77cd2056bc96cee63d6d0862dabc8fb5574357  openldap-2.4.11-libldap_r.patch
d94f791ff3d10f1fe244a6a071331d6dd5933ed859e1cf9465654e650ff7223eedad5f054ad77de2ad4dbbd0b4a2cfda970ad733baaa833183aee996216bdbf1  bdb-enabled-by-default.patch
9c7f41279e91ed995c91e9a8c543c797d9294a93cf260afdc03ab5777e45ed045a4d6a4d4d0180b5dc387dc04babca01d818fbfa8168309df44f4500d2a430a4  openldap-mqtt-overlay.patch
1a5490a29a2be8382a64d3d07a36906d2189571f4c44d8ad96b769db58d91a33b2eee24fe10343ec26440fa61cfd406c4e95153dce29c2f315d1f13f5b0f47e8  slapd.initd
8290769b63b3a5863622de2deb9269a0711ba5f4a225eb230d7c5097937b9d4e8cf5a998ee99232824e2335ae1b6e0114357b61c9611bc2460ebd195d12eabae  slapd.confd
c8bffecdbd09583bec7720b5f6a5b9680b0eae055fd63f10736cf2fe25378b95acddf910e60f6408c9637a3fe48050299cfb500a6bc9a95a0ef135d5a4c4d5f9  slurpd.initd"