Gentoo Archives: gentoo-commits

From: "Michal Gorny (mgorny)" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/cyrus-sasl: cyrus-sasl-2.1.26-r6.ebuild ChangeLog
Date: Fri, 30 May 2014 19:59:09
Message-Id: 20140530195904.BFEDD20036@flycatcher.gentoo.org
1 mgorny 14/05/30 19:59:04
2
3 Modified: ChangeLog
4 Added: cyrus-sasl-2.1.26-r6.ebuild
5 Log:
6 Enable multilib support.
7
8 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
9
10 Revision Changes Path
11 1.299 dev-libs/cyrus-sasl/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog?rev=1.299&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog?rev=1.299&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog?r1=1.298&r2=1.299
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v
20 retrieving revision 1.298
21 retrieving revision 1.299
22 diff -u -r1.298 -r1.299
23 --- ChangeLog 15 May 2014 05:45:32 -0000 1.298
24 +++ ChangeLog 30 May 2014 19:59:04 -0000 1.299
25 @@ -1,6 +1,11 @@
26 # ChangeLog for dev-libs/cyrus-sasl
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.298 2014/05/15 05:45:32 eras Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.299 2014/05/30 19:59:04 mgorny Exp $
30 +
31 +*cyrus-sasl-2.1.26-r6 (30 May 2014)
32 +
33 + 30 May 2014; Michał Górny <mgorny@g.o> +cyrus-sasl-2.1.26-r6.ebuild:
34 + Enable multilib support.
35
36 *cyrus-sasl-2.1.26-r5 (15 May 2014)
37
38
39
40
41 1.1 dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r6.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r6.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r6.ebuild?rev=1.1&content-type=text/plain
45
46 Index: cyrus-sasl-2.1.26-r6.ebuild
47 ===================================================================
48 # Copyright 1999-2014 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r6.ebuild,v 1.1 2014/05/30 19:59:04 mgorny Exp $
51
52 EAPI=5
53
54 inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
55
56 SASLAUTHD_CONF_VER="2.1.26"
57
58 DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)."
59 HOMEPAGE="http://cyrusimap.web.cmu.edu/"
60 SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
61
62 LICENSE="BSD-with-attribution"
63 SLOT="2"
64 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
65 IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample sqlite
66 srp ssl static-libs urandom"
67
68 DEPEND="net-mail/mailbase
69 authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
70 berkdb? ( >=sys-libs/db-3.2[${MULTILIB_USEDEP}] )
71 gdbm? ( >=sys-libs/gdbm-1.8.0[${MULTILIB_USEDEP}] )
72 kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
73 openldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
74 mysql? ( virtual/mysql )
75 pam? ( virtual/pam[${MULTILIB_USEDEP}] )
76 postgres? ( dev-db/postgresql-base )
77 sqlite? ( dev-db/sqlite:3[${MULTILIB_USEDEP}] )
78 ssl? ( dev-libs/openssl[${MULTILIB_USEDEP}] )
79 java? ( >=virtual/jdk-1.4 )"
80 RDEPEND="${DEPEND}"
81
82 MULTILIB_WRAPPED_HEADERS=(
83 /usr/include/sasl/md5global.h
84 )
85
86 pkg_setup() {
87 java-pkg-opt-2_pkg_setup
88 }
89
90 src_prepare() {
91 epatch "${FILESDIR}"/${PN}-2.1.25-sasldb_al.patch
92 epatch "${FILESDIR}"/${PN}-2.1.25-saslauthd_libtool.patch
93 epatch "${FILESDIR}"/${PN}-2.1.25-avoid_pic_overwrite.patch
94 epatch "${FILESDIR}"/${PN}-2.1.25-autotools_fixes.patch
95 epatch "${FILESDIR}"/${PN}-2.1.25-as_needed.patch
96 epatch "${FILESDIR}"/${PN}-2.1.25-missing_header.patch
97 epatch "${FILESDIR}"/${PN}-2.1.25-fix_heimdal.patch
98 epatch "${FILESDIR}"/${PN}-2.1.25-auxprop.patch
99 epatch "${FILESDIR}"/${PN}-2.1.23-gss_c_nt_hostbased_service.patch
100 epatch "${FILESDIR}"/${PN}-2.1.25-service_keytabs.patch
101 epatch "${FILESDIR}"/${PN}-2.1.26-missing-size_t.patch
102 epatch "${FILESDIR}"/${PN}-2.1.26-CVE-2013-4122.patch
103 epatch "${FILESDIR}"/${PN}-2.1.26-send-imap-logout.patch
104 epatch "${FILESDIR}"/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
105 epatch "${FILESDIR}"/${PN}-2.1.26-fix_dovecot_authentication.patch
106
107 # Get rid of the -R switch (runpath_switch for Sun)
108 # >=gcc-4.6 errors out with unknown option
109 sed -i -e '/LIB_SQLITE.*-R/s/ -R[^"]*//' \
110 configure.in || die
111
112 # Use plugindir for sasldir
113 sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
114 "${S}"/plugins/Makefile.{am,in} || die "sed failed"
115
116 # #486740 #468556
117 sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' \
118 -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
119 configure.in || die
120 sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
121 saslauthd/configure.in || die
122
123 eautoreconf
124 }
125
126 src_configure() {
127 append-flags -fno-strict-aliasing
128 append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
129
130 multilib-minimal_src_configure
131 }
132
133 multilib_src_configure() {
134 # Java support.
135 multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
136
137 local myconf=()
138
139 # Add authdaemond support (bug #56523).
140 if use authdaemond ; then
141 myconf+=( --with-authdaemond=/var/lib/courier/authdaemon/socket )
142 fi
143
144 # Fix for bug #59634.
145 if ! use ssl ; then
146 myconf+=( --without-des )
147 fi
148
149 if use mysql || use postgres || use sqlite ; then
150 myconf+=( --enable-sql )
151 else
152 myconf+=( --disable-sql )
153 fi
154
155 # Default to GDBM if both 'gdbm' and 'berkdb' are present.
156 if use gdbm ; then
157 einfo "Building with GNU DB as database backend for your SASLdb"
158 myconf+=( --with-dblib=gdbm )
159 elif use berkdb ; then
160 einfo "Building with BerkeleyDB as database backend for your SASLdb"
161 myconf+=(
162 --with-dblib=berkeley
163 --with-bdb-incdir="$(db_includedir)"
164 )
165 else
166 einfo "Building without SASLdb support"
167 myconf+=( --with-dblib=none )
168 fi
169
170 # Use /dev/urandom instead of /dev/random (bug #46038).
171 if use urandom ; then
172 myconf+=( --with-devrandom=/dev/urandom )
173 fi
174
175 ECONF_SOURCE=${S} \
176 econf \
177 --enable-login \
178 --enable-ntlm \
179 --enable-auth-sasldb \
180 --disable-cmulocal \
181 --disable-krb4 \
182 --enable-otp \
183 --without-sqlite \
184 --with-saslauthd=/run/saslauthd \
185 --with-pwcheck=/run/saslauthd \
186 --with-configdir=/etc/sasl2 \
187 --with-plugindir=/usr/$(get_libdir)/sasl2 \
188 --with-dbpath=/etc/sasl2/sasldb2 \
189 $(use_with ssl openssl) \
190 $(use_with pam) \
191 $(use_with openldap ldap) \
192 $(use_enable ldapdb) \
193 $(multilib_native_use_enable sample) \
194 $(use_enable kerberos gssapi) \
195 $(multilib_native_use_enable java) \
196 $(multilib_native_use_with java javahome ${JAVA_HOME}) \
197 $(multilib_native_use_with mysql) \
198 $(multilib_native_use_with postgres pgsql) \
199 $(use_with sqlite sqlite3 /usr/$(get_libdir)) \
200 $(use_enable srp) \
201 $(use_enable static-libs static) \
202 ${myconf}
203 }
204
205 multilib_src_compile() {
206 emake
207
208 # Default location for java classes breaks OpenOffice (bug #60769).
209 # Thanks to axxo@g.o for the solution.
210 if multilib_is_native_abi && use java ; then
211 jar -cvf ${PN}.jar -C java $(find java -name "*.class")
212 fi
213 }
214
215 multilib_src_install() {
216 default
217
218 if multilib_is_native_abi; then
219 if use sample ; then
220 docinto sample
221 dodoc "${S}"/sample/*.c
222 exeinto /usr/share/doc/${P}/sample
223 doexe sample/client sample/server
224 fi
225
226 # Default location for java classes breaks OpenOffice (bug #60769).
227 if use java ; then
228 java-pkg_dojar ${PN}.jar
229 java-pkg_regso "${D}/usr/$(get_libdir)/libjavasasl.so"
230 # hackish, don't wanna dig through makefile
231 rm -Rf "${D}/usr/$(get_libdir)/java"
232 docinto "java"
233 dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
234 dodir "/usr/share/doc/${PF}/java/Test"
235 insinto "/usr/share/doc/${PF}/java/Test"
236 doins "${S}"/java/Test/*.java
237 fi
238
239 dosbin saslauthd/testsaslauthd
240 fi
241 }
242
243 multilib_src_install_all() {
244 keepdir /etc/sasl2
245
246 dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
247 newdoc pwcheck/README README.pwcheck
248 dohtml doc/*.html
249
250 docinto "saslauthd"
251 dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
252
253 newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
254
255 newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
256 systemd_dounit "${FILESDIR}/pwcheck.service"
257
258 newinitd "${FILESDIR}/saslauthd2.rc7" saslauthd
259 newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
260 systemd_dounit "${FILESDIR}/saslauthd.service"
261 systemd_dotmpfilesd "${FILESDIR}/${PN}.conf"
262
263 prune_libtool_files --modules
264 }
265
266 pkg_postinst () {
267 # Generate an empty sasldb2 with correct permissions.
268 if ( use berkdb || use gdbm ) && [[ ! -f "${ROOT}/etc/sasl2/sasldb2" ]] ; then
269 einfo "Generating an empty sasldb2 with correct permissions ..."
270 echo "p" | "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -p login \
271 || die "Failed to generate sasldb2"
272 "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -d login \
273 || die "Failed to delete temp user"
274 chown root:mail "${ROOT}/etc/sasl2/sasldb2" \
275 || die "Failed to chown ${ROOT}/etc/sasl2/sasldb2"
276 chmod 0640 "${ROOT}/etc/sasl2/sasldb2" \
277 || die "Failed to chmod ${ROOT}/etc/sasl2/sasldb2"
278 fi
279
280 if use authdaemond ; then
281 elog "You need to add a user running a service using Courier's"
282 elog "authdaemon to the 'mail' group. For example, do:"
283 elog " gpasswd -a postfix mail"
284 elog "to add the 'postfix' user to the 'mail' group."
285 fi
286
287 elog "pwcheck and saslauthd home directories have moved to:"
288 elog " /run/saslauthd, using tmpfiles.d"
289 }