Bug 150789 - New port: mail/dovecot20
Summary: New port: mail/dovecot20
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Greg Lewis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-21 17:20 UTC by nagy.attila
Modified: 2010-11-27 06:15 UTC (History)
0 users

See Also:


Attachments
file.shar (31.18 KB, text/plain)
2010-09-21 17:20 UTC, nagy.attila
no flags Details
dovecot204.patch (938 bytes, patch)
2010-09-27 10:29 UTC, nagy.attila
no flags Details | Diff
dovecot204.patch (938 bytes, patch)
2010-09-27 10:29 UTC, nagy.attila
no flags Details | Diff
dovecot20.shar (29.21 KB, application/x-shar)
2010-10-04 20:09 UTC, Greg Lewis
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description nagy.attila 2010-09-21 17:20:00 UTC
This is a copied and slightly modified version of mail/dovecot, upgraded to the version 2.0(.3).

I've made this a separate port, because a lot of things have changed, and upgrading between major versions is not a simple matter of portupgrade, and also, new versions from the 1.2 branch are available... It would be nice to repo copy the mail/dovecot port to this one and apply the new version to preserve history. There is a new user needed (dovenull), so there are two additional patches in the shar, for the UIDs and the GIDs file.
Detailed instructions on upgrading: http://wiki2.dovecot.org/Upgrading/2.0
The largest changes since v1.2 are:

	* Dovecot uses two system users for internal purposes now by default:
	  dovenull and dovecot. You need to create the dovenull user or change
	  default_login_user setting.
	* Global ACLs are now looked up using namespace prefixes. For example
	  if you previously had INBOX. namespace prefix and a global ACL for
	  "INBOX.Sent", it's now looked up from "INBOX.Sent" file instead of
	  "Sent" as before.
	* Maildir: File permissions are no longer based on dovecot-shared file,
	  but the mailbox directory.
	* vpopmail support is currently disabled due to reliability issues (by the program's author)

	+ Redesigned master process. It's now more modular and there is less
	  code running as root.
	+ Configuration supports now per-local/remote ip/network settings.
	+ dsync utility does a two-way mailbox synchronization.
	+ LMTP server and proxying.
	+ Added mdbox (multi-dbox) mail storage backend.
	+ doveadm utility can be used to do all kinds of administration
	  functions. Old dovecotpw and *view utilities now exist in its
	  subcommands.
	+ imap and pop3 processes can now handle multiple connections.
	+ IMAP: COMPRESS=DEFLATE is supported by imap_zlib plugin
	+ director service helps NFS installations to redirect users always
	  to same server to avoid corruption

Fix: Patch attached with submission follows:
Comment 1 nagy.attila 2010-09-27 10:29:31 UTC
  Dovecot 2.0.4 is released, attached is a patch for the submitted port, 
users are advised to upgrade.

Changelog:

multi-dbox users: Be careful about the INDEX change.

Maildir users: I hope v2.0 is now finally stable.

	* multi-dbox: If :INDEX=path is specified, keep
	  storage/dovecot.map.index* files also in the index path rather than
	  in the main storage directory.

	  WARNING: if you specified :INDEX= with earlier mdbox installation,
	  you must now manually move the storage indexes to the expected
	  directory! Otherwise Dovecot won't see them and will rebuild the
	  indexes, possibly unexpunging some mails.

	- Maildir: Copying messages with hard links sometimes caused the
	  source maildir's entire tmp/ directory to be renamed to destination
	  maildir as if it were a message.
	- Maildir: v2.0.3 broke expunging copied messages sometimes
	- Maildir: INBOX whose tmp/ directory was lost couldn't be opened
	- single-dbox: Messages weren't copied with hard links
	- vpopmail support is hopefully working again.
	- dsync: POP3 UIDLs weren't copied with Maildir
	- dict file: Fixed fd leak (showed up easily with LMTP + quota)

Comment 2 nagy.attila 2010-09-27 10:29:31 UTC
  Dovecot 2.0.4 is released, attached is a patch for the submitted port, 
users are advised to upgrade.

Changelog:

multi-dbox users: Be careful about the INDEX change.

Maildir users: I hope v2.0 is now finally stable.

	* multi-dbox: If :INDEX=path is specified, keep
	  storage/dovecot.map.index* files also in the index path rather than
	  in the main storage directory.

	  WARNING: if you specified :INDEX= with earlier mdbox installation,
	  you must now manually move the storage indexes to the expected
	  directory! Otherwise Dovecot won't see them and will rebuild the
	  indexes, possibly unexpunging some mails.

	- Maildir: Copying messages with hard links sometimes caused the
	  source maildir's entire tmp/ directory to be renamed to destination
	  maildir as if it were a message.
	- Maildir: v2.0.3 broke expunging copied messages sometimes
	- Maildir: INBOX whose tmp/ directory was lost couldn't be opened
	- single-dbox: Messages weren't copied with hard links
	- vpopmail support is hopefully working again.
	- dsync: POP3 UIDLs weren't copied with Maildir
	- dict file: Fixed fd leak (showed up easily with LMTP + quota)

Comment 3 support 2010-09-30 09:50:10 UTC
Please do not forget to put in these two patches.
These are very important to run dovecot2

href="http://hg.dovecot.org/dovecot-2.0/rev/e5f0231b7a40

And also the following, taken from the mailing list

>> I upgraded from 2.0.2 this morning and now all the mails which were 
>> compressed using zlib plugin are not readable anymore. Also, new mails 
>> are not stored compressed anymore either. This is on OpenBSD amd64, and 
>> I am using sdbox.
>
>Whops. This fixes it: http://hg.dovecot.org/dovecot-2.0/rev/c359ee549df7
>
>(and also making sure it won't happen again:
>http://hg.dovecot.org/dovecot-2.0/rev/a3c8026d0305
Comment 4 nagy.attila 2010-09-30 13:08:53 UTC
  Hi,

I would like to avoid sending every (although important) patches which 
appear in hg until the port is committed to the tree. Until that I will 
send patches for new releases only.

Thanks,
Comment 5 dennylin93 2010-10-03 11:00:58 UTC
Hi,

I asked this question on freebsd-ports@, but I didn't really get any
replies. Should mail/dovecot be updated to 2.0 or should a new port be
created for 2.0?

It seems that the port names are a bit inconsistent. E.g., mail/postfix
contains the latest stable version and older versions are named
mail/postfixXX. On the other hand, net/freeradius contains 1.1 while
net/freeradius2 has the latest version.

-- 
Denny Lin
Comment 6 nagy.attila 2010-10-04 10:16:01 UTC
  Hi,

My personal opinion is that versioned ports are the best. Major versions 
usually differ so much that an automatic upgrade is not desireable.
Take for example Berkeley DB and OpenLDAP...

On 10/03/2010 12:00 PM, Denny Lin wrote:
> Hi,
>
> I asked this question on freebsd-ports@, but I didn't really get any
> replies. Should mail/dovecot be updated to 2.0 or should a new port be
> created for 2.0?
>
> It seems that the port names are a bit inconsistent. E.g., mail/postfix
> contains the latest stable version and older versions are named
> mail/postfixXX. On the other hand, net/freeradius contains 1.1 while
> net/freeradius2 has the latest version.
>
Comment 7 Greg Lewis 2010-10-04 20:09:41 UTC
Thanks for working on this port!  It looks very promising :)

Attached is a shar that fixes most of the issues raised by portlint (and
also updated to 2.0.5).  Let me know if you've got any comments.

The changes include:

. Fix man page specification (use MAN1, MAN7).
. Simplify PORTDOCS handling.
. Use PORTEXAMPLES and fix example install.
. Add a CONFLICTS/LATEST_LINKS entry to prevent collisions with dovecot.

Couple of questions.

. Why dovecot20 rather than dovecot2?  I don't want to end up in the Samba
  situation (see net/samba3X).  If we're unlikely to want a dovecot21 port
  (and I hope we are) then I'd recommend dovecot2.
. What are you trying to do in these lines:

	@${GREP} '^@exec ' ${TMPPLIST} \
		| ${SED} -e 's:^@exec ::; s:%D:${PREFIX}:g;' \
		> ${WRKDIR}/.PLIST.exec \
		&& ${SH} ${WRKDIR}/.PLIST.exec

  'cos that seems like something you shouldn't need to do explicitly...

-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org
Comment 8 Greg Lewis 2010-10-04 21:11:25 UTC
Yuck.  Looks like the shar file I attached got messed up.  I've put it
here:

http://people.freebsd.org./~glewis/dovecot20.shar

-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org
Comment 9 Greg Lewis freebsd_committer freebsd_triage 2010-10-09 22:12:45 UTC
Responsible Changed
From-To: freebsd-ports-bugs->glewis

I'll take it.
Comment 10 Greg Lewis freebsd_committer freebsd_triage 2010-10-09 22:12:51 UTC
State Changed
From-To: open->feedback

I'm actually using this, so I may as well check it in :). 

Atilla, please let me know if you have any comments on the last shar I 
posted and on dovecot20 vs. dovecot2.
Comment 11 nagy.attila 2010-10-10 18:13:53 UTC
  Hi,

On 10/04/2010 09:09 PM, Greg Lewis wrote:
>   Attached is a shar that fixes most of the issues raised by portlint (and
> also updated to 2.0.5).  Let me know if you've got any comments.
Thanks for checking and fixing it.
>   
> Couple of questions.
>
> . Why dovecot20 rather than dovecot2?  I don't want to end up in the Samba
>    situation (see net/samba3X).  If we're unlikely to want a dovecot21 port
>    (and I hope we are) then I'd recommend dovecot2.
I haven't really followed Dovecot's lifecycle until now, so I'm not sure 
how big changes can be expected between minor versions.
If you did, and minor versions are "compatible" enough to make a 
2.0->2.1 switch easy and safe for the user, let it be dovecot2.
My assumption was that if there are big changes, it's safer to stick 
with that branch and let the port user decide whether to upgrade to a 
new minor version or not.
> . What are you trying to do in these lines:
>
> 	@${GREP} '^@exec ' ${TMPPLIST} \
> 		| ${SED} -e 's:^@exec ::; s:%D:${PREFIX}:g;' \
> 		>  ${WRKDIR}/.PLIST.exec \
> 		&&  ${SH} ${WRKDIR}/.PLIST.exec
>
>    'cos that seems like something you shouldn't need to do explicitly...
>
Hmm, it seems to be a leftover from the original port.

BTW, please add the following patch to the 2.0.5 release: 
http://hg.dovecot.org/dovecot-2.0/rev/2b8b2875af26
It corrects an fd leak bug, which makes the system die in some minutes 
(at least this is the case here, with 500+ pop logins per sec).

Thanks,

ps: if you commit this, please take care about its pigeonhole part too, 
I'm using them together. :)
Comment 12 Sahil Tandon freebsd_committer freebsd_triage 2010-10-31 03:13:10 UTC
The '@${GREP}' ... lines are an artifact from a mail/dovecot upgrade
from r1.91 -> 1.92.

-- 
Sahil Tandon <sahil@FreeBSD.org>
Comment 13 dfilter service freebsd_committer freebsd_triage 2010-11-27 05:53:41 UTC
glewis      2010-11-27 05:53:35 UTC

  FreeBSD ports repository

  Modified files:
    .                    UIDs GIDs 
    mail                 Makefile 
  Added files:
    mail/dovecot2        Makefile distinfo pkg-descr pkg-plist 
    mail/dovecot2/files  dovecot.sh.in pkg-deinstall.in 
                         pkg-install.in pkg-message.in 
  Log:
  . Add a port of the 2.x series of Dovecot:
  
  Dovecot is a secure and compact IMAP server which is in the early stages
  of development. It supports Maildirs and mbox formats and much of the
  IMAP v4 protocol including SSL/TLS. IPv6 support is also included.
  Dovecot supports authentication with OpenLDAP, PostgreSQL, MySQL, vpopmail
  and PAM.
  
  WWW: http://www.dovecot.org/
  
  PR:             150789
  Submitted by:   "Nagy, Attila" <bra@fsn.hu>
  
  Revision  Changes    Path
  1.115     +2 -1      ports/GIDs
  1.128     +2 -1      ports/UIDs
  1.1044    +1 -0      ports/mail/Makefile
  1.1       +227 -0    ports/mail/dovecot2/Makefile (new)
  1.1       +2 -0      ports/mail/dovecot2/distinfo (new)
  1.1       +59 -0     ports/mail/dovecot2/files/dovecot.sh.in (new)
  1.1       +65 -0     ports/mail/dovecot2/files/pkg-deinstall.in (new)
  1.1       +93 -0     ports/mail/dovecot2/files/pkg-install.in (new)
  1.1       +21 -0     ports/mail/dovecot2/files/pkg-message.in (new)
  1.1       +7 -0      ports/mail/dovecot2/pkg-descr (new)
  1.1       +429 -0    ports/mail/dovecot2/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 14 Greg Lewis freebsd_committer freebsd_triage 2010-11-27 06:15:47 UTC
State Changed
From-To: feedback->closed

New port added, with minor changes. Thanks!