diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-04-26 06:14:16 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-04-26 06:14:16 +0100 |
commit | d5d36fc823b7189d033e69314ae2764f1eed9168 (patch) | |
tree | 7ad153046482fd6c121d0654933c134a72aab4d6 /mail-mta/opensmtpd | |
parent | 81a92c310907a51d2a03b6d470f4276a7d7ac00c (diff) |
gentoo auto-resync : 26:04:2023 - 06:14:16
Diffstat (limited to 'mail-mta/opensmtpd')
5 files changed, 514 insertions, 0 deletions
diff --git a/mail-mta/opensmtpd/Manifest b/mail-mta/opensmtpd/Manifest index ea2793023dfa..668efeafdb37 100644 --- a/mail-mta/opensmtpd/Manifest +++ b/mail-mta/opensmtpd/Manifest @@ -1,7 +1,11 @@ +AUX opensmtpd-6.8.0_p2-ar.patch 1071 BLAKE2B ee4ff0e43e12ef15103400306a00640f8ea5624f9deb8143bedd0f9c17e16ba4c1e606649af587ec4c27f504fcc2141f09101ff41fe6c905b7fd473ae9d586f8 SHA512 f8a3622ecf298a3afe6ba7efe7a26492b389224c4b02b44fca1801cd8915b532bbbd69781749b44f6fabf28966653827e465bd214c61a13fe39096d55087e6c0 +AUX opensmtpd-6.8.0_p2-implicit-function-declaration.patch 8704 BLAKE2B 449e089ab5004ddf3f130b0e1da7b5b3c6778b3a9304ed7d1cab498a331aeeec6f1e5d33b86581938945b072d93bd3dfa976eb4f0fec2747811b933851d70767 SHA512 08e3386b0ed06ff71581fd973eef346369d7888da04eea24b6d5cd2d1b8291f2d8e67cfd9b0b7a0d973692e920bb283d78a65bd687a24dd90397ef0b8d385463 +AUX opensmtpd-6.8.0_p2-strict-prototypes.patch 1849 BLAKE2B ea25405b67e9cba989eb7f3ccf1c4658e942d4ca17f0645d83eef69456f769cfd1ea9194fbaa28010aac4037c7bb5008a29aa2e29f4337bca3a56c68de0c2ff4 SHA512 5539a340eb68f1dc68df0d762828e2624838fb1bfd8c34ddda484fef67ee70f938f74af2098a0b8aed63ffdf6c914712416de1e0a2c711195b70aeee7b960e5d AUX smtpd.initd 231 BLAKE2B a4991c9226daa2289cb20238dcee0dad8b4ff83474327649b61c7394e46fc929c7792b885f58bf76769567ad2058134b97e5019b508e2edec108a4bafb9cc2b4 SHA512 e4c8386bd7e8d8171172aa181305a55ca67cba6d4c82d77d8846e1bd3301dd9d118bb39dad6c144677f050194de813e4d83e06ea6dd591d4f07da8c4a1edde37 AUX smtpd.pam 147 BLAKE2B 1706fe27cf53621428f563af146d1197dfc59133dda79fe08141ec4ca9b240880ef63da3f27e4fb8b653af4ae413ca42cdeb343e1f4e737b7e6258c0d338223d SHA512 d0574cc732138fefffe3ca78da2d689f0849de70dfd65204c99a98a58b2165eb46b23a1c32b356ea2eaf8abd56a4929c7419b29cec1d6b284e344680bab24086 AUX smtpd.service 138 BLAKE2B c76db1847110622621701cdf1fdb764d26bf28b86a25adf9ae8e0ba15838a2a9ddc677f54f5d5fe191591b2bd5c7f20067fc00b6679f448e25371e27f231589d SHA512 b70b173ac275b871d78bac0e55b2e0c8d8a6538c7f2c4dc86fe67fb37a1ee942e0442353b338b286759618299f51b144396251db13f82c9afa035dcaae11a258 AUX smtpd.socket 114 BLAKE2B e684727be39592dce128cc0ab02f8e5bc4510591dcb2c170b49c120e84319b53e10eae275bc6a26ed8c9d51e53a21e41c551f18afd2441602cefc4e93344d50c SHA512 fbbccb4aab80a4a4612609e590965940642321119a65359cf2490530f81d55706a0105309d321a624d40348f12776724d2cf6b8bf29ea24391e60ef8b8bc8ba2 DIST opensmtpd-6.8.0p2.tar.gz 860189 BLAKE2B 603e8516860eddefb1694ea4cb5631cec2df2a19fa3193b25388caf73c41e82d44e57847fc95b5187488cae629542e72ff2d5a17badc15cef1647bdb173d7827 SHA512 48f152b75575146fdd09bdf47123041ea62fefb6e5de33a69826bf91a2126a918f8db1caffadb2f142a1a21de8126d492de88cb65bdf169e61c0b22d3e78d290 EBUILD opensmtpd-6.8.0_p2-r2.ebuild 1994 BLAKE2B 07e446b197182c4701e64528daaf0a61e5411eadba9fec22c43b636c97a9ce715e0ab66777f7f492bc12aab57b8b8495f3646f3450de0301d9953d776f1002eb SHA512 18cbc2e958088f35c56be34eb24b68f720097462357363451b03b53e6efc19ce44e36a2ad0964f5c9f4b17286c5d9a74e45c63e8aac40ddf93c60c21705eca23 +EBUILD opensmtpd-6.8.0_p2-r3.ebuild 2293 BLAKE2B b275df1c91a3f42753e764d0888ae23f9af8e6207c835fdcfb9e846b75065c57fc300efdf564f28969d43b78b7729eff75a359d93c4ea5785ec66ceb48c5201a SHA512 b60fc5b9d7bbfc96939057169c65dbbae7d169348b86f4011afbd6f0d249117e5454cbbb216616ff0e5c4867d698f4770ff46ef8eddd3775aad4688091881406 MISC metadata.xml 694 BLAKE2B b72e021afca63807b8139e3e69f8ec8acbc37f2e0abaae0bef0a5afc5fa1b7978dc7e64ecb8aae85251c66d697ad7ef8df214884e60ceb9ed5519a64d551e6e2 SHA512 d5b86e34dcdf22a313869dcae3a1e7a05a05a9e67e701642281e4e174974c3edb7007dc5ac45f666c8bdf0d35014f6f58e72eed527e8dab2c80aa87c09cc3d18 diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch new file mode 100644 index 000000000000..fbd6ca925945 --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch @@ -0,0 +1,42 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1199 +https://bugs.gentoo.org/720782 + +From 92ada4471602fc737113b8dfe1b9b8e8e0aab7e0 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Tue, 25 Apr 2023 09:13:51 -0700 +Subject: [PATCH] configure: Use AM_PROG_AR + +Automake provides AM_PROG_AR as a standard way of finding ar(1). + +Reference: https://www.gnu.org/software/automake/manual/html_node/Public-Macros.html + +Closes: https://github.com/OpenSMTPD/OpenSMTPD/pull/1177 +--- + configure.ac | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 00450485..5b12b67e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -67,7 +67,7 @@ AC_C_BIGENDIAN + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LIBTOOL +-AC_PATH_PROG([AR], [ar]) ++AM_PROG_AR + AC_PATH_PROG([CAT], [cat]) + AC_PATH_PROG([CHMOD], [chmod]) + AC_PATH_PROG([CHOWN], [chown]) +@@ -84,11 +84,6 @@ AC_PROG_YACC + + AC_SUBST([ZCAT]) + +- +-if test -z "$AR"; then +- AC_MSG_ERROR([*** 'ar' missing, please install or fix your \$PATH ***]) +-fi +- + if test -z "$LD"; then + LD=$CC + fi diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch new file mode 100644 index 000000000000..11af2aa7630c --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch @@ -0,0 +1,303 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1195 +https://bugs.gentoo.org/727260 +https://bugs.gentoo.org/896050 +https://bugs.gentoo.org/899876 + +From 7abe6305f864113aec4c6fc55cccabdc55959252 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Thu, 13 Apr 2023 11:04:14 -0700 +Subject: [PATCH] build: Fix -Werror=implicit-function-declaration + +On a system with musl these functions are not available, but they are +found by the build system inside of libbsd instead. However many of the +relevant headers are never incuded resulting in many implicit function +declarations. Additionally clang-16 is more strict about these turning +them into errors. + +* While libbsd contains symbols for inet_net_pton() they do not have any + headers with the function prototype. Upstream has marked this function + for removal since it is now provided in glibc even when musl doesn't + have it. This can be fixed by not looking for inet_net_pton() in libbsd. +--- + configure.ac | 6 +++++- + openbsd-compat/openbsd-compat.h | 4 +++- + usr.sbin/smtpd/aliases.c | 3 +++ + usr.sbin/smtpd/config.c | 6 ++++++ + usr.sbin/smtpd/control.c | 3 +++ + usr.sbin/smtpd/envelope.c | 3 +++ + usr.sbin/smtpd/forward.c | 3 +++ + usr.sbin/smtpd/mail.maildir.c | 1 + + usr.sbin/smtpd/mda.c | 2 ++ + usr.sbin/smtpd/mda_variables.c | 3 +++ + usr.sbin/smtpd/mta_session.c | 3 +++ + usr.sbin/smtpd/parse.y | 3 +++ + usr.sbin/smtpd/smtp_session.c | 2 ++ + usr.sbin/smtpd/ssl.c | 6 ++++++ + usr.sbin/smtpd/table.c | 3 +++ + usr.sbin/smtpd/to.c | 3 +++ + usr.sbin/smtpd/util.c | 3 +++ + 17 files changed, 55 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c215f3bf..cf6fa675 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -119,6 +119,10 @@ AC_SUBST([MANFMT]) + # + AC_CHECK_HEADERS([ \ + arpa/nameser_compat.h \ ++ bsd/stdlib.h \ ++ bsd/string.h \ ++ bsd/unistd.h \ ++ bsd/vis.h \ + crypt.h \ + dirent.h \ + err.h \ +@@ -442,7 +446,7 @@ AC_SEARCH_LIBS([dirname], + ]) + + AC_SEARCH_LIBS([inet_net_pton], +- [resolv bsd], ++ [resolv], + [ + AC_DEFINE([HAVE_INET_NET_PTON], [1], + [Define if you have the inet_net_pton() function.]) +diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h +index dcb643f1..5bebd78b 100644 +--- a/openbsd-compat/openbsd-compat.h ++++ b/openbsd-compat/openbsd-compat.h +@@ -41,7 +41,9 @@ + + #include <sys/queue.h> + #include <sys/tree.h> ++#ifndef HAVE_BSD_VIS_H + #include "bsd-vis.h" ++#endif + + #ifdef HAVE_SYS_TIME_H + #include <sys/time.h> +@@ -67,7 +69,7 @@ size_t strlcpy(char *dst, const char *src, size_t size); + size_t strlcat(char *dst, const char *src, size_t size); + #endif + +-#ifndef HAVE_STRMODE ++#if !defined(HAVE_STROMODE) && !defined(HAVE_BSD_STRING_H) + void strmode(int mode, char *p); + #endif + +diff --git a/usr.sbin/smtpd/aliases.c b/usr.sbin/smtpd/aliases.c +index 0f8a5c1e..f66d13e4 100644 +--- a/usr.sbin/smtpd/aliases.c ++++ b/usr.sbin/smtpd/aliases.c +@@ -37,6 +37,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + + #include "smtpd.h" + #include "log.h" +diff --git a/usr.sbin/smtpd/config.c b/usr.sbin/smtpd/config.c +index 8fe983d6..e1056b1d 100644 +--- a/usr.sbin/smtpd/config.c ++++ b/usr.sbin/smtpd/config.c +@@ -30,9 +30,15 @@ + #include <netdb.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <limits.h> + #include <string.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for setproctitle */ ++#endif + + #include <openssl/ssl.h> + +diff --git a/usr.sbin/smtpd/control.c b/usr.sbin/smtpd/control.c +index dbb2840d..b9f0df88 100644 +--- a/usr.sbin/smtpd/control.c ++++ b/usr.sbin/smtpd/control.c +@@ -40,6 +40,9 @@ + #include <string.h> + #include <time.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for getpeereid */ ++#endif + #include <limits.h> + + #include "smtpd.h" +diff --git a/usr.sbin/smtpd/envelope.c b/usr.sbin/smtpd/envelope.c +index 35d98b79..0bb45aae 100644 +--- a/usr.sbin/smtpd/envelope.c ++++ b/usr.sbin/smtpd/envelope.c +@@ -39,6 +39,9 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/forward.c b/usr.sbin/smtpd/forward.c +index 7494c6ce..cf8dc6ef 100644 +--- a/usr.sbin/smtpd/forward.c ++++ b/usr.sbin/smtpd/forward.c +@@ -36,6 +36,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + #include <unistd.h> + #include <limits.h> + +diff --git a/usr.sbin/smtpd/mail.maildir.c b/usr.sbin/smtpd/mail.maildir.c +index fe6adba6..1f613b36 100644 +--- a/usr.sbin/smtpd/mail.maildir.c ++++ b/usr.sbin/smtpd/mail.maildir.c +@@ -34,6 +34,7 @@ + #include <string.h> + #include <time.h> + #include <sysexits.h> ++#include <time.h> + #include <unistd.h> + + #define MAILADDR_ESCAPE "!#$%&'*/?^`{|}~" +diff --git a/usr.sbin/smtpd/mda.c b/usr.sbin/smtpd/mda.c +index 5e8fec19..9bc31be6 100644 +--- a/usr.sbin/smtpd/mda.c ++++ b/usr.sbin/smtpd/mda.c +@@ -44,6 +44,8 @@ + #include <limits.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/mda_variables.c b/usr.sbin/smtpd/mda_variables.c +index b672e492..10cb1cd0 100644 +--- a/usr.sbin/smtpd/mda_variables.c ++++ b/usr.sbin/smtpd/mda_variables.c +@@ -29,6 +29,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <unistd.h> + #include <limits.h> +diff --git a/usr.sbin/smtpd/mta_session.c b/usr.sbin/smtpd/mta_session.c +index 327502b7..72f8d29b 100644 +--- a/usr.sbin/smtpd/mta_session.c ++++ b/usr.sbin/smtpd/mta_session.c +@@ -42,6 +42,9 @@ + #include <signal.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/parse.y b/usr.sbin/smtpd/parse.y +index a82f8206..6510936d 100644 +--- a/usr.sbin/smtpd/parse.y ++++ b/usr.sbin/smtpd/parse.y +@@ -50,6 +50,9 @@ + #include <resolv.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <syslog.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c +index e8167fca..8bc877ea 100644 +--- a/usr.sbin/smtpd/smtp_session.c ++++ b/usr.sbin/smtpd/smtp_session.c +@@ -43,6 +43,8 @@ + #include <unistd.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/ssl.c b/usr.sbin/smtpd/ssl.c +index 97f7b1df..1ef692e5 100644 +--- a/usr.sbin/smtpd/ssl.c ++++ b/usr.sbin/smtpd/ssl.c +@@ -34,7 +34,13 @@ + #include <pwd.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <unistd.h> + + #include <openssl/ssl.h> +diff --git a/usr.sbin/smtpd/table.c b/usr.sbin/smtpd/table.c +index 6d3292ce..ed3ba6d3 100644 +--- a/usr.sbin/smtpd/table.c ++++ b/usr.sbin/smtpd/table.c +@@ -34,6 +34,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <regex.h> + #include <limits.h> + #include <string.h> +diff --git a/usr.sbin/smtpd/to.c b/usr.sbin/smtpd/to.c +index 81a1bb54..1068b1a9 100644 +--- a/usr.sbin/smtpd/to.c ++++ b/usr.sbin/smtpd/to.c +@@ -43,6 +43,9 @@ + #include <stdarg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/util.c b/usr.sbin/smtpd/util.c +index b2b1458c..7b1b5876 100644 +--- a/usr.sbin/smtpd/util.c ++++ b/usr.sbin/smtpd/util.c +@@ -47,6 +47,9 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <syslog.h> + #include <time.h> + #include <unistd.h> diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch new file mode 100644 index 000000000000..44736bff5598 --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch @@ -0,0 +1,74 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1198 + +From 84331a266b7d8d8e469aea8b85d1e493725807ae Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Thu, 13 Apr 2023 11:19:53 -0700 +Subject: [PATCH 1/2] build: Fix -Werror=strict-prototypes + +Clang-16 is more strict about these so make the compiler happy. +--- + usr.sbin/smtpd/bounce.c | 2 +- + usr.sbin/smtpd/ioev.c | 2 +- + usr.sbin/smtpd/mda.c | 4 ++-- + usr.sbin/smtpd/smtpd.c | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/usr.sbin/smtpd/bounce.c b/usr.sbin/smtpd/bounce.c +index bb08f90e..7fb1cf32 100644 +--- a/usr.sbin/smtpd/bounce.c ++++ b/usr.sbin/smtpd/bounce.c +@@ -243,7 +243,7 @@ bounce_timeout(int fd, short ev, void *arg) + } + + static void +-bounce_drain() ++bounce_drain(void) + { + struct bounce_message *msg; + struct timeval tv; +diff --git a/usr.sbin/smtpd/ioev.c b/usr.sbin/smtpd/ioev.c +index 747b3a51..3e3e68f4 100644 +--- a/usr.sbin/smtpd/ioev.c ++++ b/usr.sbin/smtpd/ioev.c +@@ -228,7 +228,7 @@ io_frame_leave(struct io *io) + } + + void +-_io_init() ++_io_init(void) + { + static int init = 0; + +diff --git a/usr.sbin/smtpd/mda.c b/usr.sbin/smtpd/mda.c +index 6a28b923..bd963e54 100644 +--- a/usr.sbin/smtpd/mda.c ++++ b/usr.sbin/smtpd/mda.c +@@ -386,12 +386,12 @@ mda_imsg(struct mproc *p, struct imsg *imsg) + } + + void +-mda_postfork() ++mda_postfork(void) + { + } + + void +-mda_postprivdrop() ++mda_postprivdrop(void) + { + tree_init(&sessions); + tree_init(&users); +diff --git a/usr.sbin/smtpd/smtpd.c b/usr.sbin/smtpd/smtpd.c +index 26078c49..830417e6 100644 +--- a/usr.sbin/smtpd/smtpd.c ++++ b/usr.sbin/smtpd/smtpd.c +@@ -353,7 +353,7 @@ parent_send_config_dispatcher(void) + } + + void +-parent_send_config_lka() ++parent_send_config_lka(void) + { + log_debug("debug: parent_send_config_ruleset: reloading"); + m_compose(p_lka, IMSG_CONF_START, 0, 0, -1, NULL, 0); + diff --git a/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild b/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild new file mode 100644 index 000000000000..aeba246f0bdd --- /dev/null +++ b/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools pam systemd + +DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD" +HOMEPAGE="https://www.opensmtpd.org" +SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz" + +LICENSE="ISC BSD BSD-1 BSD-2 BSD-4" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="berkdb +mta pam split-usr" + +# < openssl 3 for bug #881701 +DEPEND=" + acct-user/smtpd + acct-user/smtpq + <dev-libs/openssl-3:= + elibc_musl? ( sys-libs/fts-standalone ) + sys-libs/zlib + pam? ( sys-libs/pam ) + berkdb? ( sys-libs/db:= ) + dev-libs/libevent:= + app-misc/ca-certificates + net-mail/mailbase + net-libs/libasr + virtual/libcrypt:= + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp[mta] + !mail-mta/netqmail + !mail-mta/nullmailer + !mail-mta/postfix + !mail-mta/qmail-ldap + !mail-mta/sendmail + !mail-mta/ssmtp[mta] +" +RDEPEND="${DEPEND}" +BDEPEND="app-alternatives/yacc" + +S=${WORKDIR}/${P/_} + +PATCHES=( + "${FILESDIR}"/${P}-ar.patch #720782 + "${FILESDIR}"/${P}-implicit-function-declaration.patch #727260, 896050, 899876 + "${FILESDIR}"/${P}-strict-prototypes.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --sysconfdir=/etc/smtpd \ + --with-path-mbox=/var/spool/mail \ + --with-path-empty=/var/empty \ + --with-path-socket=/run \ + --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \ + --with-user-smtpd=smtpd \ + --with-user-queue=smtpq \ + --with-group-queue=smtpq \ + --with-libevent="$(get_libdir)" \ + --with-libssl="$(get_libdir)" \ + $(use_with pam auth-pam) \ + $(use_with berkdb table-db) +} + +src_install() { + default + newinitd "${FILESDIR}"/smtpd.initd smtpd + systemd_dounit "${FILESDIR}"/smtpd.{service,socket} + use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd + dosym smtpctl /usr/sbin/makemap + dosym smtpctl /usr/sbin/newaliases + if use mta ; then + dodir /usr/sbin + dosym smtpctl /usr/sbin/sendmail + # on USE="-split-usr" system sbin and bin are merged + # so symlink made above will collide with one below + use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail + mkdir -p "${ED}"/usr/$(get_libdir) || die + ln -s --relative "${ED}"/usr/sbin/smtpctl "${ED}"/usr/$(get_libdir)/sendmail || die + fi +} |