From 06cae38842b0c275dd57db266935e1e00c8587a9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 14 Jul 2021 18:11:05 -0700 Subject: postfix: Upgrade to 3.6.1 Fix build with glibc 2.34+ Details of this release [1] [1] http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.6.1.RELEASE_NOTES Signed-off-by: Khem Raj --- .../0007-correct-signature-of-closefrom-API.patch | 101 +++++++++++++++++++++ .../recipes-daemons/postfix/postfix_3.4.12.bb | 18 ---- .../recipes-daemons/postfix/postfix_3.6.1.bb | 19 ++++ 3 files changed, 120 insertions(+), 18 deletions(-) create mode 100644 meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch delete mode 100644 meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb create mode 100644 meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb (limited to 'meta-networking/recipes-daemons') diff --git a/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch b/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch new file mode 100644 index 0000000000..e583354ccb --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch @@ -0,0 +1,101 @@ +From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 14 Jul 2021 18:08:30 -0700 +Subject: [PATCH] correct signature of closefrom() API + +glibc 2.34 introduced this function and finds this error which has been +all along. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/util/sys_compat.c | 6 +++--- + src/util/sys_defs.h | 12 ++++++------ + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c +index 8bf8e58..c87f043 100644 +--- a/src/util/sys_compat.c ++++ b/src/util/sys_compat.c +@@ -286,7 +286,7 @@ int dup2_pass_on_exec(int oldd, int newd) + + /* closefrom() - closes all file descriptors from the given one up */ + +-int closefrom(int lowfd) ++void closefrom(int lowfd) + { + int fd_limit = open_limit(0); + int fd; +@@ -298,14 +298,14 @@ int closefrom(int lowfd) + */ + if (lowfd < 0) { + errno = EBADF; +- return (-1); ++ return; + } + if (fd_limit > 500) + fd_limit = 500; + for (fd = lowfd; fd < fd_limit; fd++) + (void) close(fd); + +- return (0); ++ return; + } + + #endif +diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h +index 2e1c953..515de6c 100644 +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -1509,7 +1509,7 @@ extern int setsid(void); + #endif + + #ifndef HAS_CLOSEFROM +-extern int closefrom(int); ++extern void closefrom(int); + + #endif + +@@ -1563,7 +1563,7 @@ typedef int pid_t; + + /* + * Clang-style attribute tests. +- * ++ * + * XXX Without the unconditional test below, gcc 4.6 will barf on ``elif + * defined(__clang__) && __has_attribute(__whatever__)'' with error message + * ``missing binary operator before token "("''. +@@ -1577,7 +1577,7 @@ typedef int pid_t; + * warn for missing initializations and other trouble. However, OPENSTEP4 + * gcc 2.7.x cannot handle this so we define this only if NORETURN isn't + * already defined above. +- * ++ * + * Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does + * not (Clive Jones). So we'll set the threshold at 2.7. + */ +@@ -1653,12 +1653,12 @@ typedef int pid_t; + * write to output parameters (for example, stat- or scanf-like functions) + * or from functions that have other useful side effects (for example, + * fseek- or rename-like functions). +- * ++ * + * DO NOT use this for functions that write to a stream; it is entirely + * legitimate to detect write errors with fflush() or fclose() only. On the + * other hand most (but not all) functions that read from a stream must + * never ignore result values. +- * ++ * + * XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected. + */ + #if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3) +@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR; + * Safety. On some systems, ctype.h misbehaves with non-ASCII or negative + * characters. More importantly, Postfix uses the ISXXX() macros to ensure + * protocol compliance, so we have to rule out non-ASCII characters. +- * ++ * + * XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary + * because the ISASCII() guard already ensures that the values are + * non-negative; the casts are done anyway to shut up chatty compilers. diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb b/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb deleted file mode 100644 index db5b41bfbd..0000000000 --- a/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb +++ /dev/null @@ -1,18 +0,0 @@ -require postfix.inc - -SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://makedefs.patch \ - file://install.patch \ - file://main.cf \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - file://aliasesdb \ - file://check_hostname.sh \ - file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://postfix-install.patch \ - file://icu-config.patch \ - file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ - " -SRC_URI[sha256sum] = "18555183ae8b52a9e76067799279c86f9f2770cdef3836deb8462ee0a0855dec" -UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.3(\.\d+)+).tar.gz" diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb b/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb new file mode 100644 index 0000000000..c139f06610 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb @@ -0,0 +1,19 @@ +require postfix.inc + +SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://makedefs.patch \ + file://install.patch \ + file://main.cf \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://postfix-install.patch \ + file://icu-config.patch \ + file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + file://0007-correct-signature-of-closefrom-API.patch \ + " +SRC_URI[sha256sum] = "20a805625601e7b95989220832c8fa14ce374f0711da054188f8cec6a92fd71c" +UPSTREAM_CHECK_REGEX = "postfix\-(?P3\.3(\.\d+)+).tar.gz" -- cgit 1.2.3-korg