diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2023-02-23 17:43:58 -0500 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2023-02-23 18:33:20 -0500 |
commit | 9c1172d2e454c89f3bbda6841e06b8230a399d49 (patch) | |
tree | 97e0b8888875b278cbdf31a89cd84eb7ee4f9843 /mail-filter | |
parent | dev-libs/libliftoff: Version bump to 0.4.0 (diff) | |
download | gentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.tar.gz gentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.tar.bz2 gentoo-9c1172d2e454c89f3bbda6841e06b8230a399d49.zip |
mail-filter/opendkim: fix two musl/standards issues.
New patches to fix a missing include and to correct a few function
signatures that violated the C standards.
Closes: https://bugs.gentoo.org/870412
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'mail-filter')
3 files changed, 184 insertions, 0 deletions
diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch b/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch new file mode 100644 index 000000000000..08df8eb0b03b --- /dev/null +++ b/mail-filter/opendkim/files/opendkim-2.10.3-c-std.patch @@ -0,0 +1,155 @@ +From 2d6db0225da9632ddf25aa70839d9d6244af6a42 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Thu, 23 Feb 2023 17:37:33 -0500 +Subject: [PATCH 1/1] configure.ac: update main() signatures to conform to the + standard. + +There are some tests in configure.ac that contain, + + int main() { ... } + +That's not the correct signature for main() according to the C +standard, and newer compilers are going to reject it. More information +about this can be found at, + + https://wiki.gentoo.org/wiki/Modern_C_porting + +In this case, the fix is simply to write + + int main(int argc, char** argv) { ... } + +instead. +--- + configure.ac | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1eaa95d8..d8162303 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -147,7 +147,7 @@ dnscheck=' + #include <netinet/in.h> + #include <arpa/nameser.h> + #include <resolv.h> +-int main() { ++int main(int argc, char** argv) { + res_mkquery (0, 0, 0, 0, 0, 0, 0, 0, 0); + dn_expand (0, 0, 0, 0, 0); + dn_skipname (0, 0); +@@ -549,7 +549,7 @@ gprof_gmon_out="unknown" + if test x"$hasgprof" = x"yes" + then + gprofcheck=' +-int main() { ++int main(int argc, char** argv) { + long x; + + x = random(); +@@ -747,7 +747,7 @@ then + #if GNUTLS_VERSION_NUMBER < 0x020b07 + # error GnuTLS 2.11.7 or later required + #endif +- int main() ++ int main(int argc, char** argv) + { + return 0; + }' +@@ -759,7 +759,7 @@ then + + sha256check=' + #include <gnutls/gnutls.h> +- int main() ++ int main(int argc, char** argv) + { + int x = GNUTLS_DIG_SHA256; + }' +@@ -1191,7 +1191,7 @@ then + #include <libmemcached/memcached.h> + + int +-main() ++main(int argc, char** argv) + { + memcached_return_t x; + +@@ -1649,7 +1649,7 @@ then + #endif + + int +-main() ++main(int argc, char** argv) + { + return 0; + } +@@ -1859,7 +1859,7 @@ then + #endif + + int +-main() ++main(int argc, char** argv) + { + return 0; + } +-- +2.39.2 + +From 1f551737e838723f9ad9be1692bb12a9a3b4cdd9 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Thu, 23 Feb 2023 18:15:50 -0500 +Subject: [PATCH 2/2] libvbr/vbr.c: modernize vbr_strlcpy() signature. + +The vbr_strlcpy() function declares that its arguments should live in +registers: + + vbr_strlcpy(dst, src, size) + register char *dst; + register const char *src; + ssize_t size; + { + ... + +This makes GCC unhappy when -Werror=strict-prototypes is used: + + vbr.c:167:1: error: function declaration isn't a prototype + [-Werror=strict-prototypes] + 167 | vbr_strlcpy(dst, src, size) + +The "register" keyword is largely obsolete on modern systems anyway, +since the compiler is better at determining how to move memory around +than the programmer is. So to appease GCC and simplify the code a bit, +the signature has been changed to, + + vbr_strlcpy(char *dst, const char *src, ssize_t size) { ... } + +changes. Lines starting # with '#' will be ignored, and an empty +message aborts the commit. # # On branch configure.ac-c-standard # +Your branch is up to date with 'origin/configure.ac-c-standard'. # # +Changes to be committed: # modified: libvbr/vbr.c # # Changes not +staged for commit: # modified: configure # # Untracked files: # +0000-cover-letter.patch # +--- + libvbr/vbr.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/libvbr/vbr.c b/libvbr/vbr.c +index cb9124d7..c6a2439f 100644 +--- a/libvbr/vbr.c ++++ b/libvbr/vbr.c +@@ -164,12 +164,9 @@ static void vbr_error __P((VBR *, const char *, ...)); + */ + + size_t +-vbr_strlcpy(dst, src, size) +- register char *dst; +- register const char *src; +- ssize_t size; ++vbr_strlcpy(char *dst, const char *src, ssize_t size) + { +- register ssize_t i; ++ ssize_t i; + + if (size-- <= 0) + return strlen(src); +-- +2.39.2 + diff --git a/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch b/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch new file mode 100644 index 000000000000..5cbe24b02cdb --- /dev/null +++ b/mail-filter/opendkim/files/opendkim-2.10.3-snprintf-include.patch @@ -0,0 +1,27 @@ +From 706554992156dd655e893268f201bbecbe283eb5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Thu, 23 Feb 2023 17:05:36 -0500 +Subject: [PATCH 1/1] libopendkim/util.c: include stdio.h for snprintf. + +This fixes a build failure on musl, reported at + + https://bugs.gentoo.org/896048 +--- + libopendkim/util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libopendkim/util.c b/libopendkim/util.c +index 6792b169..b1c6a769 100644 +--- a/libopendkim/util.c ++++ b/libopendkim/util.c +@@ -17,6 +17,7 @@ + # include <stdbool.h> + #endif /* HAVE_STDBOOL_H */ + #include <ctype.h> ++#include <stdio.h> + #include <assert.h> + #include <string.h> + #include <errno.h> +-- +2.39.2 + diff --git a/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild b/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild index 9334c2a8071f..bb6117a78bb2 100644 --- a/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild +++ b/mail-filter/opendkim/opendkim-2.10.3-r30.ebuild @@ -56,6 +56,8 @@ PATCHES=( "${FILESDIR}/${P}-lua-pkgconfig-pt2.patch" "${FILESDIR}/${P}-define-P-macro-in-libvbr.patch" "${FILESDIR}/${P}-fix-libmilter-search.patch" + "${FILESDIR}/${P}-snprintf-include.patch" + "${FILESDIR}/${P}-c-std.patch" ) pkg_setup() { |