diff options
author | Alin Năstac <mrness@gentoo.org> | 2009-08-22 21:41:23 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2009-08-22 21:41:23 +0000 |
commit | d862a4792b6a57c2d18f22d1decde56d6605510b (patch) | |
tree | f197a5f7c0f0b5facba87b209cb19ad4ef5c7bb6 /mail-mta | |
parent | Remove old versions. (diff) | |
download | gentoo-2-d862a4792b6a57c2d18f22d1decde56d6605510b.tar.gz gentoo-2-d862a4792b6a57c2d18f22d1decde56d6605510b.tar.bz2 gentoo-2-d862a4792b6a57c2d18f22d1decde56d6605510b.zip |
Migrate to EAPI 2.
Quote variables.
Install libmilter library in both forms, static and dynamic (#245950).
Add "use dns" to init script (#213656).
Fix QA pre-stripped binary warnings and honor LDFLAGS (#251946).
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'mail-mta')
-rw-r--r-- | mail-mta/sendmail/ChangeLog | 11 | ||||
-rw-r--r-- | mail-mta/sendmail/files/libmilter-sharedlib.patch | 55 | ||||
-rw-r--r-- | mail-mta/sendmail/files/sendmail | 4 | ||||
-rw-r--r-- | mail-mta/sendmail/files/site.config.m4 | 4 | ||||
-rw-r--r-- | mail-mta/sendmail/sendmail-8.14.3-r1.ebuild | 205 |
5 files changed, 275 insertions, 4 deletions
diff --git a/mail-mta/sendmail/ChangeLog b/mail-mta/sendmail/ChangeLog index b05ba9df27ac..d69107f09844 100644 --- a/mail-mta/sendmail/ChangeLog +++ b/mail-mta/sendmail/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for mail-mta/sendmail # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/ChangeLog,v 1.81 2009/06/27 16:06:47 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/ChangeLog,v 1.82 2009/08/22 21:41:23 mrness Exp $ + +*sendmail-8.14.3-r1 (22 Aug 2009) + + 22 Aug 2009; Alin Năstac <mrness@gentoo.org> + +files/libmilter-sharedlib.patch, files/sendmail, files/site.config.m4, + +sendmail-8.14.3-r1.ebuild: + Migrate to EAPI 2. Quote variables. Install libmilter library in both forms, + static and dynamic (#245950). Add "use dns" to init script (#213656). Fix QA + pre-stripped binary warnings and honor LDFLAGS (#251946). *sendmail-8.14.3 (27 Jun 2009) diff --git a/mail-mta/sendmail/files/libmilter-sharedlib.patch b/mail-mta/sendmail/files/libmilter-sharedlib.patch new file mode 100644 index 000000000000..05f2e025e39a --- /dev/null +++ b/mail-mta/sendmail/files/libmilter-sharedlib.patch @@ -0,0 +1,55 @@ +diff -Nru sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 +--- sendmail-8.14.3.orig/devtools/M4/UNIX/milterlibrary.m4 1970-01-01 01:00:00.000000000 +0100 ++++ sendmail-8.14.3/devtools/M4/UNIX/milterlibrary.m4 2009-08-22 21:51:10.000000000 +0200 +@@ -0,0 +1,39 @@ ++divert(-1) ++# ++# Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers. ++# All rights reserved. ++# ++# By using this file, you agree to the terms and conditions set ++# forth in the LICENSE file which can be found at the top level of ++# the sendmail distribution. ++# ++# ++# Definitions for Makefile construction for sendmail ++# ++divert(0)dnl ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/links.m4')dnl ++bldLIST_PUSH_ITEM(`bldC_PRODUCTS', bldCURRENT_PRODUCT)dnl ++bldPUSH_TARGET(bldCURRENT_PRODUCT`.so' bldCURRENT_PRODUCT`.a')dnl ++bldPUSH_INSTALL_TARGET(`install-'bldCURRENT_PRODUCT)dnl ++bldPUSH_CLEAN_TARGET(bldCURRENT_PRODUCT`-clean')dnl ++ ++include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4') ++divert(bldTARGETS_SECTION) ++bldCURRENT_PRODUCT.so: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${CCLINK} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so -Wl,confSONAME,bldCURRENT_PRODUCT.so.${MILTER_SOVER} ${bldCURRENT_PRODUCT`OBJS'} -lc ++bldCURRENT_PRODUCT.a: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'} ++ ${AR} ${AROPTS} bldCURRENT_PRODUCT.a ${bldCURRENT_PRODUCT`OBJS'} ++ ${RANLIB} ${RANLIBOPTS} bldCURRENT_PRODUCT.a ++ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)') ++ ++install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.so bldCURRENT_PRODUCT.a ++ifdef(`bldINSTALLABLE', ` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${bldINSTALL_DIR`'LIBDIR} ]; then confMKDIR -p ${DESTDIR}${bldINSTALL_DIR`'LIBDIR}; else :; fi ') ++ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${UBINMODE} bldCURRENT_PRODUCT.so ${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so.${MILTER_SOVER} ++ ${LN} ${LNOPTS} bldCURRENT_PRODUCT.so.${MILTER_SOVER} ${DESTDIR}${LIBDIR}/bldCURRENT_PRODUCT.so ++ ${INSTALL} -c -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} bldCURRENT_PRODUCT.a ${DESTDIR}${LIBDIR}') ++ ++bldCURRENT_PRODUCT-clean: ++ rm -f ${OBJS} bldCURRENT_PRODUCT.so bldCURRENT_PRODUCT.a ${MANPAGES} ++ ++divert(0) ++COPTS+= confCCOPTS_SO +diff -Nru sendmail-8.14.3.orig/libmilter/Makefile.m4 sendmail-8.14.3/libmilter/Makefile.m4 +--- sendmail-8.14.3.orig/libmilter/Makefile.m4 2008-04-08 07:23:44.000000000 +0200 ++++ sendmail-8.14.3/libmilter/Makefile.m4 2009-08-22 21:53:35.000000000 +0200 +@@ -9,7 +9,7 @@ + SMSRCDIR=ifdef(`confSMSRCDIR', `confSMSRCDIR', `${SRCDIR}/sendmail') + PREPENDDEF(`confINCDIRS', `-I${SMSRCDIR} ') + +-bldPRODUCT_START(`library', `libmilter') ++bldPRODUCT_START(`milterlibrary', `libmilter') + define(`bldINSTALLABLE', `true') + define(`LIBMILTER_EXTRAS', `errstring.c strl.c') + APPENDDEF(`confENVDEF', `-DNOT_SENDMAIL -Dsm_snprintf=snprintf') diff --git a/mail-mta/sendmail/files/sendmail b/mail-mta/sendmail/files/sendmail index 98f309bb30ab..479bad4866d0 100644 --- a/mail-mta/sendmail/files/sendmail +++ b/mail-mta/sendmail/files/sendmail @@ -1,11 +1,11 @@ #!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/files/sendmail,v 1.6 2007/09/26 10:46:26 lcars Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/files/sendmail,v 1.7 2009/08/22 21:41:22 mrness Exp $ depend() { need net - use logger antivirus + use dns logger antivirus provide mta } diff --git a/mail-mta/sendmail/files/site.config.m4 b/mail-mta/sendmail/files/site.config.m4 index 59a46865ee6e..470d3cfc32d3 100644 --- a/mail-mta/sendmail/files/site.config.m4 +++ b/mail-mta/sendmail/files/site.config.m4 @@ -3,7 +3,9 @@ define(`confMAPDEF', `@@confMAPDEF@@') define(`confENVDEF', `@@confENVDEF@@') define(`confLIBS', `@@confLIBS@@') define(`confSTDIO_TYPE', `portable') -define(`confLDOPTS', `-Wl,-z,now -s') +define(`confLDOPTS', `-Wl,-z,now @@confLDOPTS@@') +define(`confLDOPTS_SO', `-shared') +define(`confCCOPTS_SO', `-fPIC') define(`confMANOWN', `root') define(`confMANGRP', `root') define(`confMANMODE', `644') diff --git a/mail-mta/sendmail/sendmail-8.14.3-r1.ebuild b/mail-mta/sendmail/sendmail-8.14.3-r1.ebuild new file mode 100644 index 000000000000..6e030c3735f5 --- /dev/null +++ b/mail-mta/sendmail/sendmail-8.14.3-r1.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/sendmail/sendmail-8.14.3-r1.ebuild,v 1.1 2009/08/22 21:41:23 mrness Exp $ + +EAPI="2" + +inherit eutils toolchain-funcs + +DESCRIPTION="Widely-used Mail Transport Agent (MTA)" +HOMEPAGE="http://www.sendmail.org/" +SRC_URI="ftp://ftp.sendmail.org/pub/${PN}/${PN}.${PV}.tar.gz" + +LICENSE="Sendmail" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="ssl ldap sasl tcpd mbox mailwrapper ipv6 nis sockets" + +DEPEND="net-mail/mailbase + sys-devel/m4 + sasl? ( >=dev-libs/cyrus-sasl-2.1.10 ) + tcpd? ( sys-apps/tcp-wrappers ) + ssl? ( dev-libs/openssl ) + ldap? ( net-nds/openldap ) + >=sys-libs/db-3.2 + !net-mail/vacation + " +RDEPEND="${DEPEND} + >=net-mail/mailbase-0.00 + !mailwrapper? ( !virtual/mta ) + mailwrapper? ( >=net-mail/mailwrapper-0.2 )" +PDEPEND="!mbox? ( mail-filter/procmail )" +PROVIDE="virtual/mta" + +# libmilter library is part of sendmail, but it does not share the version number with it. +# In order to find the right libmilter version number, check SMFI_VERSION definition +# that can be found in ${S}/include/libmilter/mfapi.h (see also SM_LM_VRS_* defines). +# For example, version 1.0.1 has a SMFI_VERSION of 0x01000001. +LIBMILTER_VER=1.0.1 + +pkg_setup() { + einfo "checking for smmsp group... create if missing." + enewgroup smmsp 209 || die "problem adding group smmsp" + einfo "checking for smmsp user... create if missing." + enewuser smmsp 209 -1 /var/spool/mqueue smmsp \ + || die "problem adding user smmsp" +} + +src_prepare() { + epatch "${FILESDIR}"/sendmail-delivered_hdr.patch + epatch "${FILESDIR}"/libmilter-sharedlib.patch + + confCCOPTS="${CFLAGS}" + confLDOPTS="${LDFLAGS}" + confMAPDEF="-DMAP_REGEX" + conf_sendmail_LIBS="" + use sasl && confLIBS="${confLIBS} -lsasl2" \ + && confENVDEF="${confENVDEF} -DSASL=2" \ + && confCCOPTS="${confCCOPTS} -I/usr/include/sasl" \ + && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lsasl2" + use tcpd && confENVDEF="${confENVDEF} -DTCPWRAPPERS" \ + && confLIBS="${confLIBS} -lwrap" + use ssl && confENVDEF="${confENVDEF} -DSTARTTLS -D_FFR_DEAL_WITH_ERROR_SSL" \ + && confLIBS="${confLIBS} -lssl -lcrypto" \ + && conf_sendmail_LIBS="${conf_sendmail_LIBS} -lssl -lcrypto" + use ldap && confMAPDEF="${confMAPDEF} -DLDAPMAP" \ + && confLIBS="${confLIBS} -lldap -llber" + use ipv6 && confENVDEF="${confENVDEF} -DNETINET6" + use nis && confENVDEF="${confENVDEF} -DNIS" + use sockets && confENVDEF="${confENVDEF} -DSOCKETMAP" + sed -e "s:@@confCCOPTS@@:${confCCOPTS}:" \ + -e "s/@@confLDOPTS@@/${confLDOPTS}/" \ + -e "s/@@confMAPDEF@@/${confMAPDEF}/" \ + -e "s/@@confENVDEF@@/${confENVDEF}/" \ + -e "s/@@confLIBS@@/${confLIBS}/" \ + -e "s/@@conf_sendmail_LIBS@@/${conf_sendmail_LIBS}/" \ + "${FILESDIR}"/site.config.m4 > devtools/Site/site.config.m4 +} + +src_compile() { + sh Build CC="$(tc-getCC)"|| die "compilation failed in main Build script" + pushd libmilter + sh Build MILTER_SOVER=${LIBMILTER_VER} CC="$(tc-getCC)"|| die "libmilter compilation failed" + popd +} + +src_install () { + local MY_LIBDIR=/usr/$(get_libdir) + local MY_OBJDIR="obj.`uname -s`.`uname -r`.`uname -m`" + dodir /usr/bin ${MY_LIBDIR} /usr/include/libmilter + dodir /usr/share/man/man{1,5,8} /usr/sbin /var/log /usr/share/sendmail-cf + dodir /var/spool/{mqueue,clientmqueue} /etc/conf.d + keepdir /var/spool/{clientmqueue,mqueue} + for dir in libsmutil sendmail mailstats praliases smrsh makemap vacation editmap + do + make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \ + SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \ + MANOWN=root MANGRP=root INCOWN=root INCGRP=root \ + LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \ + MSPQOWN=root CFOWN=root CFGRP=root \ + install -C "${MY_OBJDIR}/${dir}" \ + || die "install failed" + done + for dir in rmail mail.local + do + make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \ + SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \ + MANOWN=root MANGRP=root INCOWN=root INCGRP=root \ + LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \ + MSPQOWN=root CFOWN=root CFGRP=root \ + force-install -C "${MY_OBJDIR}/${dir}" \ + || die "install failed" + done + + make DESTDIR="${D}" LIBDIR="${MY_LIBDIR}" MANROOT=/usr/share/man/man \ + SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \ + MANOWN=root MANGRP=root INCOWN=root INCGRP=root \ + LIBOWN=root LIBGRP=root GBINOWN=root GBINGRP=root \ + MSPQOWN=root CFOWN=root CFGRP=root \ + MILTER_SOVER=${LIBMILTER_VER} \ + install -C "${MY_OBJDIR}/libmilter" \ + || die "install failed" + + fowners root:smmsp /usr/sbin/sendmail + fperms 2555 /usr/sbin/sendmail + fowners smmsp:smmsp /var/spool/clientmqueue + fperms 770 /var/spool/clientmqueue + fperms 700 /var/spool/mqueue + dosym /usr/sbin/makemap /usr/bin/makemap + dodoc FAQ KNOWNBUGS README RELEASE_NOTES doc/op/op.ps + newdoc sendmail/README README.sendmail + newdoc sendmail/SECURITY SECURITY + newdoc sendmail/TUNING TUNING + newdoc smrsh/README README.smrsh + newdoc libmilter/README README.libmilter + + newdoc cf/README README.cf + newdoc cf/cf/README README.install-cf + cp -pPR cf/* "${D}"/usr/share/sendmail-cf + insinto /etc/mail + if use mbox + then + doins "${FILESDIR}"/sendmail.mc + else + newins "${FILESDIR}"/sendmail-procmail.mc sendmail.mc + fi + m4 "${D}"/usr/share/sendmail-cf/m4/cf.m4 "${D}"/etc/mail/sendmail.mc \ + > "${D}"/etc/mail/sendmail.cf + echo "include(\`/usr/share/sendmail-cf/m4/cf.m4')dnl" \ + > "${D}"/etc/mail/submit.mc + cat "${D}"/usr/share/sendmail-cf/cf/submit.mc >> "${D}"/etc/mail/submit.mc + echo "# local-host-names - include all aliases for your machine here" \ + > "${D}"/etc/mail/local-host-names + cat <<- EOF > "${D}"/etc/mail/trusted-users + # trusted-users - users that can send mail as others without a warning + # apache, mailman, majordomo, uucp are good candidates + EOF + cat <<- EOF > "${D}"/etc/mail/access + # Check the /usr/share/doc/sendmail/README.cf file for a description + # of the format of this file. (search for access_db in that file) + # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc + # package. + # + + EOF + cat <<- EOF > "${D}"/etc/conf.d/sendmail + # Config file for /etc/init.d/sendmail + # add start-up options here + SENDMAIL_OPTS="-bd -q30m -L sm-mta" # default daemon mode + CLIENTMQUEUE_OPTS="-Ac -q30m -L sm-cm" # clientmqueue + KILL_OPTS="" # add -9/-15/your favorite evil SIG level here + + EOF + doinitd "${FILESDIR}"/sendmail + keepdir /usr/adm/sm.bin + + if use mailwrapper + then + mv "${D}"/usr/sbin/sendmail "${D}"/usr/sbin/sendmail.sendmail + insinto /etc/mail + doins "${FILESDIR}"/mailer.conf + rm "${D}"/usr/bin/mailq + rm "${D}"/usr/bin/newaliases + mv "${D}"/usr/share/man/man8/sendmail.8 \ + "${D}"/usr/share/man/man8/sendmail-sendmail.8 + mv "${D}"/usr/share/man/man1/mailq.1 \ + "${D}"/usr/share/man/man1/mailq-sendmail.1 + mv "${D}"/usr/share/man/man1/newaliases.1 \ + "${D}"/usr/share/man/man1/newaliases-sendmail.1 + mv "${D}"/usr/share/man/man5/aliases.5 \ + "${D}"/usr/share/man/man5/aliases-sendmail.5 + dosed 's/} sendmail/} sendmail.sendmail/' /etc/init.d/sendmail + dosed 's/sbin\/sendmail/sbin\/sendmail.sendmail/' /etc/init.d/sendmail + fi + +} + +pkg_postinst() { + if ! use mailwrapper && [[ -e /etc/mailer.conf ]] + then + elog + elog "Since you emerged sendmail without mailwrapper in USE," + elog "you probably want to 'emerge -C mailwrapper' now." + elog + fi +} |