--- /usr/portage/net-nds/openldap/openldap-2.3.21-r1.ebuild 2006-05-06 06:36:05.000000000 -0700 +++ openldap-2.3.21-r1.ebuild 2006-05-15 18:11:45.941775680 -0700 @@ -175,6 +175,12 @@ ln -s shtool install ln -s shtool install.sh + # bug #116045 + # patch contrib modules + if ! use minimal ; then + cd ${S}/contrib + epatch ${FILESDIR}/contrib-smbk5pwd-Makefile.patch + fi } src_compile() { @@ -245,13 +251,52 @@ make depend || die "make depend failed" make || die "make failed" - # special kerberos stuff + # openldap/contrib tc-export CC - if ! use minimal && use kerberos ; then - cd ${S}/contrib/slapd-modules/passwd/ && \ - ${CC} -shared -I../../../include ${CFLAGS} -fPIC \ - -DHAVE_KRB5 -o pw-kerberos.so kerberos.c || \ - die "failed to compile kerberos module" + if ! use minimal ; then + # dsaschema + einfo "Building contributed dsaschema" + cd ${S}/contrib/slapd-modules/dsaschema + ${CC} -shared -I../../../include ${CFLAGS} -fPIC \ + -Wall -o libdsaschema-plugin.so dsaschema.c || \ + die "failed to compile dsaschema module" + # kerberos passwd + if use kerberos ; then + einfo "Building contributed pw-kerberos" + cd ${S}/contrib/slapd-modules/passwd/ && \ + ${CC} -shared -I../../../include ${CFLAGS} -fPIC \ + -DHAVE_KRB5 -o pw-kerberos.so kerberos.c || \ + die "failed to compile kerberos password module" + fi + # netscape mta-md5 password + einfo "Building contributed pw-netscape" + cd ${S}/contrib/slapd-modules/passwd/ && \ + ${CC} -shared -I../../../include ${CFLAGS} -fPIC \ + -o pw-netscape.so netscape.c || \ + die "failed to compile netscape password module" + # smbk5pwd overlay + # Note: this modules builds, but may not work with + # Gentoo's MIT-Kerberos. It was designed for Heimdal + # Kerberos. + einfo "Building contributed smbk5pwd" + local mydef + local mykrb5inc + use samba && mydef="-DDO_SAMBA" + if use kerberos; then + mydef="${mydef} -DDO_KRB5" + if [ -d /usr/include/heimdal ]; then + mykrb5inc="-I/usr/include/heimdal/" + fi + fi + cd ${S}/contrib/slapd-modules/smbk5pwd && \ + DEFS="${mydef}" KRB5_INC="${mykrb5inc}" emake || \ + die "failed to compile smbk5pwd module" + # addrdnvalues + einfo "Building contributed addrdnvalues" + cd ${S}/contrib/slapi-plugins/addrdnvalues/ && \ + ${CC} -shared -I../../../include ${CFLAGS} -fPIC \ + -o libaddrdnvalues-plugin.so addrdnvalues.c || \ + die "failed to compile addrdnvalues plugin" fi } @@ -311,11 +356,55 @@ fi insinto /etc/conf.d newins ${FILESDIR}/2.0/slapd.conf slapd - if use kerberos && [ -f ${S}/contrib/slapd-modules/passwd/pw-kerberos.so ]; then - insinto /usr/$(get_libdir)/openldap/openldap - doins ${S}/contrib/slapd-modules/passwd/pw-kerberos.so || \ + # install contributed modules + docinto / + if [ -e ${S}/contrib/slapd-modules/dsaschema/libdsaschema-plugin.so ]; + then + cd ${S}/contrib/slapd-modules/dsaschema/ + newdoc README README.contrib.dsaschema + exeinto /usr/$(get_libdir)/openldap/openldap + doexe libdsaschema-plugin.so || \ + die "failed to install dsaschema module" + fi + if [ -e ${S}/contrib/slapd-modules/passwd/pw-kerberos.so ]; then + cd ${S}/contrib/slapd-modules/passwd/ + newdoc README README.contrib.passwd + exeinto /usr/$(get_libdir)/openldap/openldap + doexe pw-kerberos.so || \ die "failed to install kerberos passwd module" fi + if [ -e ${S}/contrib/slapd-modules/passwd/pw-netscape.so ]; then + cd ${S}/contrib/slapd-modules/passwd/ + newdoc README README.contrib.passwd + exeinto /usr/$(get_libdir)/openldap/openldap + doexe ${S}/contrib/slapd-modules/passwd/pw-netscape.so || \ + die "failed to install Netscape MTA-MD5 passwd module" + fi + if [ -e ${S}/contrib/slapd-modules/smbk5pwd/.libs/smbk5pwd.so ]; then + cd ${S}/contrib/slapd-modules/smbk5pwd + newdoc README.contrib.smbk5pwd + exeinto /usr/$(get_libdir)/openldap/openldap + doexe smbk5pwd.la + cd ${S}/contrib/slapd-modules/smbk5pwd/.libs + doexe smbk5pwd.so* || \ + die "failed to install smbk5pwd overlay module" + fi + if [ -e ${S}/contrib/slapd-tools/statslog ]; then + cd ${S}/contrib/slapd-tools + exeinto /usr/bin + newexe statslog ldapstatslog || \ + die "failed to install ldapstatslog script" + fi + if [ -e + ${S}/contrib/slapi-plugins/addrdnvalues/libaddrdnvalues-plugin.so ]; + then + cd ${S}/contrib/slapi-plugins/addrdnvalues + newdoc README README.contrib.addrdnvalues + exeinto /usr/$(get_libdir)/openldap/openldap + doexe libaddrdnvalues-plugin.so || \ + die "failed to install addrdnvalues plugin" + fi + fi # install MDK's ssl cert script @@ -327,23 +416,23 @@ # keep old libs if any # from 2.1 - for each in ${ROOT}usr/$(get_libdir)/liblber.so.2.0.1*; do + for each in ${ROOT}usr/$(get_libdir)/liblber.so.2.0.1* ; do preserve_old_lib ${each} done - for each in ${ROOT}usr/$(get_libdir)/libldap.so.2.0.1*; do + for each in ${ROOT}usr/$(get_libdir)/libldap.so.2.0.1* ; do preserve_old_lib ${each} done - for each in ${ROOT}usr/$(get_libdir)/libldap_r.so.2.0.1*; do + for each in ${ROOT}usr/$(get_libdir)/libldap_r.so.2.0.1* ; do preserve_old_lib ${each} done # from 2.2 - for each in ${ROOT}usr/$(get_libdir)/liblber-2.2*; do + for each in ${ROOT}usr/$(get_libdir)/liblber-2.2* ; do preserve_old_lib ${each} done - for each in ${ROOT}usr/$(get_libdir)/libldap-2.2*; do + for each in ${ROOT}usr/$(get_libdir)/libldap-2.2* ; do preserve_old_lib ${each} done - for each in ${ROOT}usr/$(get_libdir)/libldap_r-2.2*; do + for each in ${ROOT}usr/$(get_libdir)/libldap_r-2.2* ; do preserve_old_lib ${each} done }