1# $OpenBSD: Makefile,v 1.12 2022/05/20 09:46:47 bluhm Exp $ 2 3OUT=${.CURDIR}/out 4DIT=dc=example,dc=com 5DIT2=dc=bar,dc=quux 6NLV=0.65 7CLEANFILES=ldapd.log ldapd1.conf ${DIT}_indx.db ${DIT}_data.db ${DIT2}_indx.db ${DIT2}_data.db 8 9# Needs p5-ldap and openldap (client) 10 11PERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ 12 eval { require Net::LDAP } or print $@; \ 13' 14.if ! empty (PERL_REQUIRE) 15regress: 16 @echo "${PERL_REQUIRE}" 17 @echo install package p5-ldap 18 @echo SKIPPED 19.endif 20 21.if ! (make(clean) || make(cleandir) || make(obj)) 22LDAP_DEP != ldapsearch -VV 2>/dev/null ; echo $? 23.endif 24.if ("${LDAP_DEP}" != 0) 25regress: 26 @echo openldap-client must be installed 27 @echo SKIPPED 28.endif 29 30REGRESS_TARGETS = connect import perl purge 31REGRESS_ROOT_TARGETS = ${REGRESS_TARGETS} 32REGRESS_SETUP_ONCE = bootstrap 33REGRESS_CLEANUP = kill 34 35bootstrap: kill 36 [ -z "${SUDO}" ] || ${SUDO} true 37 rm -f ldapd1.conf ldapd.log 38 ${SUDO} install -m 600 -o root ${.CURDIR}/ldapd.conf ldapd1.conf 39 ${SUDO} ldapd -n -r ${.OBJDIR} -f ${.OBJDIR}/ldapd1.conf 40 ${SUDO} ldapd -dvv -r ${.OBJDIR} -f ${.OBJDIR}/ldapd1.conf >ldapd.log 2>&1 & 41 # wait up to 10 seconds for startup 42 for i in `jot 100`; do \ 43 if grep -q 'ldape: entering event loop' ldapd.log; then break; fi; \ 44 sleep .1; \ 45 done 46 grep 'ldape: entering event loop' ldapd.log 47 48kill: 49 -${SUDO} pkill ldapd 50 51connect: 52 ldapsearch -x -H ldapi://%2ftmp%2fldapi | diff - ${OUT}/empty.log 53 ldapsearch -x -H ldap://localhost:6639 2>&1 | diff - ${OUT}/empty.log 54 ldapsearch -x -H ldap://localhost:6636 2>&1 | diff - ${OUT}/empty.log 55 56import: 57 ldapadd -f ${.CURDIR}/dit-example.ldif -Dcn=admin,${DIT} -x -w secret -H ldap://localhost:6639 | diff - ${OUT}/adding.log 58 ldapsearch -x -b ${DIT} -H ldap://localhost:6639 | diff - ${OUT}/example.log 59 ldapsearch -x -D cn=admin,${DIT} -w secret -b ${DIT} -H ldap://localhost:6639 | diff - ${OUT}/example.log 60 61purge: 62 ldapdelete -Dcn=admin,${DIT} -x -w secret -H ldap://localhost:6639 -r ${DIT} 63 ldapsearch -x -H ldap://localhost:6639 2>&1 | diff - ${OUT}/empty.log 64 65perl: 66 perl ${.CURDIR}/run-tests.pl 67 68.include <bsd.regress.mk> 69