Patch for building with openldap 2.3.x as per bug #113914
authorBenjamin Smee <strerror@gentoo.org>
Wed, 30 Nov 2005 00:39:42 +0000 (00:39 +0000)
committerBenjamin Smee <strerror@gentoo.org>
Wed, 30 Nov 2005 00:39:42 +0000 (00:39 +0000)
Package-Manager: portage-2.0.51.22-r3

dev-libs/cyrus-sasl/ChangeLog
dev-libs/cyrus-sasl/Manifest
dev-libs/cyrus-sasl/cyrus-sasl-2.1.21-r2.ebuild [new file with mode: 0644]
dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-configure.patch [new file with mode: 0644]
dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.21-r2 [new file with mode: 0644]

index 425a464e8597051adae4f830766c381c9991b85b..44f6ba77a10674a161a8e71fcbd99de2f101cc06 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-libs/cyrus-sasl
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.133 2005/11/06 11:52:50 ferdy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.134 2005/11/30 00:39:42 strerror Exp $
+
+*cyrus-sasl-2.1.21-r2 (30 Nov 2005)
+
+  30 Nov 2005; Benjamin Smee <strerror@gentoo.org>
+  +files/cyrus-sasl-2.1.21-configure.patch, +cyrus-sasl-2.1.21-r2.ebuild:
+  Patch for building with openldap 2.3.x as per bug #113914
 
   06 Nov 2005; Fernando J. Pereda <ferdy@gentoo.org>
   cyrus-sasl-2.1.21-r1.ebuild:
index e8554a86574ce9218e0fe4cd9f8a71c32d3ea0a5..c948500abfafbbce57ade15f359316a1cece802f 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 MD5 a14bf6d5cc101c31d97280ad9c48785e cyrus-sasl-2.1.18-r2.ebuild 5431
 MD5 54f2bd76be47e4beec9b53b237d0e44f cyrus-sasl-2.1.19-r1.ebuild 7161
 MD5 267cd40a5fb6cc0d346ff563ff1d9aca cyrus-sasl-2.1.20-r2.ebuild 9524
@@ -8,9 +5,10 @@ MD5 3d105c5c251003e1df07df4c5f426d14 cyrus-sasl-2.1.21-r1.ebuild 9579
 MD5 80e82039d1535646788bd0866629b1df cyrus-sasl-2.1.21.ebuild 9199
 MD5 62922ef59be6add5b73bc4f12b9041ea cyrus-sasl-2.1.20-r1.ebuild 8558
 MD5 d9fda6c54c37d9a72b5ec222a0f942cb cyrus-sasl-2.1.20-r3.ebuild 9191
-MD5 3d9e41d0ececbc6e06b07c7c931e7645 ChangeLog 22934
+MD5 69f73875727b8e8b16239bf9517b6bf7 ChangeLog 23160
 MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
 MD5 97de45d37a62d1c1e7e52740007637b7 cyrus-sasl-2.1.20.ebuild 7352
+MD5 895904f528b4c77b6d4a4c94de88a347 cyrus-sasl-2.1.21-r2.ebuild 9682
 MD5 5d8f83e453b4f7dff5eeee74335de870 files/cyrus-sasl-1.5.24-rpath.patch 448
 MD5 4144a6962acfd7983cc292259375149d files/cyrus-sasl-2.1.20-configdir.patch 8231
 MD5 13c15e58d2fa734adeb718e4e3dea757 files/cyrus-sasl-2.1.18-db4.patch 1604
@@ -20,6 +18,7 @@ MD5 c355c365d74408c00cdaa25beea6d4f7 files/digest-cyrus-sasl-2.1.20-r1 70
 MD5 459aa1c6826a31cb3c0efe7a1c5ebbc4 files/digest-cyrus-sasl-2.1.20-r2 149
 MD5 c142fbeff7892e6a0e970da00929395c files/digest-cyrus-sasl-2.1.20-r3 149
 MD5 6e3a4b0f3a097e9aadfe5ac4efe8a7bf files/digest-cyrus-sasl-2.1.21-r1 156
