From 121ed4eec41fbf03e1998d09eede1bf449da63b9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 19 Jul 2019 22:05:27 +0100 Subject: gentoo resync : 19.07.2019 --- net-mail/dovecot/Manifest | 6 +- net-mail/dovecot/dovecot-2.3.7.ebuild | 292 +++++++++++++++++++++ .../files/dovecot-no-log-error-tcp_nodelay.patch | 31 +++ net-mail/dovecot/files/dovecot.init-r6 | 2 +- 4 files changed, 329 insertions(+), 2 deletions(-) create mode 100644 net-mail/dovecot/dovecot-2.3.7.ebuild create mode 100644 net-mail/dovecot/files/dovecot-no-log-error-tcp_nodelay.patch mode change 100755 => 100644 net-mail/dovecot/files/dovecot.init-r6 (limited to 'net-mail/dovecot') diff --git a/net-mail/dovecot/Manifest b/net-mail/dovecot/Manifest index b26fb0fa4e5e..afccadaba5d9 100644 --- a/net-mail/dovecot/Manifest +++ b/net-mail/dovecot/Manifest @@ -1,15 +1,19 @@ +AUX dovecot-no-log-error-tcp_nodelay.patch 1374 BLAKE2B c665fdbd0d54dc8ddac8f4891197dfa813b39280ab8157a82a3946dc4284fb01710dd4fbc4c3961df4003d8027faeaf8e407223fbbdf0989145254aabb20e56a SHA512 48dc102d4d8e49e1cdfb0f0dee5ca67739f260f5467583c60d5fa6e3de8031da29a830ce56b8f786d6a9568b968bc64707031b193fd40af90c9fda58e152fd40 AUX dovecot-userdb-passwd-fix.patch 500 BLAKE2B 133e7b13cf3dd1515db5694945abd2d00ecd89c4a766ea873099ebbdd450700e70b80696ba58b21cc4f7160fa3becde6453c9334d41cdad426e3f59bd9e5491e SHA512 18a26eed0c793b0ccee828dc5eafc6448dda94d705597b19c3333f21944e838b677af2884f5fb65eb2f6dc79158ad8b3143b24d3788d841038de6dd24885fc0d -AUX dovecot.init-r6 1573 BLAKE2B 7565a20d0677d6e380756627360e65703cd6a29982cb7e1c1d6ae51fe99ec33c00c1f04c471bb5741321369b8c0e4767eb69a83b9d38e2789bb3d7a79630ea04 SHA512 488a1213514f066fdc7b97e69a1a8336eb4c83054d138d94a63bc733a2163d0b316a6485bf1dde6c4caae92c7dc8d9bd58a4c723b6c0e81d4b130ebd91875baa +AUX dovecot.init-r6 1573 BLAKE2B 206318cbf7a6ef0276cb93237b091dd34dc2603a00f13ed288c787dc81f8902e770f7774c54eba90de49e9634eb93873046a043bd7825cfb65bab5b2ea9ce108 SHA512 982f9897e4a0a5a3957bb12785961c9cde72a2c941f55efdb23e9a26cec19efe89e3be4effe79522c297ea2b258d201db78c19b6e3f9cd5e68d3736c2a0f0063 DIST dovecot-2.2-pigeonhole-0.4.24.1.tar.gz 1810959 BLAKE2B f24b28dc7422ea4f379e372adf33ebbf7cbb146d55b01dbf40580767a14adf695b0a2726f591c0c34436bd93a8b48ee8a8c4307fffc6b082d9c028ce93e29a0a SHA512 99af8a1f4588d821c7000133c5c173ab05640d3411b826a0978db2d60c9a59d5b330ca2d38aa25aa1163f6d1b669dc97b8303e2bceda554f67d0029d5d0b34fd DIST dovecot-2.2.36.3.tar.gz 6270735 BLAKE2B 90bd6f7cd3769040215f574bb368c1ad835041fff54273e2477be2d2e057c1700472b08a24ed3a7cad469bd39449d94986bc6801373bb97a63975ddbb54cefa5 SHA512 47611dbde7ee854ad323dcdb726757c7172376761fa774f28fce3f9d74ed590319d812f0555abed5f8178c326c3cb7661ac0b708ca5982914e255cec60f72e35 DIST dovecot-2.3-pigeonhole-0.5.5.tar.gz 1847487 BLAKE2B 9574388566778a4011ce6546021675ed9e07ba0d874dc4163e4cea10096f3bb8a434f198c3bb446b628ee18402afe94bd90b7123b3cf4d47e4095ddad12d9bfc SHA512 21519fc9b1152a947b64ce4251e1a4bdbe003b48233b1856a32696f9c1e29f730268c56eb38f9431bbfac345e6cd42e8c78c87d0702f39ebf20c6d326dcdbb94 DIST dovecot-2.3-pigeonhole-0.5.6.tar.gz 1854287 BLAKE2B a26edf2a298d8c3de0d9977d56583bd2e0933495c5f554871a38d7b9e31701ebf3587d221c5ec398721a9c34816918c41b069de39c13f879334f9776fede1a17 SHA512 998a046d2eb5ff7bba615fd1a3efdfb1e7e1dabf191257f7fa2882074acc1735a0a4c11c5f31bab1e964b0118f1a8e9e51b3d5529b8fff6d1312c9a8257d9c20 +DIST dovecot-2.3-pigeonhole-0.5.7.tar.gz 1856779 BLAKE2B ce9fe5570f058ceed6ef5ea5f732b079e7924bcdc8910cb13e8686898b654705ea006286cbb19105975f83d6c96a0256106b6f0ec10f561cd6040311be2087d8 SHA512 f58098ae13b41a6378080340240928083514a541f2fe3c8f516853455ab27635e0c47587a101aca5eb4e97ec8afe6a5dd5360c46e956b009ae971316e491f1b8 DIST dovecot-2.3.5.1.tar.gz 6953150 BLAKE2B 04484325e7b87f78c0aa6e3c769bc921e9dc62562cd8705b99166b7291b794f434b088dcf6512bc21c96d8937475cafa4d49c6ac611cb07f74a0d20e15e185c7 SHA512 e87754461fb0b065acd0ff10dc955000a2fe5baffed69efaf328ce9268f90140e9de444bc68e0bd48b565c7622885a79b1f90ff3dd2335c0c2362d05d9e73e8a DIST dovecot-2.3.5.2.tar.gz 6953228 BLAKE2B d3634ca0621349ed82c552b416bd633497ce9e4bdd5df30c2e35da1ab70a5934e2dda2b88ac6bbebeebc23918d9dcfb7a0976b1b51fba5eefd14327b2b2ea734 SHA512 041ec1c33c6accb5c89d96d7ab2f7dd59795f496c17faea1906e7977983e4a387aa855a238376515c09532731634d9d42e6d6be22659062855241847ea0213d5 DIST dovecot-2.3.6.tar.gz 6980135 BLAKE2B 59ce625aafb96092cbd687aa0d5ccc3d7697228606978efa89bbf50e608915e381abb79348197aaf3b3fa046618bcf88acdc77420f9f028035653b8cb9843009 SHA512 ec28af2efcbd4ab534298c3342709251074dcdb0f0f4bcad0d24b996b273387e2ce557d7ab54abafb69be3ed7dd61f25c82b9710d78156932e2eff7f941c9eb2 +DIST dovecot-2.3.7.tar.gz 7074117 BLAKE2B 30aa02cc1dbd83f2ecc65f7b27543d3a1614c857e3d432454f13e4108cb4a15fc37c8c07835a2eaeb6b03077066fba2ed947e30f033926f52213a7446dd096eb SHA512 a8828b6cdf0ada0d317a4606d88370f1360415dadcf0f3a6f157d76396bcaf7379d85114d9747011b429ee94bee8eff7de8d0b6cf25e2618af15fdfba8ae4508 EBUILD dovecot-2.2.36.3.ebuild 8599 BLAKE2B ce60439de2676ad168bbb8355f61072019ea6ad4ef9e357b401bfced19b4d0d0f842926d83cf8e2348db460b1bb3dc7a5537b457835eedfe16e03a024fdfa65c SHA512 ed5940edaa0c1bf67065354f9e433901bc556a2c3db071d8c9d1c6a9ed02b86f151729c6ec5ece5a2924662d3ed8eaf1df19ce1979d325c03b932751b3921afe EBUILD dovecot-2.3.5.1.ebuild 8783 BLAKE2B d09a7e8b2545522a8f48939f46c586e537abcbe683f0ff790d82aae7d9be942dad171b5f6d94f3c8e9d85f1d0096f9c487cb4538297d0356fa20d2dc0f2abf76 SHA512 9b2a1a7dfedc3fb372b712ca0c0231ff2077632a42ce9722c4d369ffdaabd61b538e34da5523c5902f7a0f2d291d17c3739a0acfe19dba8b67e234b9df6d7b50 EBUILD dovecot-2.3.5.2.ebuild 8784 BLAKE2B b8dc0bec0b0164b00cc070080169f018ed6c008ded304de3434e16fcf02bc9c3acdd1bf97d8cef0d83048b951fe1904a3cefccadfc3bbd4109299e7dc4d0991c SHA512 f54e6a872aac3bf38cbd9e9a3effec363e40483e9d2db022d156a7993a28c96a3470648cf059d00a165ecd1dff760df65d409b8c9658cfe9c82da0844df92956 EBUILD dovecot-2.3.6-r1.ebuild 8717 BLAKE2B 5e61b8154648de4e65b5bd9601544bd032c2e8a03f7259654f819b6fab22379ddfac701930ef079e14f7ccaa7c08c86042c419281ce96baeb018f24686bbabc9 SHA512 264191a2fb2d79cd57e800d7c95a64f3c0677901941a7c3ace92cbad3e8f7c6cf812a5b68de78993715c7bc2793c809733510145c103020d6a5f7f555fc9976d EBUILD dovecot-2.3.6.ebuild 8782 BLAKE2B 0f108ca6de24026c9220d8ab60001726256bf2a39361fbe22b67e15ca8c1f9e1dc30868296045985f66ec656cb1903347efb96fca3a40af41c220c51884b6f66 SHA512 c3e032b287e03e70c50f8ffd28dfcc0cad977a76dc173e20b7ca801190b5f1747dc08b1a400e553853806c907ef3351b2d0956ecd645c05017ea2ea7d59b8602 +EBUILD dovecot-2.3.7.ebuild 8769 BLAKE2B f5755060fce977b97b35aab3b365375fca1db87bccb4a53050fc2075612084205f901cf0c5867132f586f7552743bb0686186e4b5f4be90c99efe42e014e7c57 SHA512 9203a7f0720cae6feb7cf30fa5fbfd7db4fa9759df1f9f892d39d619d7dea20f06710e801818c8977403d2934499998a87b98f67caa79359caf1393d98a5f4f0 MISC metadata.xml 941 BLAKE2B 8432d32315ba8c4ad55cdbc6cdfc85b9cbd2aab5928f8f3fbaa1e33093a272ee36abfaeb8d4e6f2a7658bdf9a9f481efe3ac18e5b5b901c74addc63979bcc312 SHA512 f8347117eb6039d0340ab53e0ccd82cd269a3f50d2747a780ccfee26b6e598347337f73b75c1e6f4f814c86918c4d0325c4c784a04a86b3d66ceb58bfe94d98d diff --git a/net-mail/dovecot/dovecot-2.3.7.ebuild b/net-mail/dovecot/dovecot-2.3.7.ebuild new file mode 100644 index 000000000000..16c5e7137f09 --- /dev/null +++ b/net-mail/dovecot/dovecot-2.3.7.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# do not add a ssl USE flag. ssl is mandatory +SSL_DEPS_SKIP=1 +inherit autotools eapi7-ver ssl-cert systemd user + +MY_P="${P/_/.}" +#MY_S="${PN}-ce-${PV}" +major_minor="$(ver_cut 1-2)" +sieve_version="0.5.7" +if [[ ${PV} == *_rc* ]] ; then + rc_dir="rc/" +else + rc_dir="" +fi +SRC_URI="https://dovecot.org/releases/${major_minor}/${rc_dir}${MY_P}.tar.gz + sieve? ( + https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz + ) + managesieve? ( + https://pigeonhole.dovecot.org/releases/${major_minor}/${rc_dir}${PN}-${major_minor}-pigeonhole-${sieve_version}.tar.gz + ) " +DESCRIPTION="An IMAP and POP3 server written with security primarily in mind" +HOMEPAGE="https://www.dovecot.org/" + +SLOT="0" +LICENSE="LGPL-2.1 MIT" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + +IUSE_DOVECOT_AUTH="kerberos ldap lua mysql pam postgres sqlite vpopmail" +IUSE_DOVECOT_COMPRESS="bzip2 lzma lz4 zlib" +IUSE_DOVECOT_OTHER="argon2 caps doc ipv6 libressl lucene managesieve selinux sieve solr static-libs suid tcpd textcat" + +IUSE="${IUSE_DOVECOT_AUTH} ${IUSE_DOVECOT_STORAGE} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_OTHER}" + +DEPEND="argon2? ( dev-libs/libsodium ) + bzip2? ( app-arch/bzip2 ) + caps? ( sys-libs/libcap ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap ) + lua? ( dev-lang/lua:* ) + lucene? ( >=dev-cpp/clucene-2.3 ) + lzma? ( app-arch/xz-utils ) + lz4? ( app-arch/lz4 ) + mysql? ( dev-db/mysql-connector-c:0= ) + pam? ( virtual/pam ) + postgres? ( dev-db/postgresql:* !dev-db/postgresql[ldap,threads] ) + selinux? ( sec-policy/selinux-dovecot ) + solr? ( net-misc/curl dev-libs/expat ) + sqlite? ( dev-db/sqlite:* ) + !libressl? ( dev-libs/openssl:0 ) + libressl? ( dev-libs/libressl ) + suid? ( acct-group/mail ) + tcpd? ( sys-apps/tcp-wrappers ) + textcat? ( app-text/libexttextcat ) + vpopmail? ( net-mail/vpopmail ) + zlib? ( sys-libs/zlib ) + virtual/libiconv + dev-libs/icu:=" + +RDEPEND="${DEPEND} + net-mail/mailbase" + +PATCHES=( + "${FILESDIR}/${PN}-userdb-passwd-fix.patch" + "${FILESDIR}/${PN}-no-log-error-tcp_nodelay.patch" +) + +pkg_setup() { + if use managesieve && ! use sieve; then + ewarn "managesieve USE flag selected but sieve USE flag unselected" + ewarn "sieve USE flag will be turned on" + fi + # default internal user + enewgroup dovecot 97 + enewuser dovecot 97 -1 /dev/null dovecot + # default login user + enewuser dovenull -1 -1 /dev/null +} + +src_prepare() { + default + # bug 657108 + elibtoolize + #eautoreconf +} + +src_configure() { + local conf="" + + if use postgres || use mysql || use sqlite; then + conf="${conf} --with-sql" + fi + + # turn valgrind tests off. Bug #340791 + VALGRIND=no econf \ + --with-rundir="${EPREFIX}/run/dovecot" \ + --with-statedir="${EPREFIX}/var/lib/dovecot" \ + --with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \ + --without-stemmer \ + --disable-rpath \ + --without-libbsd \ + --with-icu \ + --with-ssl \ + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ + $( use_with argon2 sodium ) \ + $( use_with bzip2 bzlib ) \ + $( use_with caps libcap ) \ + $( use_with kerberos gssapi ) \ + $( use_with lua ) \ + $( use_with ldap ) \ + $( use_with lucene ) \ + $( use_with lz4 ) \ + $( use_with lzma ) \ + $( use_with mysql ) \ + $( use_with pam ) \ + $( use_with postgres pgsql ) \ + $( use_with sqlite ) \ + $( use_with solr ) \ + $( use_with tcpd libwrap ) \ + $( use_with textcat ) \ + $( use_with vpopmail ) \ + $( use_with zlib ) \ + $( use_enable static-libs static ) \ + ${conf} + + if use sieve || use managesieve ; then + # The sieve plugin needs this file to be build to determine the plugin + # directory and the list of libraries to link to. + emake dovecot-config + cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed" + econf \ + $( use_enable static-libs static ) \ + --localstatedir="${EPREFIX%/}/var" \ + --enable-shared \ + --with-dovecot="${S}" \ + $( use_with managesieve ) + fi +} + +src_compile() { + default + if use sieve || use managesieve ; then + cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed" + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" + fi +} + +src_test() { + default + if use sieve || use managesieve ; then + cd "../dovecot-${major_minor}-pigeonhole-${sieve_version}" || die "cd failed" + default + fi +} + +src_install () { + default + + # insecure: + # use suid && fperms u+s /usr/libexec/dovecot/deliver + # better: + if use suid;then + einfo "Changing perms to allow deliver to be suided" + fowners root:mail "${EPREFIX}/usr/libexec/dovecot/dovecot-lda" + fperms 4750 "${EPREFIX}/usr/libexec/dovecot/dovecot-lda" + fi + + newinitd "${FILESDIR}"/dovecot.init-r6 dovecot + + rm -rf "${ED}"/usr/share/doc/dovecot + + dodoc AUTHORS NEWS README TODO + dodoc doc/*.{txt,cnf,xml,sh} + docinto example-config + dodoc doc/example-config/*.{conf,ext} + docinto example-config/conf.d + dodoc doc/example-config/conf.d/*.{conf,ext} + docinto wiki + dodoc doc/wiki/* + doman doc/man/*.{1,7} + + # Create the dovecot.conf file from the dovecot-example.conf file that + # the dovecot folks nicely left for us.... + local conf="${ED}/etc/dovecot/dovecot.conf" + local confd="${ED}/etc/dovecot/conf.d" + + insinto /etc/dovecot + doins doc/example-config/*.{conf,ext} + insinto /etc/dovecot/conf.d + doins doc/example-config/conf.d/*.{conf,ext} + fperms 0600 "${EPREFIX}"/etc/dovecot/dovecot-{ldap,sql}.conf.ext + rm -f "${confd}/../README" + + # .maildir is the Gentoo default + local mail_location="maildir:~/.maildir" + sed -i -e \ + "s|#mail_location =|mail_location = ${mail_location}|" \ + "${confd}/10-mail.conf" \ + || die "failed to update mail location settings in 10-mail.conf" + + # We're using pam files (imap and pop3) provided by mailbase + if use pam; then + sed -i -e '/driver = pam/,/^[ \t]*}/ s|#args = dovecot|args = "\*"|' \ + "${confd}/auth-system.conf.ext" \ + || die "failed to update PAM settings in auth-system.conf.ext" + # mailbase does not provide a sieve pam file + use managesieve && dosym imap /etc/pam.d/sieve + sed -i -e \ + 's/#!include auth-system.conf.ext/!include auth-system.conf.ext/' \ + "${confd}/10-auth.conf" \ + || die "failed to update PAM settings in 10-auth.conf" + fi + + # Disable ipv6 if necessary + if ! use ipv6; then + sed -i -e 's/^#listen = \*, ::/listen = \*/g' "${conf}" \ + || die "failed to update listen settings in dovecot.conf" + fi + + # Update ssl cert locations + sed -i -e 's:^#ssl = yes:ssl = yes:' "${confd}/10-ssl.conf" \ + || die "ssl conf failed" + sed -i -e 's:^ssl_cert =.*:ssl_cert = fd, TRUE) < 0) { +- if (errno != ENOTSUP && errno != ENOTSOCK && +- errno != ENOPROTOOPT) { +- i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m", +- o_stream_get_name(&fstream->ostream.ostream)); +- } ++ /* Don't bother logging errors. There are quite a lot of ++ different errors that need to be ignored, and it differs ++ between OSes. At least: ++ Linux: ENOTSUP, ENOTSOCK, ENOPROTOOPT ++ FreeBSD: EINVAL, ECONNRESET */ + fstream->no_socket_nodelay = TRUE; + } else if (net_set_tcp_nodelay(fstream->fd, FALSE) < 0) { +- /* We already successfully enabled TCP_NODELAY, so we're really +- not expecting any errors here. */ +- i_error("file_ostream.net_set_tcp_nodelay(%s, FALSE) failed: %m", +- o_stream_get_name(&fstream->ostream.ostream)); ++ /* We already successfully enabled TCP_NODELAY, so there ++ shouldn't really be errors. Except ECONNRESET can possibly ++ still happen between these two calls, so again don't log ++ errors. */ + fstream->no_socket_nodelay = TRUE; + } + } diff --git a/net-mail/dovecot/files/dovecot.init-r6 b/net-mail/dovecot/files/dovecot.init-r6 old mode 100755 new mode 100644 index ad096bff7502..cff64bee4995 --- a/net-mail/dovecot/files/dovecot.init-r6 +++ b/net-mail/dovecot/files/dovecot.init-r6 @@ -1,5 +1,5 @@ #!/sbin/openrc-run -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License, v2 or later extra_commands="checkconfig" -- cgit v1.2.3