Bug#1070396: exim4: FTBFS on hurd-i386
Control: forwarded -1 https://bugs.exim.org/show_bug.cgi?id=3044 On 2024-05-05 Andreas Metzler wrote: [...] > afaict at a quick glance the second patch works around a real bug. - > src/tls.c calls tls_server_creds_invalidate() but the source code for > this function is #ifdefined while the invocation is not. > I will consult with upstream. This had been reported upstream by Samuel Thibault, I have added the first patch there, too. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
Bug#1070396: exim4: FTBFS on hurd-i386
On 2024-05-04 Svante Signell wrote: > Source: exim4 [...] > - src_tls-gnu.c.patch: > Define tls_{client,server}_creds_invalidate() for Hurd too by adding > #defined(__GNU__) to the condition. Functions gnutls_priority_deinit() > and gnutls_certificate_free_credentials() already defined in > libgnutls.so.30 (and libgnutls.a) [...] > --- a/src/tls-gnu.c 2023-11-04 13:55:49.0 +0100 > +++ b/src/tls-gnu.c 2024-05-04 17:02:04.0 +0200 > @@ -1720,7 +1720,7 @@ > } > -#if defined(EXIM_HAVE_INOTIFY) || defined(EXIM_HAVE_KEVENT) > +#if defined(EXIM_HAVE_INOTIFY) || defined(EXIM_HAVE_KEVENT) || > defined(__GNU__) Hello Svante, afaict at a quick glance the second patch works around a real bug. - src/tls.c calls tls_server_creds_invalidate() but the source code for this function is #ifdefined while the invocation is not. I will consult with upstream. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
Bug#1070396: exim4: FTBFS on hurd-i386
Source: exim4 Version: 4.97-8 Severity: important Tags: patch User: debian-h...@lists.debian.org Usertags: hurd X-Debbugs-CC: debian-h...@lists.debian.org Hi, exim4 FTBFS on hurd-i386, but built before. Latest successful build was 4.94-19. Attached are two patches enabling a successful build: - exim_monitor_em_hdr.h: em_hdr.h includes macros.h but not exim.h, which defines PATH_MAX, but that header file cannot cannot be included. Instead define PATH_MAX directly in em_hdr.h to avoid the error occurring when macros.h is included. - src_tls-gnu.c.patch: Define tls_{client,server}_creds_invalidate() for Hurd too by adding #defined(__GNU__) to the condition. Functions gnutls_priority_deinit() and gnutls_certificate_free_credentials() already defined in libgnutls.so.30 (and libgnutls.a) Thanks! --- a/src/tls-gnu.c 2023-11-04 13:55:49.0 +0100 +++ b/src/tls-gnu.c 2024-05-04 17:02:04.0 +0200 @@ -1720,7 +1720,7 @@ } -#if defined(EXIM_HAVE_INOTIFY) || defined(EXIM_HAVE_KEVENT) +#if defined(EXIM_HAVE_INOTIFY) || defined(EXIM_HAVE_KEVENT) || defined(__GNU__) /* Invalidate the creds cached, by dropping the current ones. Call when we notice one of the source files has changed. */ Index: exim4-4.97/exim_monitor/em_hdr.h === --- exim4-4.97.orig/exim_monitor/em_hdr.h +++ exim4-4.97/exim_monitor/em_hdr.h @@ -99,6 +99,10 @@ this interface so that this kind of klud typedef void * hctx; #include "local_scan.h" +/* PATH_MAX is defined in exim.h but cannot be included here */ +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif #include "macros.h" #include "structs.h" #include "blob.h"