1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Secure IMAP and POP3 server
8 HOMEPAGE= https://www.dovecot.org/
12 SITES[main]= https://dovecot.org/releases/2.3/
13 DISTFILE[1]= dovecot-2.3.13.tar.gz:main
15 SPKGS[standard]= complete
19 OPTIONS_AVAILABLE= none
20 OPTIONS_STANDARD= none
22 BUILDRUN_DEPENDS= krb5:primary:standard
23 clucene:single:standard
25 USERS= dovecot dovenull
26 GROUPS= dovecot dovenull
27 USERGROUP_SPKG= primary
29 USES= cpe iconv libtool pkgconfig ssl sqlite lz4
31 LICENSE= MIT:primary LGPL21:primary
32 LICENSE_TERMS= primary:{{WRKSRC}}/COPYING
33 LICENSE_FILE= MIT:{{WRKSRC}}/COPYING.MIT
34 LGPL21:{{WRKSRC}}/COPYING.LGPL
37 FPC_EQUIVALENT= mail/dovecot
40 CONFIGURE_ARGS= --localstatedir=/var
41 --with-statedir=/var/db/dovecot
61 INSTALL_TARGET= install-strip
62 INSTALL_REQ_TOOLCHAIN= yes
63 PLIST_SUB= REQUIRE="LOGIN"
64 RC_SUBR= dovecot:primary
65 SUB_FILES= pkg-message-primary
67 CPPFLAGS= -I{{OPENSSLINC}}
68 LDFLAGS= -L{{OPENSSLLIB}}
69 VAR_OPSYS[dragonfly]= CONFIGURE_ENV=i_cv_fd_passing=yes
73 -e 's|/usr/bin|${LOCALBASE}/bin|g' \
74 -e 's|/usr/local|${PREFIX}|g' \
75 ${WRKSRC}/src/plugins/fts/decode2text.sh
76 ${REINPLACE_CMD} -e 's,/etc/dovecot,${PREFIX}/etc/dovecot,g; \
77 s,sysconfdir=/etc,sysconfdir=${PREFIX}/etc,g' \
78 ${WRKSRC}/doc/example-config/*.conf ${WRKSRC}/doc/example-config/conf.d/*
79 ${REINPLACE_CMD} -e '/^LIBS =/s/$$/ @LTLIBICONV@/' \
80 ${WRKSRC}/src/lib-mail/Makefile.in
81 # Install the sample config files into ETCDIR/example-config/
82 ${REINPLACE_CMD} -e '/^exampledir =/s|\$$(docdir)|${PREFIX}/etc/dovecot|' \
83 ${WRKSRC}/doc/example-config/Makefile.in \
84 ${WRKSRC}/doc/example-config/conf.d/Makefile.in
86 [FILE:531:descriptions/desc.primary]
87 Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like
88 systems, written with security primarily in mind. Dovecot is an excellent
89 choice for both small and large installations. It's fast, simple to set up,
90 requires no special administration and it uses very little memory.
92 Dovecot is high-performing, self-optimizing, self-healing, and easily
93 extensible. It includes IMAP4rev1 and POP3 support. IPv6, SSL and TLS are
94 supported. It supports multiple commonly used IMAP extensions, including SORT,
99 a3f875b80ec11a452480690108660030978c94fa8e796ad6d943a874b496f1c4 7456073 dovecot-2.3.13.tar.gz
102 [FILE:16598:manifests/plist.primary]
109 etc/dovecot/example-config/
110 dovecot-dict-auth.conf.ext
111 dovecot-dict-sql.conf.ext
112 dovecot-ldap.conf.ext
113 dovecot-oauth2.conf.ext
116 etc/dovecot/example-config/conf.d/
132 auth-checkpassword.conf.ext
137 auth-passwdfile.conf.ext
156 auth-client-connection.h
157 auth-client-interface.h
158 auth-client-private.h
162 auth-master-connection.h
166 auth-request-handler-private.h
167 auth-request-handler.h
169 auth-request-var-expand.h
184 charset-utf8-private.h
191 config-parser-private.h
216 dict-transaction-memory.h
225 doveadm-mailbox-list-iter.h
226 doveadm-print-private.h
232 dsasl-client-private.h
238 event-filter-parser.h
239 event-filter-private.h
274 fts-tokenizer-common.h
275 fts-tokenizer-generic-private.h
276 fts-tokenizer-private.h
293 http-client-private.h
299 http-message-parser.h
301 http-request-parser.h
303 http-response-parser.h
305 http-server-private.h
325 imap-login-commands.h
326 imap-login-settings.h
345 imap-urlauth-backend.h
346 imap-urlauth-connection.h
348 imap-urlauth-private.h
352 imapc-client-private.h
368 index-search-private.h
369 index-search-result.h
375 index-thread-private.h
385 iostream-rawlog-private.h
387 iostream-ssl-private.h
396 istream-attachment-connector.h
397 istream-attachment-extractor.h
399 istream-binary-converter.h
407 istream-file-private.h
411 istream-header-filter.h
456 mail-index-alloc-cache.h
460 mail-index-sync-private.h
461 mail-index-transaction-private.h
463 mail-index-view-private.h
467 mail-search-mime-build.h
468 mail-search-mime-register.h
470 mail-search-parser-private.h
472 mail-search-register.h
476 mail-storage-private.h
477 mail-storage-service.h
478 mail-storage-settings.h
481 mail-transaction-log-private.h
482 mail-transaction-log-view-private.h
483 mail-transaction-log.h
487 mailbox-attribute-internal.h
488 mailbox-attribute-private.h
491 mailbox-list-delete.h
493 mailbox-list-index-storage.h
494 mailbox-list-index-sync.h
496 mailbox-list-iter-private.h
498 mailbox-list-maildir.h
499 mailbox-list-notify-tree.h
500 mailbox-list-notify.h
501 mailbox-list-private.h
502 mailbox-list-subscriptions.h
505 mailbox-recent-flags.h
506 mailbox-search-result-private.h
508 mailbox-uidvalidity.h
510 maildir-filename-flags.h
523 master-service-private.h
524 master-service-settings-cache.h
525 master-service-settings.h
526 master-service-ssl-settings.h
542 mdbox-storage-rebuild.h
545 mech-digest-md5-private.h
553 message-binary-part.h
556 message-header-decode.h
557 message-header-encode.h
558 message-header-hash.h
559 message-header-parser.h
563 message-part-serialize.h
576 notify-plugin-private.h
584 ostream-file-private.h
616 push-notification-drivers.h
617 push-notification-event-flagsclear.h
618 push-notification-event-flagsset.h
619 push-notification-event-mailboxcreate.h
620 push-notification-event-mailboxdelete.h
621 push-notification-event-mailboxrename.h
622 push-notification-event-mailboxsubscribe.h
623 push-notification-event-mailboxunsubscribe.h
624 push-notification-event-message-common.h
625 push-notification-event-messageappend.h
626 push-notification-event-messageexpunge.h
627 push-notification-event-messagenew.h
628 push-notification-event-messageread.h
629 push-notification-event-messagetrash.h
630 push-notification-events-rfc5423.h
631 push-notification-events.h
632 push-notification-plugin.h
633 push-notification-triggers.h
634 push-notification-txn-mbox.h
635 push-notification-txn-msg.h
648 restrict-process-size.h
670 smtp-client-command.h
671 smtp-client-connection.h
672 smtp-client-private.h
673 smtp-client-transaction.h
675 smtp-command-parser.h
682 smtp-server-private.h
684 smtp-submit-settings.h
703 submission-backend-relay.h
706 submission-commands.h
708 submission-recipient.h
709 submission-settings.h
733 lib02_imap_acl_plugin.a
734 lib02_imap_acl_plugin.so
735 lib02_lazy_expunge_plugin.a
736 lib02_lazy_expunge_plugin.so
737 lib05_mail_crypt_acl_plugin.a
738 lib05_mail_crypt_acl_plugin.so
739 lib05_pop3_migration_plugin.a
740 lib05_pop3_migration_plugin.so
742 lib05_snarf_plugin.so
743 lib10_last_login_plugin.a
744 lib10_last_login_plugin.so
745 lib10_mail_crypt_plugin.a
746 lib10_mail_crypt_plugin.so
747 lib10_mail_filter_plugin.a
748 lib10_mail_filter_plugin.so
750 lib10_quota_plugin.so
751 lib11_imap_quota_plugin.a
752 lib11_imap_quota_plugin.so
754 lib11_trash_plugin.so
755 lib15_notify_plugin.a
756 lib15_notify_plugin.so
757 lib20_autocreate_plugin.a
758 lib20_autocreate_plugin.so
759 lib20_charset_alias_plugin.a
760 lib20_charset_alias_plugin.so
761 lib20_expire_plugin.a
762 lib20_expire_plugin.so
765 lib20_listescape_plugin.a
766 lib20_listescape_plugin.so
767 lib20_mail_log_plugin.a
768 lib20_mail_log_plugin.so
769 lib20_mailbox_alias_plugin.a
770 lib20_mailbox_alias_plugin.so
771 lib20_notify_status_plugin.a
772 lib20_notify_status_plugin.so
773 lib20_push_notification_plugin.a
774 lib20_push_notification_plugin.so
775 lib20_quota_clone_plugin.a
776 lib20_quota_clone_plugin.so
777 lib20_replication_plugin.a
778 lib20_replication_plugin.so
779 lib20_var_expand_crypt.a
780 lib20_var_expand_crypt.so
781 lib20_virtual_plugin.a
782 lib20_virtual_plugin.so
785 lib21_fts_lucene_plugin.a
786 lib21_fts_lucene_plugin.so
787 lib21_fts_squat_plugin.a
788 lib21_fts_squat_plugin.so
789 lib30_imap_zlib_plugin.a
790 lib30_imap_zlib_plugin.so
791 lib90_old_stats_plugin.a
792 lib90_old_stats_plugin.so
793 lib95_imap_old_stats_plugin.a
794 lib95_imap_old_stats_plugin.so
795 lib99_welcome_plugin.a
796 lib99_welcome_plugin.so
799 libdovecot-compression.a
800 libdovecot-compression.so
801 libdovecot-compression.so.0
802 libdovecot-compression.so.0.0.0
805 libdovecot-dsync.so.0
806 libdovecot-dsync.so.0.0.0
810 libdovecot-fts.so.0.0.0
814 libdovecot-lda.so.0.0.0
817 libdovecot-login.so.0
818 libdovecot-login.so.0.0.0
822 libdovecot-sql.so.0.0.0
824 libdovecot-storage.so
825 libdovecot-storage.so.0
826 libdovecot-storage.so.0.0.0
837 libssl_iostream_openssl.a
838 libssl_iostream_openssl.so
840 lib20_auth_var_expand_crypt.a
841 lib20_auth_var_expand_crypt.so
845 lib10_doveadm_acl_plugin.a
846 lib10_doveadm_acl_plugin.so
847 lib10_doveadm_expire_plugin.a
848 lib10_doveadm_expire_plugin.so
849 lib10_doveadm_quota_plugin.a
850 lib10_doveadm_quota_plugin.so
851 lib20_doveadm_fts_lucene_plugin.a
852 lib20_doveadm_fts_lucene_plugin.so
853 lib20_doveadm_fts_plugin.a
854 lib20_doveadm_fts_plugin.so
855 libdoveadm_mail_crypt_plugin.a
856 libdoveadm_mail_crypt_plugin.so
857 lib/dovecot/old-stats/
902 share/aclocal/dovecot.m4
903 share/dovecot/stopwords/
927 doveadm-deduplicate.1.gz
928 doveadm-director.1.gz
934 doveadm-force-resync.1.gz
940 doveadm-instance.1.gz
943 doveadm-mailbox-cryptokey.1.gz
953 doveadm-replicator.1.gz
964 dovecot-sysreport.1.gz
967 share/man/man7/doveadm-search-query.7.gz
968 @postunexec echo "If you are removing dovecot2 permanently, you should 'rm -rf /var/db/dovecot' to clear out any remaining data."
971 [FILE:284:patches/patch-src_lib-master_test-event-stats.c]
972 --- src/lib-master/test-event-stats.c.orig 2020-12-22 13:26:52 UTC
973 +++ src/lib-master/test-event-stats.c
975 #include "stats-client.h"
976 #include "test-common.h"
981 #include <sys/socket.h>
984 [FILE:457:patches/patch-src_master_main.c]
985 --- src/master/main.c.orig 2020-12-22 13:26:52 UTC
986 +++ src/master/main.c
987 @@ -860,6 +860,8 @@ int main(int argc, char *argv[])
988 i_fatal("dup2(dev_null_fd) failed: %m");
989 if (!foreground && dup2(dev_null_fd, STDOUT_FILENO) < 0)
990 i_fatal("dup2(dev_null_fd) failed: %m");
991 + if (!foreground && dup2(dev_null_fd, STDERR_FILENO) < 0)
992 + i_fatal("dup2(dev_null_fd) failed: %m");
995 i_strconcat(set->base_dir, "/"MASTER_PID_FILE_NAME, NULL);
998 [FILE:1073:patches/patch-src_plugins_fts_decode2text.sh]
999 /usr gets changed to ${LOCALBASE} in post-patch:, so we
1000 cheat and set xpdf's path to /usr/lib.
1002 --- src/plugins/fts/decode2text.sh.orig 2020-12-22 13:26:52 UTC
1003 +++ src/plugins/fts/decode2text.sh
1004 @@ -79,16 +79,20 @@ wait_timeout() {
1007 if [ $fmt = "pdf" ]; then
1008 - /usr/bin/pdftotext $path - 2>/dev/null&
1009 + if [ -x /usr/lib/xpdf/pdftotext ]; then
1010 + /usr/lib/xpdf/pdftotext $path - 2>/dev/null&
1012 + /usr/local/bin/pdftotext $path - 2>/dev/null&
1014 wait_timeout 2>/dev/null
1015 elif [ $fmt = "doc" ]; then
1016 - (/usr/bin/catdoc $path; true) 2>/dev/null&
1017 + (/usr/local/bin/catdoc $path; true) 2>/dev/null&
1018 wait_timeout 2>/dev/null
1019 elif [ $fmt = "ppt" ]; then
1020 - (/usr/bin/catppt $path; true) 2>/dev/null&
1021 + (/usr/local/bin/catppt $path; true) 2>/dev/null&
1022 wait_timeout 2>/dev/null
1023 elif [ $fmt = "xls" ]; then
1024 - (/usr/bin/xls2csv $path; true) 2>/dev/null&
1025 + (/usr/local/bin/xls2csv $path; true) 2>/dev/null&
1026 wait_timeout 2>/dev/null
1027 elif [ $fmt = "odt" -o $fmt = "ods" -o $fmt = "odp" ]; then
1028 xmlunzip "content.xml"
1031 [FILE:2204:files/dovecot.in]
1035 # REQUIRE: %%REQUIRE%%
1039 # dovecot_enable (bool): Set it to YES to enable dovecot
1041 # dovecot_config (str): Path to dovecot.conf
1042 # Default: %%PREFIX%%/etc/dovecot.conf
1043 # Set it to a space-separated list to start
1044 # multiple dovecot instances
1045 # dovecot_flags (str): Extra flags to pass to dovecot
1048 # Define dovecot_* variables in one of these files:
1050 # /etc/rc.conf.local
1051 # /etc/rc.conf.d/dovecot
1056 rcvar=dovecot_enable
1058 # read configuration and set defaults
1059 load_rc_config ${name}
1060 : ${dovecot_enable:="NO"}
1061 : ${dovecot_config:="%%PREFIX%%/etc/${name}.conf"}
1063 command="%%PREFIX%%/sbin/${name}"
1064 start_precmd="start_precmd"
1065 stop_postcmd="stop_postcmd"
1066 restart_cmd="restart_cmd"
1067 extra_commands="reload"
1070 { # Ensure runtime directory exists with correct permissions
1071 /usr/bin/install -o root -g wheel -m 0755 -d ${base_dir}
1075 { # Cleanup runtime directory. The dovecot.conf link has to stay.
1076 /usr/bin/find ${base_dir} ! -type l -delete
1080 { # Overriding makes rc.subr run this once for each instance
1082 run_rc_command start
1085 # To start multiple instances of dovecot set dovecot_config to
1086 # a space separated list of configuration files.
1087 for config in ${dovecot_config}; do
1088 required_files="${config}"
1089 command_args="-c ${config}"
1090 if [ -s ${config} ]; then
1091 ${command} ${command_args} -a 2>&1 >/dev/null
1092 if [ $? -ne 0 ]; then
1094 echo "Configuration file check failed."
1095 # Use dovecot to print the config error.
1096 ${command} ${command_args} -a
1099 base_dir=$(${command} ${command_args} -a 2>/dev/null | /usr/bin/awk -F '= ' '/^base_dir =/ { print $2 }')
1100 pidfile="${base_dir}/master.pid"
1103 echo "Config file ${config} does not exist. If this is"
1104 echo "a new installation, please create the config files as outlined in"
1105 echo " # pkg info -D dovecot"
1111 [FILE:1353:files/pkg-message-primary.in]
1112 ---------------------------------------------------------------------
1114 You must create the configuration files yourself. Copy them over
1115 to %%ETCDIR%% and edit them as desired:
1117 cp -R %%ETCDIR%%/example-config/* \
1120 The default configuration includes IMAP and POP3 services, will
1121 authenticate users agains the system's passwd file, and will use
1122 the default /var/mail/$USER mbox files.
1124 Next, enable dovecot in /etc/rc.conf:
1126 dovecot_enable="YES"
1129 ---------------------------------------------------------------------
1131 To avoid a risk of mailbox corruption, do not set the
1132 security.bsd.see_other_uids or .see_other_gids sysctls to 0
1133 if Dovecot is storing mail for multiple concurrent users (PR 218392).
1135 ---------------------------------------------------------------------
1137 If you want to be able to search within attachments using the
1138 decode2text plugin, you'll need to install textproc/catdoc, and
1139 one of graphics/xpdf or graphics/poppler-utils.
1141 ---------------------------------------------------------------------
1143 There are some potentially breaking changes in Dovecot 2.3. If you
1144 are upgrading from Dovecot 2.2:
1146 * Read https://wiki2.dovecot.org/Upgrading/2.3
1147 * Merge the configuration file changes from
1148 %%ETCDIR%%/examples-config/
1150 ---------------------------------------------------------------------