From 1ddc2421532ec08970d181b16f7b952f4541f9a3 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 30 Apr 2016 12:35:43 +0000 Subject: [PATCH] dovecot: bump version. * enable x86_64, requires fix for #12737. --- ...ot-2.2.15.recipe => dovecot-2.2.24.recipe} | 40 +++--- .../dovecot/patches/dovecot-2.2.15.patchset | 120 ---------------- .../dovecot/patches/dovecot-2.2.24.patchset | 133 ++++++++++++++++++ 3 files changed, 157 insertions(+), 136 deletions(-) rename net-mail/dovecot/{dovecot-2.2.15.recipe => dovecot-2.2.24.recipe} (59%) delete mode 100755 net-mail/dovecot/patches/dovecot-2.2.15.patchset create mode 100755 net-mail/dovecot/patches/dovecot-2.2.24.patchset diff --git a/net-mail/dovecot/dovecot-2.2.15.recipe b/net-mail/dovecot/dovecot-2.2.24.recipe similarity index 59% rename from net-mail/dovecot/dovecot-2.2.15.recipe rename to net-mail/dovecot/dovecot-2.2.24.recipe index e06acf961..b879766bb 100644 --- a/net-mail/dovecot/dovecot-2.2.15.recipe +++ b/net-mail/dovecot/dovecot-2.2.24.recipe @@ -6,13 +6,13 @@ It's fast, simple to set up, requires no special administration and it \ uses very little memory." HOMEPAGE="http://dovecot.org/" LICENSE="MIT" -COPYRIGHT="2002-2014 Timo Sirainen" +COPYRIGHT="2002-2016 Timo Sirainen" REVISION="1" -SOURCE_URI="http://dovecot.org/releases/2.2/dovecot-2.2.15.tar.gz" -CHECKSUM_SHA256="d10e7769e2367d635c93fd6589efdd05f2e3acf13c7911a40167faedf23c399f" -PATCHES="dovecot-2.2.15.patchset" +SOURCE_URI="http://dovecot.org/releases/2.2/dovecot-$portVersion.tar.gz" +CHECKSUM_SHA256="71c86891ea8deb5703d3dbbc3ea31ce2cbf7638f1aa395d9e8794d3ff7aebeb7" +PATCHES="dovecot-$portVersion.patchset" -ARCHITECTURES="x86_gcc2 x86 ?x86_64" +ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" PROVIDES=" @@ -21,27 +21,33 @@ PROVIDES=" cmd:doveconf$secondaryArchSuffix = $portVersion cmd:dovecot$secondaryArchSuffix = $portVersion cmd:dsync$secondaryArchSuffix = $portVersion - lib:libdovecot$secondaryArchSuffix = $portVersion - lib:libdovecot_storage$secondaryArchSuffix = $portVersion + lib:libdovecot$secondaryArchSuffix = 0.0.0 + lib:libdovecot_storage$secondaryArchSuffix = 0.0.0 " REQUIRES=" haiku$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libssl$secondaryArchSuffix lib:libz$secondaryArchSuffix - lib:libdovecot$secondaryArchSuffix - lib:libdovecot_storage$secondaryArchSuffix " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libiconv$secondaryArchSuffix + devel:libssl$secondaryArchSuffix devel:libz$secondaryArchSuffix - devel:liblz4$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel - cmd:gcc$secondaryArchSuffix - cmd:ld - cmd:make - cmd:find + cmd:autoreconf cmd:awk + cmd:diff + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:gettext + cmd:ld$secondaryArchSuffix + cmd:libtool$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix " GLOBAL_WRITABLE_FILES=" @@ -53,7 +59,9 @@ USER_SETTINGS_FILES=" BUILD() { - CFLAGS=-D_BSD_SOURCE runConfigure ./configure --libexecdir=$libDir/libexec + autoreconf -fi + CFLAGS=-D_BSD_SOURCE runConfigure ./configure \ + --libexecdir=$libDir/libexec --with-ssl=openssl make } diff --git a/net-mail/dovecot/patches/dovecot-2.2.15.patchset b/net-mail/dovecot/patches/dovecot-2.2.15.patchset deleted file mode 100755 index 33ccf151d..000000000 --- a/net-mail/dovecot/patches/dovecot-2.2.15.patchset +++ /dev/null @@ -1,120 +0,0 @@ -From 20721e7e6f81a7e0a6b6f488b5ac4e4d0abaedcc Mon Sep 17 00:00:00 2001 -From: Theodore Kokkoris -Date: Sat, 17 Jan 2015 19:24:43 +0200 -Subject: [PATCH] Various fixes for GCC2 - ---- - src/lib-master/master-service-ssl-settings.c | 9 ++++----- - src/lib-storage/list/mailbox-list-index-backend.c | 4 ++-- - src/lib-test/test-common.c | 2 +- - src/lib/test-data-stack.c | 2 +- - src/plugins/stats/stats-plugin.c | 2 ++ - 5 files changed, 10 insertions(+), 9 deletions(-) - -diff --git a/src/lib-master/master-service-ssl-settings.c b/src/lib-master/master-service-ssl-settings.c -index c9127c7..9d76db5 100644 ---- a/src/lib-master/master-service-ssl-settings.c -+++ b/src/lib-master/master-service-ssl-settings.c -@@ -72,6 +72,8 @@ master_service_ssl_settings_check(void *_set, pool_t pool ATTR_UNUSED, - const char **error_r) - { - struct master_service_ssl_settings *set = _set; -+ const char **opts = t_strsplit_spaces(set->ssl_options, ", "); -+ const char *opt; - - if (strcmp(set->ssl, "no") == 0) { - /* disabled */ -@@ -96,18 +98,15 @@ master_service_ssl_settings_check(void *_set, pool_t pool ATTR_UNUSED, - return FALSE; - } - #endif -+ - if (set->ssl_verify_client_cert && *set->ssl_ca == '\0') { - *error_r = "ssl_verify_client_cert set, but ssl_ca not"; - return FALSE; - } -- -- /* Now explode the ssl_options string into individual flags */ -- /* First set them all to defaults */ -+ - set->parsed_opts.compression = TRUE; - - /* Then modify anything specified in the string */ -- const char **opts = t_strsplit_spaces(set->ssl_options, ", "); -- const char *opt; - while ((opt = *opts++) != NULL) { - if (strcasecmp(opt, "no_compression") == 0) { - set->parsed_opts.compression = FALSE; -diff --git a/src/lib-storage/list/mailbox-list-index-backend.c b/src/lib-storage/list/mailbox-list-index-backend.c -index d0ef630..98a55e1 100644 ---- a/src/lib-storage/list/mailbox-list-index-backend.c -+++ b/src/lib-storage/list/mailbox-list-index-backend.c -@@ -327,6 +327,8 @@ index_list_mailbox_create(struct mailbox *box, - struct mailbox_update new_update; - enum mailbox_existence existence; - int ret; -+ const char *old_name; -+ guid_128_t old_guid; - - /* first do a quick check that it doesn't exist */ - if ((ret = index_list_node_exists(list, box->name, &existence)) < 0) { -@@ -354,8 +356,6 @@ index_list_mailbox_create(struct mailbox *box, - so use a bit kludgy create_mailbox_* variables during the - creation to return the path. we'll also support recursively - creating more mailboxes in here. */ -- const char *old_name; -- guid_128_t old_guid; - - old_name = list->create_mailbox_name; - guid_128_copy(old_guid, list->create_mailbox_guid); -diff --git a/src/lib-test/test-common.c b/src/lib-test/test-common.c -index ad1bade..2ccd83e 100644 ---- a/src/lib-test/test-common.c -+++ b/src/lib-test/test-common.c -@@ -312,9 +312,9 @@ static void run_one_fatal(enum fatal_test_state (*fatal_function)(int)) - static int index = 0; - for (;;) { - volatile int jumped = setjmp(fatal_jmpbuf); -+ expecting_fatal = TRUE; - if (jumped == 0) { - /* normal flow */ -- expecting_fatal = TRUE; - enum fatal_test_state ret = fatal_function(index); - expecting_fatal = FALSE; - if (ret == FATAL_TEST_FINISHED) { -diff --git a/src/lib/test-data-stack.c b/src/lib/test-data-stack.c -index e038a5d..ab5ce3d 100644 ---- a/src/lib/test-data-stack.c -+++ b/src/lib/test-data-stack.c -@@ -100,8 +100,8 @@ static void test_ds_recurse(int depth, int number, size_t size) - t_buffer_alloc_type(char *, number); - - for (i = 0; i < number; i++) { -- ps[i] = t_malloc(size/2); - bool re = t_try_realloc(ps[i], size); -+ ps[i] = t_malloc(size/2); - test_assert_idx(ps[i] != NULL, i); - if (!re) { - try_fails++; -diff --git a/src/plugins/stats/stats-plugin.c b/src/plugins/stats/stats-plugin.c -index df8b447..edd8236 100644 ---- a/src/plugins/stats/stats-plugin.c -+++ b/src/plugins/stats/stats-plugin.c -@@ -190,12 +190,14 @@ void mail_stats_get(struct stats_user *suser, struct mail_stats *stats_r) - memset(&usage, 0, sizeof(usage)); - stats_r->user_cpu = usage.ru_utime; - stats_r->sys_cpu = usage.ru_stime; -+#ifndef __HAIKU__ - stats_r->min_faults = usage.ru_minflt; - stats_r->maj_faults = usage.ru_majflt; - stats_r->vol_cs = usage.ru_nvcsw; - stats_r->invol_cs = usage.ru_nivcsw; - stats_r->disk_input = (unsigned long long)usage.ru_inblock * 512ULL; - stats_r->disk_output = (unsigned long long)usage.ru_oublock * 512ULL; -+#endif - (void)gettimeofday(&stats_r->clock_time, NULL); - process_read_io_stats(stats_r); - user_trans_stats_get(suser, &stats_r->trans_stats); --- -1.8.3.4 - diff --git a/net-mail/dovecot/patches/dovecot-2.2.24.patchset b/net-mail/dovecot/patches/dovecot-2.2.24.patchset new file mode 100755 index 000000000..ef6dcbc33 --- /dev/null +++ b/net-mail/dovecot/patches/dovecot-2.2.24.patchset @@ -0,0 +1,133 @@ +From b58d8af46ef7dc1d79da5460ef1b2f790e9b614e Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Fri, 29 Apr 2016 18:25:58 +0000 +Subject: Haiku patch + + +diff --git a/Makefile.am b/Makefile.am +index a7be896..96911d8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,3 +1,4 @@ ++ACLOCAL_AMFLAGS = -I. + aclocaldir = $(datadir)/aclocal + + SUBDIRS = \ +diff --git a/configure.ac b/configure.ac +index 2662d24..dc1effb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -392,7 +392,7 @@ dnl ** + dnl ** just some generic stuff... + dnl ** + +-AC_SEARCH_LIBS(socket, socket) ++AC_SEARCH_LIBS(socket, socket network) + AC_SEARCH_LIBS(inet_addr, nsl) + AC_SEARCH_LIBS(fdatasync, rt, [ + AC_DEFINE(HAVE_FDATASYNC,, [Define if you have fdatasync()]) +diff --git a/src/imap-hibernate/imap-client.c b/src/imap-hibernate/imap-client.c +index 5c7209e..0110f42 100644 +--- a/src/imap-hibernate/imap-client.c ++++ b/src/imap-hibernate/imap-client.c +@@ -117,11 +117,13 @@ imap_client_move_back_send_callback(void *context, struct ostream *output) + str_append(str, "\tuserdb_fields="); + str_append_tabescaped(str, state->userdb_fields); + } ++#ifndef __HAIKU__ + if (major(state->peer_dev) != 0 || minor(state->peer_dev) != 0) { + str_printfa(str, "\tpeer_dev_major=%lu\tpeer_dev_minor=%lu", + (unsigned long)major(state->peer_dev), + (unsigned long)minor(state->peer_dev)); + } ++#endif + if (state->peer_ino != 0) + str_printfa(str, "\tpeer_ino=%llu", (unsigned long long)state->peer_ino); + if (state->state_size > 0) { +diff --git a/src/imap-hibernate/imap-hibernate-client.c b/src/imap-hibernate/imap-hibernate-client.c +index 9bec027..cfc866b 100644 +--- a/src/imap-hibernate/imap-hibernate-client.c ++++ b/src/imap-hibernate/imap-hibernate-client.c +@@ -138,8 +138,10 @@ imap_hibernate_client_parse_input(const char *const *args, pool_t pool, + state_r->state_size = state_buf->used; + } + } ++#ifndef __HAIKU__ + if (peer_dev_major != 0 || peer_dev_minor != 0) + state_r->peer_dev = makedev(peer_dev_major, peer_dev_minor); ++#endif + return 0; + } + +diff --git a/src/imap/imap-client-hibernate.c b/src/imap/imap-client-hibernate.c +index c2704b3..84f5fea 100644 +--- a/src/imap/imap-client-hibernate.c ++++ b/src/imap/imap-client-hibernate.c +@@ -51,10 +51,12 @@ static void imap_hibernate_write_cmd(struct client *client, string_t *cmd, + str_printfa(cmd, "\tidle_notify_interval=%u", + client->set->imap_idle_notify_interval); + if (fstat(client->fd_in, &peer_st) == 0) { ++#ifndef __HAIKU__ + str_printfa(cmd, "\tpeer_dev_major=%lu\tpeer_dev_minor=%lu\tpeer_ino=%llu", + (unsigned long)major(peer_st.st_dev), + (unsigned long)minor(peer_st.st_dev), + (unsigned long long)peer_st.st_ino); ++#endif + } + + if (client->session_id != NULL) { +diff --git a/src/imap/imap-master-client.c b/src/imap/imap-master-client.c +index d562d1b..37a6445 100644 +--- a/src/imap/imap-master-client.c ++++ b/src/imap/imap-master-client.c +@@ -142,10 +142,12 @@ imap_master_client_parse_input(const char *const *args, pool_t pool, + master_input_r->state_import_idle_continue = TRUE; + } + } ++#ifndef __HAIKU__ + if (peer_dev_major != 0 || peer_dev_minor != 0) { + master_input_r->peer_dev = + makedev(peer_dev_major, peer_dev_minor); + } ++#endif + return 0; + } + +@@ -164,6 +166,7 @@ static int imap_master_client_verify(const struct imap_master_input *master_inpu + } + if (peer_st.st_ino != master_input->peer_ino || + !CMP_DEV_T(peer_st.st_dev, master_input->peer_dev)) { ++#ifndef __HAIKU__ + *error_r = t_strdup_printf( + "BUG: Expected peer device=%lu,%lu inode=%s doesn't match " + "client fd's actual device=%lu,%lu inode=%s", +@@ -172,6 +175,7 @@ static int imap_master_client_verify(const struct imap_master_input *master_inpu + (unsigned long)major(master_input->peer_dev), + (unsigned long)minor(master_input->peer_dev), + dec2str(master_input->peer_ino)); ++#endif + return -1; + } + return 0; +diff --git a/src/plugins/stats/mail-stats-fill.c b/src/plugins/stats/mail-stats-fill.c +index 7c48f6f..a7d2ed4 100644 +--- a/src/plugins/stats/mail-stats-fill.c ++++ b/src/plugins/stats/mail-stats-fill.c +@@ -118,12 +118,14 @@ void mail_stats_fill(struct stats_user *suser, struct mail_stats *stats_r) + memset(&usage, 0, sizeof(usage)); + stats_r->user_cpu = usage.ru_utime; + stats_r->sys_cpu = usage.ru_stime; ++#ifndef __HAIKU__ + stats_r->min_faults = usage.ru_minflt; + stats_r->maj_faults = usage.ru_majflt; + stats_r->vol_cs = usage.ru_nvcsw; + stats_r->invol_cs = usage.ru_nivcsw; + stats_r->disk_input = (unsigned long long)usage.ru_inblock * 512ULL; + stats_r->disk_output = (unsigned long long)usage.ru_oublock * 512ULL; ++#endif + (void)gettimeofday(&stats_r->clock_time, NULL); + process_read_io_stats(stats_r); + user_trans_stats_get(suser, stats_r); +-- +2.2.2 +