Date: Mon, 8 Sep 2008 01:32:22 -0400 (EDT) From: Yarema <yds@CoolRat.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Beech Rintoul <Beech@FreeBSD.org>, bapt <Baptiste.Daroussin@Gmail.com> Subject: ports/127200: [PATCH] mail/dovecot new version 1.1.3 Message-ID: <20080908053222.7F5356432D06@orion.dppl.com> Resent-Message-ID: <200809080540.m885e85h034081@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 127200 >Category: ports >Synopsis: [PATCH] mail/dovecot new version 1.1.3 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Mon Sep 08 05:40:08 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Yarema >Release: FreeBSD 6.4-PRERELEASE amd64 >Organization: NYCBUG.org >Environment: System: FreeBSD 6.4-PRERELEASE amd64 FreeBSD 7.1-PRERELEASE amd64 >Description: Version update and deep reworking of the port. Supersedes and incorporates PR ports/127091, please close it. New files: files/patch-configur files/pkg-deinstall.in files/pkg-install.in Deleted files: pkg-deinstall pkg-install Add support for Berkeley DB used by the expire plugin. (Submitted by bapt <Baptiste.Daroussin@Gmail.com> as PR ports/127091) Install more DOCS. Move the SCRIPT_ENV substitutions to SUB_FILES otherwise DOVECOT_[UG]ID settings do not propagate to the binary package. Change from .if defined(WITHOUT_*) to .if defined(WITH_*) && !defined(WITHOUT_*) so make does the right thing in case both are defined. This sort of conflict can happen is these tunables are set in /etc/make.conf and options. Make the PROTOCOLS substitution include all the protocols which are built into the example config file. Clean up patch-dovecot-example.conf and perform some post-patch processing to reflect more closely how this port actually installs. This is necessary because of the optional ManageSieve patch. Modify files/dovecot.sh.in to ensure runtime directories exist with correct permissions. Rework the install so all the example config files get installed into EXAMPLESDIR as per hier(7) independent of the NOPORTDOCS tunable. Install the relevant config files into etc/ if no prior version exists. Ensure that 'make install' and pkg_add(1) produce identical installs and that everything is accounted for in the PLIST. >How-To-Repeat: cd /usr/ports/mail/dovecot/ && make install >Fix: diff -u -r -N dovecot-1.1.2/Makefile dovecot/Makefile --- dovecot-1.1.2/Makefile 2008-08-21 03:38:22.356910179 -0400 +++ dovecot/Makefile 2008-09-08 00:17:44.941119349 -0400 @@ -7,19 +7,19 @@ # PORTNAME= dovecot -DISTVERSION= 1.1.2 -PORTREVISION= 1 +DISTVERSION= 1.1.3 CATEGORIES= mail ipv6 MASTER_SITES= http://www.dovecot.org/releases/1.1/ -MAINTAINER= yds@coolrat.org +MAINTAINER= yds@CoolRat.org COMMENT= Secure and compact IMAP and POP3 servers USE_ICONV= yes USE_RC_SUBR= dovecot.sh GNU_CONFIGURE= yes -CONFIGURE_ARGS= --without-shadow --localstatedir=/var +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} +CONFIGURE_ARGS= --localstatedir=/var --without-shadow CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib" USE_LDCONFIG= ${PREFIX}/lib/dovecot \ @@ -27,25 +27,27 @@ ${PREFIX}/lib/dovecot/pop3 \ ${PREFIX}/lib/dovecot/lda -.if !defined(NOPORTDOCS) -PORTDOCS= *.txt wiki -.else +.if defined(NOPORTDOCS) CONFIGURE_ARGS+= --without-docs +.else +DOCS= AUTHORS COPYING COPYING.LGPL COPYING.MIT INSTALL NEWS TODO README +PORTDOCS= *.txt wiki ${DOCS} .endif DOVECOT_UID?= 143 DOVECOT_GID?= 143 -SCRIPT_ENV+= DOVECOT_UID=${DOVECOT_UID} \ - DOVECOT_GID=${DOVECOT_GID} + +PROTOCOLS= imap OPTIONS= KQUEUE "kqueue(2) support" on \ SSL "SSL support" on \ IPV6 "IPv6 support" on \ POP3 "POP3 support" on \ LDA "LDA support" on \ - MANAGESIEVE "ManageSieve support" off \ + MANAGESIEVE "ManageSieve support" on \ GSSAPI "GSSAPI support" off \ VPOPMAIL "VPopMail support" off \ + BDB "BerkleyDB support" off \ LDAP "OpenLDAP support" off \ PGSQL "PostgreSQL support" off \ MYSQL "MySQL support" off \ @@ -56,6 +58,15 @@ # Default requirement for dovecot rc script _REQUIRE= LOGIN +# sed script for dovecot.conf +SED_CONF= s!%%PROTOCOLS%%!${PROTOCOLS}!g;\ + s!/usr/!${PREFIX}/!g;\ + s!=/usr!=${PREFIX}!g;\ + s!=/etc !=${PREFIX}/etc !g;\ + s!/etc/dovecot!${PREFIX}&!g;\ + s![[:<:]]doc/(dovecot-[^-]+)-example.conf[[:>:]]!${EXAMPLESDIR}/\1.conf!g;\ + s!\#sendmail_path = /usr/.*!sendmail_path = /usr/sbin/sendmail!g; + ## kqueue(2) support # .if !defined(WITHOUT_KQUEUE) @@ -64,7 +75,9 @@ ## SSL support # -.if defined(WITHOUT_SSL) +.if defined(WITH_SSL) && !defined(WITHOUT_SSL) +PROTOCOLS+= imaps +.else CONFIGURE_ARGS+= --without-ssl .endif @@ -78,10 +91,12 @@ # .if defined(WITHOUT_POP3) CONFIGURE_ARGS+= --without-pop3d -PROTOCOLS= imap PLIST_SUB+= POP3="@comment " .else -PROTOCOLS= imap pop3 +PROTOCOLS+= pop3 +.if defined(WITH_SSL) && !defined(WITHOUT_SSL) +PROTOCOLS+= pop3s +.endif PLIST_SUB+= POP3="" .endif @@ -96,16 +111,18 @@ ## ManageSieve support # -.if defined(WITH_MANAGESIEVE) +.if defined(WITH_MANAGESIEVE) && !defined(WITHOUT_MANAGESIEVE) MANAGESIEVEVERSION!= ${MAKE} -C ${.CURDIR}/../dovecot-managesieve -V PORTVERSION PATCH_SITES!= ${MAKE} -C ${.CURDIR}/../dovecot-managesieve -V MASTER_SITES PATCHFILES+= dovecot-${PORTVERSION}-managesieve-${MANAGESIEVEVERSION}.diff.gz PATCH_DIST_STRIP= -p1 +PROTOCOLS+= managesieve +DOCS+= README.managesieve .endif ## GSSAPI support # -.if defined(WITH_GSSAPI) +.if defined(WITH_GSSAPI) && !defined(WITHOUT_GSSAPI) CONFIGURE_ARGS+= --with-gssapi .else CONFIGURE_ARGS+= --without-gssapi @@ -113,7 +130,7 @@ ## VPopMail Support # -.if defined(WITH_VPOPMAIL) +.if defined(WITH_VPOPMAIL) && !defined(WITHOUT_VPOPMAIL) VPOPMAIL= ${LOCALBASE}/vpopmail/bin/vchkpw BUILD_DEPENDS+= ${VPOPMAIL}:${PORTSDIR}/mail/vpopmail CONFIGURE_ARGS+= --with-vpopmail @@ -121,67 +138,104 @@ CONFIGURE_ARGS+= --without-vpopmail .endif +## BDB Support +# +.if defined(WITH_BDB) && !defined(WITHOUT_BDB) +USE_BDB= yes +CONFIGURE_ARGS+= --with-db +CFLAGS+= -I${BDB_INCLUDE_DIR} -L${BDB_LIB_DIR} +PLIST_SUB+= BDB="" +SED_CONF+= s!^\#(dict_db_config)!\1!; +.else +PLIST_SUB+= BDB="@comment " +.endif + ## OpenLDAP Support # -.if defined(WITH_LDAP) +.if defined(WITH_LDAP) && !defined(WITHOUT_LDAP) USE_OPENLDAP= yes CONFIGURE_ARGS+= --with-ldap +PLIST_SUB+= LDAP="" _REQUIRE+= slapd .else CONFIGURE_ARGS+= --without-ldap +PLIST_SUB+= LDAP="@comment " .endif ## PostgreSQL Support # -.if defined(WITH_PGSQL) +.if defined(WITH_PGSQL) && !defined(WITHOUT_PGSQL) USE_PGSQL= yes CONFIGURE_ARGS+= --with-pgsql +PLIST_SUB+= SQL="" _REQUIRE+= postgresql .else CONFIGURE_ARGS+= --without-pgsql +PLIST_SUB+= SQL="@comment " .endif ## MySQL Support # -.if defined(WITH_MYSQL) +.if defined(WITH_MYSQL) && !defined(WITHOUT_MYSQL) USE_MYSQL= yes CONFIGURE_ARGS+= --with-mysql +PLIST_SUB+= SQL="" _REQUIRE+= mysql .else CONFIGURE_ARGS+= --without-mysql +PLIST_SUB+= SQL="@comment " .endif ## SQLite Support # -.if defined(WITH_SQLITE) +.if defined(WITH_SQLITE) && !defined(WITHOUT_SQLITE) USE_SQLITE= 3 CONFIGURE_ARGS+= --with-sqlite +PLIST_SUB+= SQL="" .else CONFIGURE_ARGS+= --without-sqlite +PLIST_SUB+= SQL="@comment " .endif -SUB_LIST+= REQUIRE="${_REQUIRE}" +SUB_LIST+= REQUIRE="${_REQUIRE}" DOVECOT_UID=${DOVECOT_UID} DOVECOT_GID=${DOVECOT_GID} +SUB_FILES+= pkg-install pkg-deinstall post-patch: -.if defined(WITH_GSSAPI) - @${REINPLACE_CMD} -e 's,<gssapi/gssapi\.h>,<gssapi.h>,' \ - ${WRKSRC}/src/auth/mech-gssapi.c \ - ${WRKSRC}/configure -.endif - -post-build: - @${REINPLACE_CMD} \ - -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%PROTOCOLS%%,${PROTOCOLS},g' \ + @${REINPLACE_CMD} -E -e '${SED_CONF}' \ ${WRKSRC}/dovecot-example.conf + @${REINPLACE_CMD} -E -e'\ + s!-example\.conf[[:>:]]!.conf!g;\ + s!^(confdir[[:space:]]+=[[:space:]]+)\$$\(sysconfdir\)!\1${EXAMPLESDIR}!g;\ + ' ${WRKSRC}/*/Makefile.in ${WRKSRC}/Makefile.in +.if defined(WITH_GSSAPI) + @${REINPLACE_CMD} -e '\ + s!<gssapi/gssapi\.h>!<gssapi.h>!;\ + ' ${WRKSRC}/src/auth/mech-gssapi.c ${WRKSRC}/configure +.endif + @${LN} -f ${WRKSRC}/dovecot-example.conf ${WRKSRC}/dovecot.conf + @${LN} -f ${WRKSRC}/doc/dovecot-db-example.conf ${WRKSRC}/doc/dovecot-db.conf + @${LN} -f ${WRKSRC}/doc/dovecot-ldap-example.conf ${WRKSRC}/doc/dovecot-ldap.conf + @${LN} -f ${WRKSRC}/doc/dovecot-sql-example.conf ${WRKSRC}/doc/dovecot-sql.conf pre-install: @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL post-install: - @${MKDIR} ${DATADIR} - ${INSTALL_SCRIPT} ${WRKSRC}/doc/mkcert.sh ${DATADIR} - ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-openssl.cnf ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/dovecot.conf ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-db.conf ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-ldap.conf ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-sql.conf ${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-openssl.cnf ${EXAMPLESDIR} + ${INSTALL_SCRIPT} ${WRKSRC}/doc/mkcert.sh ${EXAMPLESDIR} + @${GREP} '^@exec ' ${TMPPLIST} \ + | ${SED} -e 's:^@exec ::; s:%D:${PREFIX}:g;' \ + > ${WRKDIR}/.PLIST.exec \ + && ${SH} ${WRKDIR}/.PLIST.exec +.if !defined(NOPORTDOCS) +.for f in ${DOCS} + ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} +.endfor +.endif @${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL @${CAT} ${PKGMESSAGE} diff -u -r -N dovecot-1.1.2/distinfo dovecot/distinfo --- dovecot-1.1.2/distinfo 2008-07-30 03:43:32.000000000 -0400 +++ dovecot/distinfo 2008-09-07 16:47:56.066415979 -0400 @@ -1,6 +1,6 @@ -MD5 (dovecot-1.1.2.tar.gz) = fcebb6c099421049632b2f1f019f55cd -SHA256 (dovecot-1.1.2.tar.gz) = 693981dbaa3bfda0796a88995b42c17f8c48d3cc8630a4762557db01170ca91e -SIZE (dovecot-1.1.2.tar.gz) = 2300564 -MD5 (dovecot-1.1.2-managesieve-0.10.3.diff.gz) = 72e1532ddd5df4ee5f8cf190a1b53cfe -SHA256 (dovecot-1.1.2-managesieve-0.10.3.diff.gz) = 67a2b7ca49d5dc96e57b534008593c9702cecd768801aaba2f588087e5fe5980 -SIZE (dovecot-1.1.2-managesieve-0.10.3.diff.gz) = 6117 +MD5 (dovecot-1.1.3.tar.gz) = 103ff0ffb4bcb37f22c27779553e48bc +SHA256 (dovecot-1.1.3.tar.gz) = e07d52e6d61a653672c5173d6d27fe119970c792478cbbd23b87f9fdfc0c13c7 +SIZE (dovecot-1.1.3.tar.gz) = 2306933 +MD5 (dovecot-1.1.3-managesieve-0.10.3.diff.gz) = 3e1755a2ca4dab1a8d1cb00d8ea9e451 +SHA256 (dovecot-1.1.3-managesieve-0.10.3.diff.gz) = 045520404c0928e63a7127d9a38b7c12ff68ff74dc423f88f8af9e93f129e756 +SIZE (dovecot-1.1.3-managesieve-0.10.3.diff.gz) = 5837 diff -u -r -N dovecot-1.1.2/files/dovecot.sh.in dovecot/files/dovecot.sh.in --- dovecot-1.1.2/files/dovecot.sh.in 2008-06-27 03:58:54.000000000 -0400 +++ dovecot/files/dovecot.sh.in 2008-08-01 05:54:20.414422689 -0400 @@ -7,20 +7,31 @@ # REQUIRE: %%REQUIRE%% # KEYWORD: shutdown +# Define these dovecot_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/dovecot # -# Add the following lines to /etc/rc.conf to enable dovecot: -# -#dovecot_enable="YES" +# DO NOT CHANGE THESE DEFAULT VALUES HERE # +: ${dovecot_enable:="NO"} . %%RC_SUBR%% name=dovecot rcvar=`set_rcvar` -: ${dovecot_enable:="NO"} command=%%PREFIX%%/sbin/${name} required_files=%%PREFIX%%/etc/${name}.conf +start_precmd="${name}_prestart" +extra_commands="restart" + +dovecot_prestart() +{ # Ensure runtime directories exist with correct permissions + base=/var/run/dovecot + /usr/bin/install -o root -g wheel -m 0755 -d ${base} + /usr/bin/install -o root -g dovecot -m 0750 -d ${base}/login +} load_rc_config ${name} run_rc_command "$1" diff -u -r -N dovecot-1.1.2/files/patch-configure dovecot/files/patch-configure --- dovecot-1.1.2/files/patch-configure 1969-12-31 19:00:00.000000000 -0500 +++ dovecot/files/patch-configure 2008-08-01 07:16:40.447361924 -0400 @@ -0,0 +1,10 @@ +--- configure.orig 2008-07-23 19:47:03.000000000 -0400 ++++ configure 2008-08-01 07:13:03.765264947 -0400 +@@ -1003,6 +1003,7 @@ + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' ++examplesdir='${datarootdir}/examples/${PACKAGE_TARNAME}' + infodir='${datarootdir}/info' + htmldir='${docdir}' + dvidir='${docdir}' diff -u -r -N dovecot-1.1.2/files/patch-dovecot-example.conf dovecot/files/patch-dovecot-example.conf --- dovecot-1.1.2/files/patch-dovecot-example.conf 2008-06-27 03:58:54.000000000 -0400 +++ dovecot/files/patch-dovecot-example.conf 2008-08-28 06:53:28.000000000 -0400 @@ -1,213 +1,288 @@ ---- dovecot-example.conf.orig 2008-06-21 21:21:38.422213158 +0100 -+++ dovecot-example.conf 2008-06-21 21:29:47.638914442 +0100 -@@ -12,7 +12,7 @@ - # Default values are shown for each setting, it's not required to uncomment - # any of the lines. Exception to this are paths, they're just examples with - # the real defaults being based on configure options. The paths listed here --# are for configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var -+# are for configure --prefix=%%PREFIX%% --sysconfdir=%%PREFIX%%/etc --localstatedir=/var - # --with-ssldir=/etc/ssl +--- dovecot-example.conf.orig 2008-08-28 06:53:28.000000000 -0400 ++++ dovecot-example.conf 2008-08-28 06:53:28.000000000 -0400 +@@ -20,7 +20,7 @@ - # Base directory where to store runtime data. -@@ -21,6 +21,7 @@ # Protocols we want to be serving: imap imaps pop3 pop3s # If you only want to use dovecot-auth, you can set this to "none". - #protocols = imap imaps +-#protocols = imap imaps +protocols = %%PROTOCOLS%% # A space separated list of IP or host addresses where to listen in for # connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6 -@@ -213,6 +214,7 @@ +@@ -44,7 +44,7 @@ + # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP + # matches the local IP (ie. you're connecting from the same computer), the + # connection is considered secure and plaintext authentication is allowed. +-#disable_plaintext_auth = yes ++disable_plaintext_auth = no + + # Should all IMAP and POP3 processes be killed when Dovecot master process + # shuts down. Setting this to "no" means that Dovecot can be upgraded without +@@ -211,7 +211,7 @@ + # # <doc/wiki/MailLocation.txt> # - #mail_location = +-#mail_location = +mail_location = mbox:~/mail/:INBOX=/var/mail/%u # If you need to set multiple mailbox locations or want to change default # namespace settings, you can do it by defining namespace sections. -@@ -273,6 +275,7 @@ +@@ -271,7 +271,7 @@ + # Group to enable temporarily for privileged operations. Currently this is # used only with INBOX when either its initial creation or dotlocking fails. # Typically this is set to "mail" to give access to /var/mail. - #mail_privileged_group = +-#mail_privileged_group = +mail_privileged_group = mail # Grant access to these supplementary groups for mail processes. Typically # these are used to set up access to shared mailboxes. Note that it may be -@@ -340,6 +343,7 @@ +@@ -310,7 +310,7 @@ + + # Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL + # since version 3, so this should be safe to use nowadays by default. +-#dotlock_use_excl = yes ++dotlock_use_excl = yes + + # Don't use fsync() or fdatasync() calls. This makes the performance better + # at the cost of potential data loss if the server (or the file server) +@@ -338,20 +338,20 @@ + # Show more verbose process titles (in ps). Currently shows user name and # IP address. Useful for seeing who are actually using the IMAP processes # (eg. shared mailboxes or if same uid is used for multiple accounts). - #verbose_proctitle = no +-#verbose_proctitle = no +verbose_proctitle = yes # Valid UID range for users, defaults to 500 and above. This is mostly # to make sure that users can't log in as daemons or other system users. -@@ -353,6 +357,7 @@ + # Note that denying root logins is hardcoded to dovecot binary and can't + # be done even if first_valid_uid is set to 0. +-#first_valid_uid = 500 ++first_valid_uid = 1000 + #last_valid_uid = 0 + + # Valid GID range for users, defaults to non-root/wheel. Users having + # non-valid GID as primary group ID aren't allowed to log in. If user # belongs to supplementary groups with non-valid GIDs, those groups are # not set. - #first_valid_gid = 1 -+first_valid_gid = 0 +-#first_valid_gid = 1 ++first_valid_gid = 1000 #last_valid_gid = 0 # Maximum number of running mail processes. When this limit is reached, -@@ -503,19 +508,19 @@ +@@ -418,7 +418,7 @@ - protocol imap { - # Login executable location. -- #login_executable = /usr/libexec/dovecot/imap-login -+ #login_executable = %%PREFIX%%/libexec/dovecot/imap-login - - # IMAP executable location. Changing this allows you to execute other - # binaries before the imap process is executed. - # - # This would write rawlogs into ~/dovecot.rawlog/ directory: -- # mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap -+ # mail_executable = %%PREFIX%%/libexec/dovecot/rawlog %%PREFIX%%/libexec/dovecot/imap - # - # This would attach gdb into the imap process and write backtraces into - # /tmp/gdbhelper.* files: -- # mail_executable = /usr/libexec/dovecot/gdbhelper /usr/libexec/dovecot/imap -+ # mail_executable = %%PREFIX%%/libexec/dovecot/gdbhelper %%PREFIX%%/libexec/dovecot/imap - # -- #mail_executable = /usr/libexec/dovecot/imap -+ #mail_executable = %%PREFIX%%/libexec/dovecot/imap - - # Maximum IMAP command line length in bytes. Some clients generate very long - # command lines with huge mailboxes, so you may need to raise this if you get -@@ -529,7 +534,7 @@ - # Support for dynamically loadable plugins. mail_plugins is a space separated - # list of plugins to load. - #mail_plugins = -- #mail_plugin_dir = /usr/lib/dovecot/imap -+ #mail_plugin_dir = %%PREFIX%%/lib/dovecot/imap + # When copying a message, do it with hard links whenever possible. This makes + # the performance much better, and it's unlikely to have any side effects. +-#maildir_copy_with_hardlinks = yes ++maildir_copy_with_hardlinks = yes + + # When copying a message, try to preserve the base filename. Only if the + # destination mailbox already contains the same name (ie. the mail is being +@@ -426,7 +426,7 @@ + # done only by looking at dovecot-uidlist file, so if something outside + # Dovecot does similar filename preserving copies, you may run into problems. + # NOTE: This setting requires maildir_copy_with_hardlinks = yes to work. +-#maildir_copy_preserve_filename = no ++maildir_copy_preserve_filename = yes + ## + ## mbox-specific settings +@@ -533,7 +533,7 @@ # Send IMAP capabilities in greeting message. This makes it unnecessary for # clients to request it with CAPABILITY command, so it saves one round-trip. -@@ -564,6 +569,7 @@ + # Many clients however don't understand it and ask the CAPABILITY anyway. +- #login_greeting_capability = no ++ login_greeting_capability = yes + + # IMAP logout format string: + # %i - total number of bytes read from client +@@ -562,7 +562,7 @@ + # but not both. Thunderbird separates these two by forcing server to # accept '/' suffix in mailbox names in subscriptions list. # The list is space-separated. - #imap_client_workarounds = +- #imap_client_workarounds = + imap_client_workarounds = delay-newmail netscape-eoh tb-extra-mailbox-sep } ## -@@ -572,11 +578,11 @@ +@@ -585,7 +585,7 @@ + # Support LAST command which exists in old POP3 specs, but has been removed + # from new ones. Some clients still wish to use this though. Enabling this + # makes RSET command clear all \Seen flags from messages. +- #pop3_enable_last = no ++ pop3_enable_last = yes + + # If mail has X-UIDL header, use it as the mail's UIDL. + #pop3_reuse_xuidl = no +@@ -614,7 +614,7 @@ + # Dovecot's default, so if you're building a new server it would be a good + # idea to change this. %08Xu%08Xv should be pretty fail-safe. + # +- #pop3_uidl_format = %08Xu%08Xv ++ pop3_uidl_format = %08Xu%08Xv - protocol pop3 { - # Login executable location. -- #login_executable = /usr/libexec/dovecot/pop3-login -+ #login_executable = %%PREFIX%%/libexec/dovecot/pop3-login - - # POP3 executable location. See IMAP's mail_executable above for examples - # how this could be changed. -- #mail_executable = /usr/libexec/dovecot/pop3 -+ #mail_executable = %%PREFIX%%/libexec/dovecot/pop3 - - # Don't try to set mails non-recent or seen with POP3 sessions. This is - # mostly intended to reduce disk I/O. With maildir it doesn't move files -@@ -636,7 +642,7 @@ - # Support for dynamically loadable plugins. mail_plugins is a space separated - # list of plugins to load. - #mail_plugins = -- #mail_plugin_dir = /usr/lib/dovecot/pop3 -+ #mail_plugin_dir = %%PREFIX%%/lib/dovecot/pop3 - - # Workarounds for various client bugs: - # outlook-no-nuls: -@@ -647,6 +653,7 @@ + # POP3 logout format string: + # %i - total number of bytes read from client +@@ -645,7 +645,7 @@ + # Outlook Express and Netscape Mail breaks if end of headers-line is # missing. This option simply sends it if it's missing. # The list is space-separated. - #pop3_client_workarounds = +- #pop3_client_workarounds = + pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } ## -@@ -664,7 +671,7 @@ - # Support for dynamically loadable plugins. mail_plugins is a space separated - # list of plugins to load. - #mail_plugins = -- #mail_plugin_dir = /usr/lib/dovecot/lda -+ #mail_plugin_dir = %%PREFIX%%/lib/dovecot/lda +@@ -667,7 +667,7 @@ # If user is over quota, return with temporary failure instead of # bouncing the mail. -@@ -679,6 +686,7 @@ +- #quota_full_tempfail = no ++ quota_full_tempfail = yes - # Binary to use for sending mails. - #sendmail_path = /usr/lib/sendmail -+ sendmail_path = /usr/sbin/sendmail - - # Human readable error message for rejection mails. Use can use variables: - # %n = CRLF, %r = reason, %s = subject, %t = recipient -@@ -693,7 +701,7 @@ - ## + # Format to use for logging mail deliveries. You can use variables: + # %$ - Delivery status message (e.g. "saved to INBOX") +@@ -736,7 +736,7 @@ + # the standard variables here, eg. %Lu would lowercase the username, %n would + # drop away the domain if it was given, or "%n-AT-%d" would change the '@' into + # "-AT-". This translation is done after auth_username_translation changes. +-#auth_username_format = ++auth_username_format = %Ln + + # If you want to allow master users to log in by specifying the master + # username within the normal username string (ie. not using SASL mechanism's +@@ -792,7 +792,7 @@ + # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey + # gss-spnego + # NOTE: See also disable_plaintext_auth setting. +- mechanisms = plain ++ mechanisms = plain login - # Executable location --#auth_executable = /usr/libexec/dovecot/dovecot-auth -+#auth_executable = %%PREFIX%%/libexec/dovecot/dovecot-auth - - # Set max. process size in megabytes. - #auth_process_size = 256 -@@ -783,7 +791,7 @@ - #auth_ntlm_use_winbind = no - - # Path for Samba's ntlm_auth helper binary. --#auth_winbind_helper_path = /usr/bin/ntlm_auth -+#auth_winbind_helper_path = %%PREFIX%%/bin/ntlm_auth - - # Number of seconds to delay before replying to failed authentications. - #auth_failure_delay = 2 -@@ -816,7 +824,7 @@ - - #passdb passwd-file { - # File contains a list of usernames, one per line -- #args = /etc/dovecot.deny -+ #args = %%PREFIX%%/etc/dovecot.deny - #deny = yes + # + # Password database is used to verify user's password (and nothing more). +@@ -854,6 +854,7 @@ + # args = session=yes %Ls + # args = cache_key=%u dovecot + #args = dovecot ++ args = session=yes dovecot + } + + # System users (NSS, /etc/passwd, or similiar) +@@ -897,14 +898,16 @@ + + # SQL database <doc/wiki/AuthDatabase.SQL.txt> + #passdb sql { +- # Path for SQL configuration file, see doc/dovecot-sql-example.conf +- #args = ++ # Path for SQL configuration file. ++ # See doc/dovecot-sql-example.conf ++ #args = /etc/dovecot-sql.conf + #} + + # LDAP database <doc/wiki/AuthDatabase.LDAP.txt> + #passdb ldap { +- # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf +- #args = ++ # Path for LDAP configuration file. ++ # See doc/dovecot-ldap-example.conf ++ #args = /etc/dovecot-ldap.conf + #} + + # vpopmail authentication <doc/wiki/AuthDatabase.VPopMail.txt> +@@ -931,7 +934,7 @@ + # proceses. Useful with remote NSS lookups that may block. + # NOTE: Be sure to use this setting with nss_ldap or users might get + # logged in as each others! +- #args = ++ args = blocking=yes + } + + # passwd-like file with specified location +@@ -960,14 +963,16 @@ + + # SQL database <doc/wiki/AuthDatabase.SQL.txt> + #userdb sql { +- # Path for SQL configuration file, see doc/dovecot-sql-example.conf +- #args = ++ # Path for SQL configuration file. ++ # See doc/dovecot-sql-example.conf ++ #args = /etc/dovecot-sql.conf #} -@@ -1053,7 +1061,7 @@ - # referenced using URIs in format "proxy:<name>". + # LDAP database <doc/wiki/AuthDatabase.LDAP.txt> + #userdb ldap { +- # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf +- #args = ++ # Path for LDAP configuration file. ++ # See doc/dovecot-ldap-example.conf ++ #args = /etc/dovecot-ldap.conf + #} + + # vpopmail <doc/wiki/AuthDatabase.VPopMail.txt> +@@ -1007,25 +1012,25 @@ + #ssl_username_from_cert = no + + # It's possible to export the authentication interface to other programs: +- #socket listen { +- #master { ++ socket listen { ++ master { + # Master socket provides access to userdb information. It's typically + # used to give Dovecot's local delivery agent access to userdb so it + # can find mailbox locations. +- #path = /var/run/dovecot/auth-master +- #mode = 0600 ++ path = /var/run/dovecot/auth-master ++ mode = 0600 + # Default user/group is the one who started dovecot-auth (root) + #user = + #group = +- #} +- #client { ++ } ++ client { + # The client socket is generally safe to export to everyone. Typical use + # is to export it to your SMTP server so it can do SMTP AUTH lookups + # using it. +- #path = /var/run/dovecot/auth-client +- #mode = 0660 +- #} +- #} ++ path = /var/run/dovecot/auth-client ++ mode = 0660 ++ } ++ } + } - dict { -- #quota = mysql:/etc/dovecot-dict-quota.conf -+ #quota = mysql:%%PREFIX%%/etc/dovecot-dict-quota.conf + # If you wish to use another authentication server than dovecot-auth, you can +@@ -1055,8 +1060,9 @@ + #quota = mysql:/etc/dovecot-dict-quota.conf } - # Path to Berkeley DB's configuration file. See doc/dovecot-db.conf for an -@@ -1095,8 +1103,8 @@ +-# Path to Berkeley DB's configuration file. See doc/dovecot-db-example.conf +-#dict_db_config = ++# Path to Berkeley DB's configuration file. ++# See doc/dovecot-db-example.conf ++#dict_db_config = /etc/dovecot-db.conf + + ## + ## Plugin settings +@@ -1093,8 +1099,8 @@ # Each quota root has separate limits. Only the command for the first # exceeded limit is excecuted, so put the highest limit first. # Note that % needs to be escaped as %%, otherwise "% " expands to empty. - # quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95 - # quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80 -+ # quota_warning = storage=95%% %%PREFIX%%/local/bin/quota-warning.sh 95 -+ # quota_warning2 = storage=80%% %%PREFIX%%/local/bin/quota-warning.sh 80 ++ # quota_warning = storage=95%% /usr/bin/quota-warning.sh 95 ++ # quota_warning2 = storage=80%% /usr/bin/quota-warning.sh 80 #quota = maildir # ACL plugin. vfile backend reads ACLs from "dovecot-acl" file from maildir -@@ -1105,7 +1113,7 @@ - # one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter - # specifies how many seconds to wait between stat()ing dovecot-acl file - # to see if it changed. -- #acl = vfile:/etc/dovecot-acls:cache_secs=300 -+ #acl = vfile:%%PREFIX%%/etc/dovecot-acls:cache_secs=300 - - # Convert plugin. If set, specifies the source storage path which is - # converted to destination storage (mail_location) when the user logs in. -@@ -1124,14 +1132,14 @@ - # until the message can be saved within quota limits. The configuration file - # is a text file where each line is in format: <priority> <mailbox name> - # Mails are first deleted in lowest -> highest priority number order -- #trash = /etc/dovecot-trash.conf -+ #trash = %%PREFIX%%/etc/dovecot-trash.conf - - # Expire plugin. Mails are expunged from mailboxes after being there the - # configurable time. The first expiration date for each mailbox is stored in - # a dictionary so it can be quickly determined which mailboxes contain - # expired mails. The actual expunging is done in a nightly cronjob, which +@@ -1131,7 +1137,7 @@ # you must set up: -- # dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool -+ # dovecot --exec-mail ext %%PREFIX%%/libexec/dovecot/expire-tool + # dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool #expire = Trash 7 Spam 30 - #expire_dict = db:/var/lib/dovecot/expire.db +- #expire_dict = db:/var/lib/dovecot/expire.db ++ #expire_dict = db:/var/db/dovecot/expire.db + # Lazy expunge plugin. Currently works only with maildirs. When a user + # expunges mails, the mails are moved to a mailbox in another namespace diff -u -r -N dovecot-1.1.2/files/pkg-deinstall.in dovecot/files/pkg-deinstall.in --- dovecot-1.1.2/files/pkg-deinstall.in 1969-12-31 19:00:00.000000000 -0500 +++ dovecot/files/pkg-deinstall.in 2008-09-08 00:04:05.549837739 -0400 @@ -0,0 +1,70 @@ +#! /bin/sh +# +# $FreeBSD: $ +# +# ex:ts=4 + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then + read -p "${question} [${default}]? " answer + fi + echo ${answer:-${default}} +} + +yesno() { + local question default answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy]*) return 0;; + [Nn]*) return 1;; + esac + echo "Please answer yes or no." + done +} + +delete_account() { + local port user uid group gid + + port=$1 + user=${2%:*} + uid=${2#*:} + group=${3%:*} + gid=${3#*:} + + echo "If you do not intend to reinstall ${port}, you should manually" + echo "remove user '${user}' (uid='${uid}') and group '${group}' (gid='${gid}')." +} + +case $2 in + +DEINSTALL) + if ps -axc | grep -qw dovecot; then + if yesno "Dovecot is still running. Shall I stop it?" y; then + killall dovecot + sleep 2 + else + echo "OK ... I hope you know what you are doing." + fi + fi + + delete_account Dovecot dovecot:${DOVECOT_UID:-%%DOVECOT_UID%%} dovecot:${DOVECOT_GID:-%%DOVECOT_GID%%} + + echo "Also manually rm -rf /var/db/dovecot if anything was stored there." + + base=/var/run/dovecot + DIRLIST="${base}/login ${base}" + echo "Cleaning up \"${base}\"." + for directory in ${DIRLIST}; do + rmdir ${directory} 2>/dev/null || : + done + ;; + +esac diff -u -r -N dovecot-1.1.2/files/pkg-install.in dovecot/files/pkg-install.in --- dovecot-1.1.2/files/pkg-install.in 1969-12-31 19:00:00.000000000 -0500 +++ dovecot/files/pkg-install.in 2008-09-07 18:19:12.118758892 -0400 @@ -0,0 +1,97 @@ +#!/bin/sh +# +# $FreeBSD: ports/mail/dovecot/files/pkg-install.in,v 1.11 2008/04/10 09:45:22 rafan Exp $ +# +# ex:ts=4 + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then + read -p "${question} [${default}]? " answer + fi + echo ${answer:-${default}} +} + +yesno() { + local question default answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy]*) return 0;; + [Nn]*) return 1;; + esac + echo "Please answer yes or no." + done +} + +create_account() { + local port user uid group gid gcos home shell + + port=$1 + user=${2%:*} + uid=${2#*:} + group=${3%:*} + gid=${3#*:} + gcos=$4 + home=$5 + shell=$6 + + pw_user_uid=$(pw usershow -n "${user}" 2>/dev/null | cut -d: -f3) + pw_uid_user=$(pw usershow -u "${uid}" 2>/dev/null | cut -d: -f1) + pw_group_gid=$(pw groupshow -n "${group}" 2>/dev/null | cut -d: -f3) + pw_gid_group=$(pw groupshow -g "${gid}" 2>/dev/null | cut -d: -f1) + + if [ -z "${pw_group_gid}" -a -z "${pw_gid_group}" ]; then + echo "You need a ${group} group; creating it..." + pw groupadd "${group}" -g "${gid}" || exit + echo "Done." + elif [ "${gid}" = "${pw_group_gid}" -a "${group}" = "${pw_gid_group}" ]; then + echo "Using existing ${group} group." + else + echo "${port} has reserved the groupname '${group}' and gid '${gid}':" + [ -n "${pw_group_gid}" -a "${gid}" != "${pw_group_gid}" ] \ + && echo "ERROR: groupname '${group}' already in use by gid '${pw_group_gid}'" + [ -n "${pw_gid_group}" -a "${group}" != "${pw_gid_group}" ] \ + && echo "ERROR: gid '${gid}' already in use by group '${pw_gid_group}'" + echo "Please resolve these issues and try again:" + echo "Either remove the conflicting group or if you wish to continue using a legacy group override DOVECOT_GID." + exit 1 + fi + + if [ -z "${pw_user_uid}" -a -z "${pw_uid_user}" ]; then + echo "You need a ${user} user; creating it..." + pw useradd "${user}" -u "${uid}" -g "${group}" -c "${gcos}" -d "${home}" -s "${shell}" + echo "Done." + elif [ "${uid}" = "${pw_user_uid}" -a "${user}" = "${pw_uid_user}" ]; then + echo "Using existing ${user} user." + else + echo "${port} has reserved the username '${user}' and uid '${uid}':" + [ -n "${pw_user_uid}" -a "${uid}" != "${pw_user_uid}" ] \ + && echo "ERROR: username '${user}' already in use by uid '${pw_user_uid}'" + [ -n "${pw_uid_user}" -a "${user}" != "${pw_uid_user}" ] \ + && echo "ERROR: uid '${uid}' already in use by user '${pw_uid_user}'" + echo "Please resolve these issues and try again:" + echo "Either remove the conflicting user or if you wish to continue using a legacy user override DOVECOT_UID." + exit 1 + fi +} + +case $2 in + +PRE-INSTALL) + create_account Dovecot dovecot:${DOVECOT_UID:-%%DOVECOT_UID%%} dovecot:${DOVECOT_GID:-%%DOVECOT_GID%%} "Dovecot User" /var/empty /usr/sbin/nologin + ;; + +POST-INSTALL) + base=/var/run/dovecot + /usr/bin/install -o root -g wheel -m 0755 -d ${base} + /usr/bin/install -o root -g dovecot -m 0750 -d ${base}/login + ;; + +esac diff -u -r -N dovecot-1.1.2/pkg-deinstall dovecot/pkg-deinstall --- dovecot-1.1.2/pkg-deinstall 2007-01-08 03:42:38.000000000 -0500 +++ dovecot/pkg-deinstall 1969-12-31 19:00:00.000000000 -0500 @@ -1,65 +0,0 @@ -#! /bin/sh -# -# ex:ts=4 - -ask() { - local question default answer - - question=$1 - default=$2 - if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then - read -p "${question} [${default}]? " answer - fi - echo ${answer:-${default}} -} - -yesno() { - local question default answer - - question=$1 - default=$2 - while :; do - answer=$(ask "${question}" "${default}") - case "${answer}" in - [Yy]*) return 0;; - [Nn]*) return 1;; - esac - echo "Please answer yes or no." - done -} - -delete_account() { - local port user uid group gid - - port=$1 - user=${2%:*} - uid=${2#*:} - group=${3%:*} - gid=${3#*:} - - echo "If you do not intend to reinstall ${port}, you should manually remove the user '${user}' (uid='${uid}') and the group '${group}' (gid='${gid}')." -} - -case $2 in - -DEINSTALL) - if ps -axc | grep -qw dovecot; then - if yesno "Dovecot is still running. Shall I stop it?" y; then - killall dovecot - sleep 2 - else - echo "OK ... I hope you know what you are doing." - fi - fi - - delete_account Dovecot dovecot:${DOVECOT_UID:-143} dovecot:${DOVECOT_GID:-143} - - base=/var/run/dovecot - DIRLIST="${base}/login ${base}" - echo "Cleaning up \"${base}\"." - for directory in ${DIRLIST}; do - rmdir ${directory} 2>/dev/null || : - done - ;; - -esac diff -u -r -N dovecot-1.1.2/pkg-install dovecot/pkg-install --- dovecot-1.1.2/pkg-install 2008-04-11 03:48:42.000000000 -0400 +++ dovecot/pkg-install 1969-12-31 19:00:00.000000000 -0500 @@ -1,107 +0,0 @@ -#!/bin/sh -# -# $FreeBSD: ports/mail/dovecot/pkg-install,v 1.11 2008/04/10 09:45:22 rafan Exp $ -# -# ex:ts=4 - -ask() { - local question default answer - - question=$1 - default=$2 - if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then - read -p "${question} [${default}]? " answer - fi - echo ${answer:-${default}} -} - -yesno() { - local question default answer - - question=$1 - default=$2 - while :; do - answer=$(ask "${question}" "${default}") - case "${answer}" in - [Yy]*) return 0;; - [Nn]*) return 1;; - esac - echo "Please answer yes or no." - done -} - -create_account() { - local port user uid group gid gcos home shell - - port=$1 - user=${2%:*} - uid=${2#*:} - group=${3%:*} - gid=${3#*:} - gcos=$4 - home=$5 - shell=$6 - - pw_user_uid=$(pw usershow -n "${user}" 2>/dev/null | cut -d: -f3) - pw_uid_user=$(pw usershow -u "${uid}" 2>/dev/null | cut -d: -f1) - pw_group_gid=$(pw groupshow -n "${group}" 2>/dev/null | cut -d: -f3) - pw_gid_group=$(pw groupshow -g "${gid}" 2>/dev/null | cut -d: -f1) - - if [ -z "${pw_group_gid}" -a -z "${pw_gid_group}" ]; then - echo "You need a ${group} group; creating it..." - pw groupadd "${group}" -g "${gid}" || exit - echo "Done." - elif [ "${gid}" = "${pw_group_gid}" -a "${group}" = "${pw_gid_group}" ]; then - echo "Using existing ${group} group." - else - echo "${port} has reserved the groupname '${group}' and gid '${gid}':" - [ -n "${pw_group_gid}" -a "${gid}" != "${pw_group_gid}" ] \ - && echo "ERROR: groupname '${group}' already in use by gid '${pw_group_gid}'" - [ -n "${pw_gid_group}" -a "${group}" != "${pw_gid_group}" ] \ - && echo "ERROR: gid '${gid}' already in use by group '${pw_gid_group}'" - echo "Please resolve these issues and try again:" - echo "Either remove the conflicting group or if you wish to continue using a legacy group override DOVECOT_GID." - exit 1 - fi - - if [ -z "${pw_user_uid}" -a -z "${pw_uid_user}" ]; then - echo "You need a ${user} user; creating it..." - pw useradd "${user}" -u "${uid}" -g "${group}" -c "${gcos}" -d "${home}" -s "${shell}" - echo "Done." - elif [ "${uid}" = "${pw_user_uid}" -a "${user}" = "${pw_uid_user}" ]; then - echo "Using existing ${user} user." - else - echo "${port} has reserved the username '${user}' and uid '${uid}':" - [ -n "${pw_user_uid}" -a "${uid}" != "${pw_user_uid}" ] \ - && echo "ERROR: username '${user}' already in use by uid '${pw_user_uid}'" - [ -n "${pw_uid_user}" -a "${user}" != "${pw_uid_user}" ] \ - && echo "ERROR: uid '${uid}' already in use by user '${pw_uid_user}'" - echo "Please resolve these issues and try again:" - echo "Either remove the conflicting user or if you wish to continue using a legacy user override DOVECOT_UID." - exit 1 - fi -} - -case $2 in - -PRE-INSTALL) - create_account Dovecot dovecot:${DOVECOT_UID:-143} dovecot:${DOVECOT_GID:-143} "Dovecot User" /var/empty /usr/sbin/nologin - ;; - -POST-INSTALL) - base=/var/run/dovecot - DIRLIST="${base} ${base}/login" - echo "Fixing ownerships and modes in \"${base}\"." - for directory in ${DIRLIST}; do - if [ ! -d "${directory}" ]; then - mkdir -p ${directory} - echo "Created directory: ${directory}" - fi - done - chown -R root:wheel ${base} - chmod -R 0755 ${base} - chown -R root:dovecot ${base}/login - chmod -R 0750 ${base}/login - ;; - -esac diff -u -r -N dovecot-1.1.2/pkg-plist dovecot/pkg-plist --- dovecot-1.1.2/pkg-plist 2008-07-25 04:21:31.000000000 -0400 +++ dovecot/pkg-plist 2008-09-07 21:39:53.280810348 -0400 @@ -1,10 +1,4 @@ @comment $FreeBSD: ports/mail/dovecot/pkg-plist,v 1.28 2008/07/24 23:38:12 beech Exp $ -@unexec if cmp -s %D/etc/dovecot-example.conf %D/etc/dovecot.conf; then rm -f %D/etc/dovecot.conf; fi -etc/dovecot-example.conf -@exec if [ ! -f %D/etc/dovecot.conf ] ; then cp -p %D/%F %B/dovecot.conf; fi -%%PORTDOCS%%etc/dovecot-db-example.conf -%%PORTDOCS%%etc/dovecot-ldap-example.conf -%%PORTDOCS%%etc/dovecot-sql-example.conf @dirrmtry include/dovecot lib/dovecot/imap/lib01_acl_plugin.so lib/dovecot/imap/lib02_lazy_expunge_plugin.so @@ -29,7 +23,7 @@ lib/dovecot/lda/lib20_fts_plugin.so lib/dovecot/lda/lib20_mail_log_plugin.so lib/dovecot/lda/lib21_fts_squat_plugin.so -@dirrm lib/dovecot/lda +@dirrmtry lib/dovecot/lda lib/dovecot/pop3/lib02_lazy_expunge_plugin.so lib/dovecot/pop3/lib10_quota_plugin.so lib/dovecot/pop3/lib20_convert_plugin.so @@ -40,6 +34,7 @@ lib/dovecot/pop3/lib20_zlib_plugin.so lib/dovecot/pop3/lib21_fts_squat_plugin.so @dirrm lib/dovecot/pop3 +@exec install -o root -g wheel -m 0755 -d %D/lib/dovecot/auth @dirrm lib/dovecot/auth lib/dovecot/lib01_acl_plugin.a lib/dovecot/lib01_acl_plugin.la @@ -74,7 +69,7 @@ lib/dovecot/lib21_fts_squat_plugin.a lib/dovecot/lib21_fts_squat_plugin.la lib/dovecot/lib21_fts_squat_plugin.so -@dirrm lib/dovecot +@dirrmtry lib/dovecot libexec/dovecot/checkpassword-reply libexec/dovecot/convert-tool %%LDA%%libexec/dovecot/deliver @@ -92,9 +87,21 @@ %%POP3%%libexec/dovecot/pop3-login libexec/dovecot/rawlog libexec/dovecot/ssl-build-param -@dirrm libexec/dovecot +@dirrmtry libexec/dovecot sbin/dovecot sbin/dovecotpw -%%DATADIR%%/dovecot-openssl.cnf -%%DATADIR%%/mkcert.sh -@dirrm %%DATADIR%% +@unexec if cmp -s %D/%%EXAMPLESDIR%%/dovecot.conf %D/etc/dovecot.conf; then rm -f %D/etc/dovecot.conf; fi +%%EXAMPLESDIR%%/dovecot.conf +@exec if [ ! -f %D/etc/dovecot.conf ]; then cp -p %D/%%EXAMPLESDIR%%/dovecot.conf %D/etc/dovecot.conf; fi +%%BDB%%@unexec if cmp -s %D/%%EXAMPLESDIR%%/dovecot-db.conf %D/etc/dovecot-db.conf; then rm -f %D/etc/dovecot-db.conf; fi +%%EXAMPLESDIR%%/dovecot-db.conf +%%BDB%%@exec if [ ! -f %D/etc/dovecot-db.conf ]; then cp -p %D/%%EXAMPLESDIR%%/dovecot-db.conf %D/etc/dovecot-db.conf; fi +%%LDAP%%@unexec if cmp -s %D/%%EXAMPLESDIR%%/dovecot-ldap.conf %D/etc/dovecot-ldap.conf; then rm -f %D/etc/dovecot-ldap.conf; fi +%%EXAMPLESDIR%%/dovecot-ldap.conf +%%LDAP%%@exec if [ ! -f %D/etc/dovecot-ldap.conf ]; then cp -p %D/%%EXAMPLESDIR%%/dovecot-ldap.conf %D/etc/dovecot-ldap.conf; fi +%%SQL%%@unexec if cmp -s %D/%%EXAMPLESDIR%%/dovecot-sql.conf %D/etc/dovecot-sql.conf; then rm -f %D/etc/dovecot-sql.conf; fi +%%EXAMPLESDIR%%/dovecot-sql.conf +%%SQL%%@exec if [ ! -f %D/etc/dovecot-sql.conf ]; then cp -p %D/%%EXAMPLESDIR%%/dovecot-sql.conf %D/etc/dovecot-sql.conf; fi +%%EXAMPLESDIR%%/dovecot-openssl.cnf +%%EXAMPLESDIR%%/mkcert.sh +@dirrm %%EXAMPLESDIR%% >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080908053222.7F5356432D06>