+MD5 6e3a4b0f3a097e9aadfe5ac4efe8a7bf files/digest-cyrus-sasl-2.1.21-r2 156
 MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.18-sasl-path-fix.patch 529
 MD5 fc0d11e115e65597419803dad9727aa8 files/saslauthd2.conf 752
 MD5 f8ad054201be2531b337375299c4c39b files/cyrus-sasl-2.1.20-gcc4.patch 462
@@ -44,6 +43,7 @@ MD5 e27ddff076342e7a3041c4759817d04b files/cyrus-sasl-2.1.19-checkpw.c.patch 485
 MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.19-sasl-path-fix.patch 529
 MD5 5d79108b7b67bd3af315e3142023fef5 files/saslauthd2.rc6 527
 MD5 a46ddb41677b9b08046d193d9db8a4bb files/saslauthd.conf 890
+MD5 2ae00e9ffd84efc610f478b88ce7e099 files/cyrus-sasl-2.1.21-configure.patch 559
 MD5 9a317f7aa562936a829574f63aefce15 files/cyrus-sasl-saslauthd.patch 4938
 MD5 b398dd3696347604a52a40bf1a77291b files/2.1.14-db4.patch 2032
 MD5 75aaabf38cf470bae9a928a334c3cb59 files/cyrus-sasl-configdir.patch 8510
