Antoine,
Thanks for your feedback.
I'm working now on the flavored version of the port based on our conversation
with Stuart, in particular what I described in my mail on 24 Nov 2020 09:40 UTC
in this thread.
Does that sound reasonable?
I plan to first enable the 4 most popular flavors/combinations and then, in a
second diff, to add additional optional flavors that won't be built
automatically.
Regards,
Anatoli
On 4/12/20 09:34, Antoine Jacoutot wrote:
> On Mon, Nov 30, 2020 at 04:19:16AM -0300, Anatoli wrote:
>> Antoine, Stuart,
>>
>> cyrus-imapd 3.2.5 was just released.
>>
>> I'm attaching an updated patch that also includes the SHA256 and the version
>> bump + everything else from my initial mail, which is needed to accommodate
>> the
>> cross-platform changes and upstreamed port's patches that are included in
>> this
>> release (and the explanations for each change are in my initial mail).
>
> Committed, thanks a lot for your work :-)
>
>
>>
>> Regards,
>> Anatoli
>>
>>
>>
>> diff --git Makefile Makefile
>> index bfee0b835b1..d738a1ca91b 100644
>> --- Makefile
>> +++ Makefile
>> @@ -4,7 +4,7 @@ PORTROACH= limitw:1,even
>>
>> COMMENT= Cyrus IMAP server
>>
>> -V= 3.2.4
>> +V= 3.2.5
>> DISTNAME= cyrus-imapd-${V}
>>
>> SHARED_LIBS += cyrus 0.0 # 0.0
>> diff --git distinfo distinfo
>> index 2c825c1a02a..367870468fe 100644
>> --- distinfo
>> +++ distinfo
>> @@ -1,2 +1,2 @@
>> -SHA256 (cyrus-imapd-3.2.4.tar.gz) =
>> UWEmLDgqpaeMKLGk9eolRQne4eet6DH37JsUB4+0LyM=
>> -SIZE (cyrus-imapd-3.2.4.tar.gz) = 12270070
>> +SHA256 (cyrus-imapd-3.2.5.tar.gz) =
>> zDhqdU4kOJtSr4NzdrO7YFW+pwV/U+yHq8oGqOjWlWM=
>> +SIZE (cyrus-imapd-3.2.5.tar.gz) = 12237158
>> diff --git Makefile Makefile
>> index c7fb05ebcee..bfee0b835b1 100644
>> --- Makefile
>> +++ Makefile
>> @@ -39,8 +39,7 @@ LIB_DEPENDS= databases/sqlite3 \
>>
>> CONFIGURE_STYLE= gnu
>> CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
>> - LDFLAGS="-L${LOCALBASE}/lib" \
>> - cyrus_cv_sse42=no
>> + LDFLAGS="-L${LOCALBASE}/lib"
>> CONFIGURE_ARGS= --bindir=${PREFIX}/cyrus/bin \
>> --libexec=${PREFIX}/cyrus/libexec \
>> --sbindir=${PREFIX}/cyrus/sbin \
>> @@ -48,17 +47,12 @@ CONFIGURE_ARGS= --bindir=${PREFIX}/cyrus/bin \
>> --with-cyrus-user=_cyrus \
>> --with-syslogfacility=MAIL \
>> --without-chardet \
>> - --without-cld2 \
>> --without-sphinx-build \
>> --without-zeroskip \
>> --disable-gssapi \
>> --enable-autocreate \
>> --enable-idled \
>> - --enable-murder \
>> - --enable-nntp
>> -
>> -# XXX FLAVOR
>> -CONFIGURE_ARGS += --without-snmp
>> + --enable-murder
>>
>> # XXX notyet; FLAVOR
>> CONFIGURE_ARGS += --without-clamav \
>> diff --git patches/patch-imap_conversations_c
>> patches/patch-imap_conversations_c
>> deleted file mode 100644
>> index 9eab9396e0d..00000000000
>> --- patches/patch-imap_conversations_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-imap_conversations_c,v 1.3 2020/05/14 12:26:39 ajacoutot
>> Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: imap/conversations.c
>> ---- imap/conversations.c.orig
>> -+++ imap/conversations.c
>> -@@ -567,7 +567,7 @@ static int _conversations_set_key(struct conversations
>> - if (i) buf_putc(&buf, ',');
>> - buf_printf(&buf, CONV_FMT, cid);
>> - }
>> -- buf_printf(&buf, " %lu", stamp);
>> -+ buf_printf(&buf, " %lld", stamp);
>> -
>> - r = cyrusdb_store(state->db,
>> - key, keylen,
>> diff --git patches/patch-imap_fud_c patches/patch-imap_fud_c
>> deleted file mode 100644
>> index cc6a8f8d327..00000000000
>> --- patches/patch-imap_fud_c
>> +++ /dev/null
>> @@ -1,17 +0,0 @@
>> -$OpenBSD: patch-imap_fud_c,v 1.2 2020/08/28 09:53:04 ajacoutot Exp $
>> -
>> -Index: imap/fud.c
>> ---- imap/fud.c.orig
>> -+++ imap/fud.c
>> -@@ -96,8 +96,10 @@ static void send_reply(struct sockaddr *sfrom, socklen
>> -
>> - static int soc = 0; /* inetd (master) has handed us the port as stdin */
>> -
>> --#ifndef MAXDOMNAME
>> -+#ifndef MAXLOGNAME
>> - #define MAXLOGNAME 16 /* should find out for real */
>> -+#endif
>> -+#ifndef MAXDOMNAME
>> - #define MAXDOMNAME 20 /* should find out for real */
>> - #endif
>> -
>> diff --git patches/patch-imap_mailbox_c patches/patch-imap_mailbox_c
>> deleted file mode 100644
>> index 0793441fdfa..00000000000
>> --- patches/patch-imap_mailbox_c
>> +++ /dev/null
>> @@ -1,34 +0,0 @@
>> -$OpenBSD: patch-imap_mailbox_c,v 1.19 2020/05/30 10:09:27 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: imap/mailbox.c
>> ---- imap/mailbox.c.orig
>> -+++ imap/mailbox.c
>> -@@ -2899,7 +2899,7 @@ static uint32_t crc_basic(const struct mailbox *mailbo
>> - flagcrc ^= crc32_cstring(buf);
>> - }
>> -
>> -- snprintf(buf, sizeof(buf), "%u " MODSEQ_FMT " %lu (%u) %lu %s",
>> -+ snprintf(buf, sizeof(buf), "%u " MODSEQ_FMT " %lld (%u) %lld %s",
>> - record->uid, record->modseq, record->last_updated,
>> - flagcrc,
>> - record->internaldate,
>> -@@ -2959,7 +2959,7 @@ static uint32_t crc_virtannot(struct mailbox *mailbox,
>> - }
>> -
>> - if (record->savedate && mailbox->i.minor_version >= 15) {
>> -- buf_printf(&buf, "%lu", record->savedate);
>> -+ buf_printf(&buf, "%lld", record->savedate);
>> - crc ^= crc_annot(record->uid, IMAP_ANNOT_NS "savedate", "", &buf);
>> - buf_reset(&buf);
>> - }
>> -@@ -4520,7 +4520,7 @@ static int mailbox_index_repack(struct mailbox *mailbo
>> - if (mailbox->i.minor_version >= 15 &&
>> repack->newmailbox.i.minor_version < 15) {
>> - if (record->savedate) {
>> - buf_reset(&buf);
>> -- buf_printf(&buf, "%lu", record->savedate);
>> -+ buf_printf(&buf, "%lld", record->savedate);
>> - r = annotate_state_writesilent(astate, IMAP_ANNOT_NS
>> "savedate", "", &buf);
>> - if (r) goto done;
>> - }
>> diff --git patches/patch-imap_mbexamine_c patches/patch-imap_mbexamine_c
>> deleted file mode 100644
>> index 2ddae7901a0..00000000000
>> --- patches/patch-imap_mbexamine_c
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -$OpenBSD: patch-imap_mbexamine_c,v 1.12 2020/05/30 10:09:27 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: imap/mbexamine.c
>> ---- imap/mbexamine.c.orig
>> -+++ imap/mbexamine.c
>> -@@ -231,7 +231,7 @@ static int do_examine(struct findall_data *data, void
>> - mailbox->i.start_offset, mailbox->i.record_size);
>> - printf(" Number of Messages: %u Mailbox Size: " QUOTA_T_FMT " bytes
>> Annotations Size: " QUOTA_T_FMT " bytes\n",
>> - mailbox->i.exists, mailbox->i.quota_mailbox_used,
>> mailbox->i.quota_annot_used);
>> -- printf(" Last Append Date: (%lu) %s",
>> -+ printf(" Last Append Date: (%lld) %s",
>> - mailbox->i.last_appenddate, ctime(&mailbox->i.last_appenddate));
>> - printf(" UIDValidity: %u Last UID: %u\n",
>> - mailbox->i.uidvalidity, mailbox->i.last_uid);
>> -@@ -255,8 +255,8 @@ static int do_examine(struct findall_data *data, void
>> - }
>> - }
>> - printf("\n");
>> -- printf(" Last POP3 Login: (%ld) %s", mailbox->i.pop3_last_login,
>> -- ctime((const long *) &mailbox->i.pop3_last_login));
>> -+ printf(" Last POP3 Login: (%lld) %s", mailbox->i.pop3_last_login,
>> -+ ctime((const long long *) &mailbox->i.pop3_last_login));
>> - printf(" Highest Mod Sequence: " MODSEQ_FMT "\n",
>> - mailbox->i.highestmodseq);
>> -
>> -@@ -277,10 +277,10 @@ static int do_examine(struct findall_data *data, void
>> - }
>> -
>> - printf("%06u> UID:%08u"
>> -- " INT_DATE:%lu SENTDATE:%lu SAVEDATE:%lu SIZE:%-6u\n",
>> -+ " INT_DATE:%lld SENTDATE:%lld SAVEDATE:%lld SIZE:%-6u\n",
>> - msgno, record->uid, record->internaldate,
>> - record->sentdate, record->savedate, record->size);
>> -- printf(" > HDRSIZE:%-6u LASTUPD :%lu SYSFLAGS:%08X",
>> -+ printf(" > HDRSIZE:%-6u LASTUPD :%lld SYSFLAGS:%08X",
>> - record->header_size, record->last_updated,
>> - record->system_flags);
>> -
>> diff --git patches/patch-imap_seen_db_c patches/patch-imap_seen_db_c
>> deleted file mode 100644
>> index 575ed495cbe..00000000000
>> --- patches/patch-imap_seen_db_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-imap_seen_db_c,v 1.3 2018/05/18 11:16:43 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: imap/seen_db.c
>> ---- imap/seen_db.c.orig
>> -+++ imap/seen_db.c
>> -@@ -295,7 +295,7 @@ EXPORTED int seen_write(struct seen *seendb, const cha
>> - seendb->user, uniqueid);
>> - }
>> -
>> -- snprintf(data, sz, "%d %lu %u %lu %s", SEEN_VERSION,
>> -+ snprintf(data, sz, "%d %lld %u %lld %s", SEEN_VERSION,
>> - sd->lastread, sd->lastuid,
>> - sd->lastchange, sd->seenuids);
>> - datalen = strlen(data);
>> diff --git patches/patch-imap_sync_support_c
>> patches/patch-imap_sync_support_c
>> deleted file mode 100644
>> index 852cb88d39f..00000000000
>> --- patches/patch-imap_sync_support_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-imap_sync_support_c,v 1.4 2020/05/14 12:26:39 ajacoutot Exp
>> $
>> -
>> -64 bit time_t
>> -
>> -Index: imap/sync_support.c
>> ---- imap/sync_support.c.orig
>> -+++ imap/sync_support.c
>> -@@ -4963,7 +4963,7 @@ static void log_record(const char *name, struct mailbo
>> - struct index_record *record)
>> - {
>> - syslog(LOG_NOTICE, "SYNCNOTICE: %s uid:%u modseq:" MODSEQ_FMT " "
>> -- "last_updated:%lu internaldate:%lu flags:(%s) cid:" CONV_FMT,
>> -+ "last_updated:%lld internaldate:%lld flags:(%s) cid:" CONV_FMT,
>> - name, record->uid, record->modseq,
>> - record->last_updated, record->internaldate,
>> - make_flags(mailbox, record), record->cid);
>> diff --git patches/patch-imtest_imtest_c patches/patch-imtest_imtest_c
>> deleted file mode 100644
>> index 1e0b4cf8f12..00000000000
>> --- patches/patch-imtest_imtest_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-imtest_imtest_c,v 1.5 2020/10/09 08:47:57 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: imtest/imtest.c
>> ---- imtest/imtest.c.orig
>> -+++ imtest/imtest.c
>> -@@ -1980,7 +1980,7 @@ static void send_recv_test(void)
>> -
>> - end=time(NULL);
>> -
>> -- printf("took %ld seconds\n", end - start);
>> -+ printf("took %lld seconds\n", end - start);
>> - }
>> -
>> - /*********************************** POP3
>> ************************************/
>> diff --git patches/patch-lib_auth_pts_c patches/patch-lib_auth_pts_c
>> deleted file mode 100644
>> index aec81dfa723..00000000000
>> --- patches/patch-lib_auth_pts_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-lib_auth_pts_c,v 1.3 2018/05/18 11:16:43 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: lib/auth_pts.c
>> ---- lib/auth_pts.c.orig
>> -+++ lib/auth_pts.c
>> -@@ -400,7 +400,7 @@ static int ptload(const char *identifier, struct auth_
>> -
>> - syslog(LOG_DEBUG,
>> - "ptload(): fetched cache record (%s)" \
>> -- "(mark %ld, current %ld, limit %ld)", identifier,
>> -+ "(mark %lld, current %lld, limit %lld)", identifier,
>> - fetched->mark, now, now - timeout);
>> -
>> - if (fetched->mark > (now - timeout)) {
>> diff --git patches/patch-lib_prot_c patches/patch-lib_prot_c
>> deleted file mode 100644
>> index 6b4b43545b6..00000000000
>> --- patches/patch-lib_prot_c
>> +++ /dev/null
>> @@ -1,25 +0,0 @@
>> -$OpenBSD: patch-lib_prot_c,v 1.4 2020/05/14 12:26:39 ajacoutot Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: lib/prot.c
>> ---- lib/prot.c.orig
>> -+++ lib/prot.c
>> -@@ -816,7 +816,7 @@ EXPORTED int prot_fill(struct protstream *s)
>> - char timebuf[20];
>> -
>> - time(&newtime);
>> -- snprintf(timebuf, sizeof(timebuf), "<%ld<", newtime);
>> -+ snprintf(timebuf, sizeof(timebuf), "<%lld<", newtime);
>> - n = write(s->logfd, timebuf, strlen(timebuf));
>> -
>> - left = s->cnt;
>> -@@ -879,7 +879,7 @@ static void prot_flush_log(struct protstream *s)
>> - char timebuf[20];
>> -
>> - time(&newtime);
>> -- snprintf(timebuf, sizeof(timebuf), ">%ld>", newtime);
>> -+ snprintf(timebuf, sizeof(timebuf), ">%lld>", newtime);
>> - n = write(s->logfd, timebuf, strlen(timebuf));
>> -
>> - do {
>> diff --git patches/patch-master_master_c patches/patch-master_master_c
>> deleted file mode 100644
>> index 0ec822c4a81..00000000000
>> --- patches/patch-master_master_c
>> +++ /dev/null
>> @@ -1,23 +0,0 @@
>> -$OpenBSD: patch-master_master_c,v 1.2 2020/05/14 12:26:39 ajacoutot Exp $
>> -
>> -warning: format specifies type 'long' but the argument has type 'rlim_t'
>> (aka 'unsigned long long') [-Wformat]
>> -
>> -Index: master/master.c
>> ---- master/master.c.orig
>> -+++ master/master.c
>> -@@ -1983,13 +1983,13 @@ static void limit_fds(rlim_t x)
>> - }
>> -
>> - if (verbose > 1) {
>> -- syslog(LOG_DEBUG, "set maximum file descriptors to %ld/%ld",
>> -+ syslog(LOG_DEBUG, "set maximum file descriptors to %llu/%llu",
>> - rl.rlim_cur, rl.rlim_max);
>> - }
>> -
>> - if (setrlimit(RLIMIT_NUMFDS, &rl) < 0) {
>> - syslog(LOG_ERR,
>> -- "setrlimit: Unable to set file descriptors limit to %ld:
>> %m",
>> -+ "setrlimit: Unable to set file descriptors limit to %llu:
>> %m",
>> - rl.rlim_cur);
>> - }
>> - }
>> diff --git patches/patch-notifyd_notify_mailto_c
>> patches/patch-notifyd_notify_mailto_c
>> deleted file mode 100644
>> index 5332bc0a04f..00000000000
>> --- patches/patch-notifyd_notify_mailto_c
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -$OpenBSD: patch-notifyd_notify_mailto_c,v 1.3 2018/05/18 11:16:43 ajacoutot
>> Exp $
>> -
>> -64 bit time_t
>> -
>> -Index: notifyd/notify_mailto.c
>> ---- notifyd/notify_mailto.c.orig
>> -+++ notifyd/notify_mailto.c
>> -@@ -110,7 +110,7 @@ char* notify_mailto(const char *class,
>> - return strdup("NO mailto could not spawn sendmail process");
>> -
>> - t = time(NULL);
>> -- snprintf(outmsgid, sizeof(outmsgid), "<cmu-sieve-%d-%lu-%d@%s>",
>> -+ snprintf(outmsgid, sizeof(outmsgid), "<cmu-sieve-%d-%lld-%d@%s>",
>> - (int) sm_pid, t, global_outgoing_count++, config_servername);
>> -
>> - fprintf(sm, "Message-ID: %s\r\n", outmsgid);
>> diff --git patches/patch-sieve_sieved_c patches/patch-sieve_sieved_c
>> deleted file mode 100644
>> index 5b83f02e5d7..00000000000
>> --- patches/patch-sieve_sieved_c
>> +++ /dev/null
>> @@ -1,26 +0,0 @@
>> -$OpenBSD: patch-sieve_sieved_c,v 1.1 2020/08/28 09:53:04 ajacoutot Exp $
>> -
>> -sieve/sieved.c:161:61: warning: format specifies type 'unsigned long' but
>> the argument has type 'unsigned long long' [-Wformat]
>> -sieve/sieved.c:176:29: warning: format specifies type 'unsigned long' but
>> the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
>> -
>> -Index: sieve/sieved.c
>> ---- sieve/sieved.c.orig
>> -+++ sieve/sieved.c
>> -@@ -158,7 +158,7 @@ static void print_stringlist(const char *label, strarr
>> -
>> - static void print_time(uint64_t t)
>> - {
>> -- printf(" %02lu:%02lu:%02lu", t / 3600, (t % 3600) / 60, t % 60);
>> -+ printf(" %02llu:%02llu:%02llu", t / 3600, (t % 3600) / 60, t % 60);
>> - }
>> -
>> - static void print_vallist(const char *label, arrayu64_t *list,
>> -@@ -173,7 +173,7 @@ static void print_vallist(const char *label, arrayu64_
>> -
>> - if (!(x % 5)) printf("\n\t\t");
>> - if (print_cb) print_cb(i);
>> -- else printf(" %lu", i);
>> -+ else printf(" %llu", i);
>> - }
>> - printf("\n\t]");
>> -
>> diff --git pkg/PLIST pkg/PLIST
>> index 87efee63c59..06e52dfbe56 100644
>> --- pkg/PLIST
>> +++ pkg/PLIST
>> @@ -28,7 +28,6 @@ cyrus/libexec/
>> cyrus/libexec/lmtpproxyd
>> @bin cyrus/libexec/master
>> @bin cyrus/libexec/mupdate
>> -@bin cyrus/libexec/nntpd
>> @bin cyrus/libexec/notifyd
>> @bin cyrus/libexec/pop3d
>> cyrus/libexec/pop3proxyd
>> @@ -74,7 +73,6 @@ cyrus/man/man8/
>> @man cyrus/man/man8/cyr_synclog.8
>> @man cyrus/man/man8/cyr_virusscan.8
>> @man cyrus/man/man8/deliver.8
>> -@man cyrus/man/man8/fetchnews.8
>> @man cyrus/man/man8/fud.8
>> @man cyrus/man/man8/idled.8
>> @man cyrus/man/man8/imapd.8
>> @@ -84,7 +82,6 @@ cyrus/man/man8/
>> @man cyrus/man/man8/mbexamine.8
>> @man cyrus/man/man8/mbpath.8
>> @man cyrus/man/man8/mbtool.8
>> -@man cyrus/man/man8/nntpd.8
>> @man cyrus/man/man8/notifyd.8
>> @man cyrus/man/man8/pop3d.8
>> @man cyrus/man/man8/quota.8
>> @@ -116,7 +113,6 @@ cyrus/sbin/
>> @bin cyrus/sbin/cyr_virusscan
>> @bin cyrus/sbin/cyrdump
>> @bin cyrus/sbin/deliver
>> -@bin cyrus/sbin/fetchnews
>> @bin cyrus/sbin/ipurge
>> @bin cyrus/sbin/mbexamine
>> @bin cyrus/sbin/mbpath
>>
>>
>>
>> On 19/11/20 09:16, Antoine Jacoutot wrote:
>>> On Wed, Nov 18, 2020 at 03:44:35PM -0300, Anatoli wrote:
>>>> Hi Antoine, all.
>>>>
>>>> For some months I was updating the cyrus-imapd port, upstreaming the
>>>> upstreamable patches and working with the upstream to improve additional
>>>> features of the port as follows.
>>>
>>> Hi Anatoli.
>>>
>>> That's awesome work, thanks for taking the time to work with upstream on
>>> this.
>>> I must say that I manage so many ports that I cannot find the time /
>>> motivation
>>> to work will all upstreams, all with a different contribution process etc.
>>>
>>> What's your next step on this?
>>> Wait until a new stable release is out and then we can update the port with
>>> your changes?
>>>
>>> Thanks again.
>>>
>>
>