@@ -52,10 +52,3 @@ MD5 397ec1b24d4efe6efafa4782ba0f3493 files/cyrus-sasl-2.1.17-configdir.patch 809
 MD5 e8b9357dba2bde4dac0b1cf38d5942eb files/cyrus-sasl-2.1.18-cvs-1.172.patch 5056
 MD5 c355c365d74408c00cdaa25beea6d4f7 files/digest-cyrus-sasl-2.1.20 70
 MD5 6e3a4b0f3a097e9aadfe5ac4efe8a7bf files/digest-cyrus-sasl-2.1.21 156
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDbe6yViELBEf1JB0RAof3AJ43a+EdGOBu48qYNVGLguS5gJAgpACfcDo7
-Xd+Tt4ARwvGDEpQRnM0XoLo=
-=h0Dl
------END PGP SIGNATURE-----
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.21-r2.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.21-r2.ebuild
new file mode 100644 (file)
index 0000000..306fb2a
--- /dev/null
@@ -0,0 +1,283 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.21-r2.ebuild,v 1.1 2005/11/30 00:39:42 strerror Exp $
+
+inherit eutils gnuconfig flag-o-matic java-pkg multilib
+
+ntlm_patch=${P}-ntlm_impl-spnego.patch.gz
+
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
+HOMEPAGE="http://asg.web.cmu.edu/sasl/"
+SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz
+       ntlm_unsupported_patch? ( mirror://gentoo/${ntlm_patch} )"
+
+LICENSE="as-is"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+# Removed 'static' USE flag because it is broken upstream, Bug #94137
+IUSE="berkdb crypt gdbm ldap mysql postgres kerberos ssl java pam
+               authdaemond sample urandom srp ntlm_unsupported_patch"
+
+RDEPEND="virtual/libc
+       berkdb? ( >=sys-libs/db-3.2 )
+       gdbm? ( >=sys-libs/gdbm-1.8.0 )
+       ldap? ( >=net-nds/openldap-2.0.25 )
+       mysql? ( >=dev-db/mysql-3.23.51 )
+       postgres? ( >=dev-db/postgresql-7.2 )
+       pam? ( virtual/pam )
+       ssl? ( >=dev-libs/openssl-0.9.6d )
+       kerberos? ( virtual/krb5 )
+       authdaemond? (
+               || (
+                       >=net-mail/courier-imap-3.0.7
+                       >=mail-mta/courier-0.46
+               )
+       )
+       java? ( virtual/jdk )
+       ntlm_unsupported_patch? ( >=net-fs/samba-3.0.9 )"
+
+DEPEND="${RDEPEND}
+       >=sys-apps/sed-4
+       >=sys-devel/autoconf-2.58
+       sys-devel/automake
+       sys-devel/libtool"
+
+pkg_setup() {
+
+       if use gdbm && use berkdb; then
+               echo
+               ewarn "You have both \"gdbm\" and \"berkdb\" in your USE flags."
+               ewarn "Will default to GNU DB as your SASLdb database backend."
+               ewarn "If you want to build with Berkeley DB support; hit Control-C now."
+               ewarn "Change your USE flag -gdbm and emerge again."
+               echo
+               has_version ">=sys-apps/portage-2.0.50" && (
+               einfo "It would be best practice to add the set of USE flags that you use for this"
+               einfo "package to the file: /etc/portage/package.use. Example:"
+               einfo "\`echo \"dev-libs/cyrus-sasl -gdbm berkdb\" >> /etc/portage/package.use\`"
+               einfo "to build cyrus-sasl with Berkeley database as your SASLdb backend."
+               )
+               echo
+               ewarn "Waiting 10 seconds before starting..."
+               ewarn "(Control-C to abort)..."
+               epause 10
+       fi
+
+       echo
+       einfo "This version include a "-r" option for saslauthd to instruct it to reassemble"
+       einfo "realm and username into a username of "user@realm" form."
+       echo
+       einfo "If you are still using postfix->sasl->saslauthd->pam->mysql for"
+       einfo "authentication, please edit /etc/conf.d/saslauthd to read:"
+       einfo "SASLAUTHD_OPTS=\"\${SASLAUTH_MECH} -a pam -r\""
+       einfo "Don't forget to restart the service: \`/etc/init.d/saslauthd restart\`."
+       echo
+       einfo "Pause 10 seconds before continuing."
+       epause 10
+}
+
+src_unpack() {
+       unpack ${A} && cd "${S}"
+
+
+       # Fix default port name for rimap auth mechanism.
+       sed -e '/define DEFAULT_REMOTE_SERVICE/s:imap:imap2:' \
+               -i saslauthd/auth_rimap.c || die "sed failed"
+
+       # Add openldap 2.3 compile patch - bug #113914
+       epatch "${FILESDIR}/${PN}-2.1.21-configure.patch"
+
+       # Add configdir support.
+       epatch "${FILESDIR}/${PN}-2.1.20-configdir.patch"
+
+       # Fix include path for newer PostgreSQL versions.
+       epatch "${FILESDIR}/${PN}-2.1.17-pgsql-include.patch"
+
+       # Fix for gcc-4.0
+       epatch "${FILESDIR}/${PN}-2.1.20-gcc4.patch"
+
+       # UNSUPPORTED ntlm patch. Bug #81342
+       use ntlm_unsupported_patch && epatch "${DISTDIR}/${ntlm_patch}"
+
+       # Recreate configure.
+       export WANT_AUTOCONF="2.5"
+       rm -rf configure config.h.in autom4te.cache
+       ebegin "Recreating configure"
+       aclocal -I cmulocal -I config && autoheader && autoconf || \
+               die "recreate configure failed"
+       eend $?
+
+       # Support for crypted passwords. Bug #45181
+       use crypt && epatch "${FILESDIR}/cyrus-sasl-2.1.19-checkpw.c.patch"
+
+       # Upstream doesn't even honor their own configure options... grumble
+       sed -i 's:^sasldir = .*$:sasldir = $(plugindir):' ${S}/plugins/Makefile.{am,in}
+}
+
+src_compile() {
+       local myconf="--enable-login --enable-ntlm --disable-krb4 --disable-otp"
+#      myconf="${myconf} `use_enable static`" -- doesn't work upstream Bug #94137
+       myconf="${myconf} `use_with ssl openssl`"
+       myconf="${myconf} `use_with pam`"
+       myconf="${myconf} `use_with ldap`"
+       myconf="${myconf} `use_enable ldap ldapdb`"
+       myconf="${myconf} `use_enable sample`"
+       myconf="${myconf} `use_enable kerberos gssapi`"
+       myconf="${myconf} `use_with mysql` `use_enable mysql`"
+       myconf="${myconf} `use_with postgres pgsql` `use_enable postgres`"
+       # Add use srp. Bug #81970.
+       myconf="${myconf} `use_enable srp`"
+       myconf="${myconf} `use_enable java` `use_with java javahome ${JAVA_HOME}`"
+       # bug #56523. add authdaemond support.
+       myconf="${myconf} `use_with authdaemond`"
+
+       # fix for bug #59634. langthang 20040810.
+       if ! use ssl; then
+               myconf="${myconf} --without-des"
+       fi
+
+       if use mysql || use postgres ; then
+               myconf="${myconf} --enable-sql"
+       else
+               myconf="${myconf} --disable-sql"
+       fi
+
+       # default to GDBM if both 'gdbm' and 'berkdb' present.
+       if use gdbm; then
+               einfo "build with GNU DB as database backend for your SASLdb."
+               myconf="${myconf} --with-dblib=gdbm"
+       elif use berkdb ; then
+               einfo "build with Berkeley DB as database backend for your SASLdb."
+               myconf="${myconf} --with-dblib=berkeley"
+       else
+               einfo "build without SASLdb support"
+               myconf="${myconf} --with-dblib=none"
+       fi
+
+       # Use /dev/urandom instead of /dev/random. Bug #46038
+       use urandom && myconf="${myconf} --with-devrandom=/dev/urandom"
+
+       # Detect mips systems properly.
+       gnuconfig_update
+
+       econf \
+               --with-saslauthd=/var/lib/sasl2 \
+               --with-pwcheck=/var/lib/sasl2 \
+               --with-configdir=/etc/sasl2 \
+               --with-plugindir=/usr/$(get_libdir)/sasl2 \
+               --with-dbpath=/etc/sasl2/sasldb2 \
+               ${myconf} || die "econf failed"
+
+       # Upstream doesn't even honor their own configure options... grumble
+       sed -i 's:^sasldir = .*$:sasldir = $(plugindir):' ${S}/plugins/Makefile
+
+       # Fix PEBCAK in make.conf. Bug #75538.
+       CFLAGS="$(echo ${CFLAGS} | xargs)"
+       CXXFLAGS="$(echo ${CXXFLAGS} | xargs)"
+       LDFLAGS="$(echo ${LDFLAGS} | xargs)"
+
+       # Parallel build doesn't work.
+       # Parallel build doesn't like distcc/ccache? Bug #78643.
+       if has distcc $FEATURES || has ccache $FEATURES; then
+               einfo "You have \"distcc\" or \"ccache\" enabled"
+               einfo "build with MAKEOPTS=-j1"
+               emake -j1 || die "compile problem"
+       else
+               einfo "build with MAKEOPTS=$MAKEOPTS"
+               emake || die "compile problem"
+       fi
+
+       # Bug #60769. Default location for java classes breaks OpenOffice.
+       # Thanks to axxo@gentoo.org for the solution.
+       cd "${S}"
+       if use java; then
+               jar -cvf ${PN}.jar -C java $(find java -name "*.class")
+       fi
+
+       # Bug #58768. Add testsaslauthd.
+       cd "${S}/saslauthd"
+       emake testsaslauthd || die "failed to make"
+}
+
+src_install () {
+       #einstall
+       make DESTDIR=${D} install || die "failed to install."
+       keepdir /var/lib/sasl2 /etc/sasl2
+
+       # Install everything necessary so user can build sample client/server
+       # (bug #64733)
+       if use sample; then
+               insinto /usr/share/${PN}-2/examples
+               doins aclocal.m4 config.h config.status configure.in
+               dosym /usr/include/sasl /usr/share/${PN}-2/examples/include
+               exeinto /usr/share/${PN}-2/examples
+               doexe libtool
+               insinto /usr/share/${PN}-2/examples/sample
+               doins sample/*.{c,h} sample/*Makefile*
+               insinto /usr/share/${PN}-2/examples/sample/.deps
+               doins sample/.deps/*
+               dodir /usr/share/${PN}-2/examples/lib
+               dosym /usr/$(get_libdir)/libsasl2.la /usr/share/${PN}-2/examples/lib/libsasl2.la
+               dodir /usr/share/${PN}-2/examples/lib/.libs
+               dosym /usr/$(get_libdir)/libsasl2.so /usr/share/${PN}-2/examples/lib/.libs/libsasl2.so
+       fi
+
+       # Bug #60769. Default location for java classes breaks OpenOffice.
+       if use java; then
+               java-pkg_dojar ${PN}.jar
+               #hackish, don't wanna dig though makefile
+               rm -rf ${D}/usr/$(get_libdir)/java
+               docinto java
+               dodoc ${S}/java/README ${FILESDIR}/java.README.gentoo ${S}/java/doc/*
+               mkdir ${D}/usr/share/doc/${PF}/java/Test/ \
+                       || die "failed to create ${D}/usr/share/doc/${PF}/java/Test/"
+               cp ${S}/java/Test/*.java ${D}/usr/share/doc/${PF}/java/Test/ \
+                       || die "failed to copy java files to ${D}/usr/share/doc/${PF}/java/Test/"
+       fi
+
+       # Generate an empty sasldb2 with correct permissions.
+       if use berkdb || use gdbm; then
+               LD_OLD="${LD_LIBRARY_PATH}"
+               export LD_LIBRARY_PATH="${D}/usr/$(get_libdir)" SASL_PATH="${D}/usr/$(get_libdir)/sasl2"
+               echo "p" | "${D}/usr/sbin/saslpasswd2" -f "${D}/etc/sasl2/sasldb2" -p login
+               "${D}/usr/sbin/saslpasswd2" -f "${D}/etc/sasl2/sasldb2" -d login
+               export LD_LIBRARY_PATH="${LD_OLD}"
+               chown root:mail "${D}/etc/sasl2/sasldb2"
+               chmod 0640 "${D}/etc/sasl2/sasldb2"
+       fi
+
+       docinto ""
+       dodoc AUTHORS COPYING ChangeLog NEWS README doc/TODO doc/*.txt
+       newdoc pwcheck/README README.pwcheck
+       dohtml doc/*.html
+
+       docinto saslauthd
+       dodoc saslauthd/{AUTHORS,COPYING,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
+
+       newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
+       newinitd "${FILESDIR}/pwcheck.rc6" pwcheck || \
+               die "failed to install pwcheck to /etc/init.d"
+       newinitd "${FILESDIR}/saslauthd2.rc6" saslauthd || \
+               die "failed to install saslauthd to /etc/init.d"
+       newconfd "${FILESDIR}/saslauthd-${PV}.conf" saslauthd || \
+               die "failed to install /etc/conf.d/saslauthd"
+
+       exeinto ${ROOT}/usr/sbin
+       newexe "${S}/saslauthd/testsaslauthd" testsaslauthd || \
+               die "failed to install testsaslauthd."
+}
+
+pkg_postinst () {
+       if use sample; then
+               einfo "You have chosen to install sources for example client and server."
+               einfo "To build these, please type:"
+               einfo "\tcd /usr/share/${PN}-2/examples/sample && make"
+       fi
+
+       if use authdaemond; then
+               ewarn "You need to add a user running a service using Courier's"
+               ewarn "authdaemon to the 'mail' group. For example, do:"
+               echo "  gpasswd -a postfix mail"
+               ewarn "to add postfix to 'mail' group."
+       fi
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-configure.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.21-configure.patch
new file mode 100644 (file)
index 0000000..7b392c8
--- /dev/null
@@ -0,0 +1,11 @@
+--- cmulocal/openldap.m4.orig  2005-11-30 00:27:10.000000000 +0000
++++ cmulocal/openldap.m4       2005-11-30 00:27:41.000000000 +0000
+@@ -28,6 +28,8 @@
+ char *__openldap_compat = "2.1.27 or better okay";
+ #elif LDAP_VENDOR_VERSION_MAJOR == 2  && LDAP_VENDOR_VERSION_MINOR == 2 && LDAP_VENDOR_VERSION_PATCH > 5
+ char *__openldap_compat = "2.2.6 or better okay";
++#elif LDAP_VENDOR_VERSION_MAJOR == 2  && LDAP_VENDOR_VERSION_MINOR > 2
++char *__openldap_compat = "2.3.1 or better okay";
+ #endif
+ ],      [cmu_cv_openldap_compat=yes], [cmu_cv_openldap_compat=no])])
+ ])
diff --git a/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.21-r2 b/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.21-r2
new file mode 100644 (file)
index 0000000..98e062d
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 dde02db234dea892bee298390890502e cyrus-sasl-2.1.21.tar.gz 1584931
+MD5 9a8de902bf642a4f66007d07c16335ce cyrus-sasl-2.1.21-ntlm_impl-spnego.patch.gz 7465