~ubuntu-dev/ubuntu/lucid/dovecot/lucid-201002101901

« back to all changes in this revision

Viewing changes to doc/wiki/ManageSieve.Install.txt

  • Committer: Chuck Short
  • Date: 2010-01-21 20:21:25 UTC
  • mfrom: (4.1.11 squeeze)
  • Revision ID: zulcss@ubuntu.com-20100121202125-pme73o491kfwj5nc
* Merge from debian testing, remaining changes:
  + Add new binary pkg dovecot-postfix that integrates postfix and dovecot
    automatically: (LP: #164837)
  + debian/control:
    - add new binary with short description
    - set Architecture all for dovecot-postfix (LP: #329878)
  + debian/dovecot-postfix.postinst:
    - create initial certificate symlinks to snakeoil.
    - set up postfix with postconf to:
      - use Maildir/ as the default mailbox.
      - use dovecot as the sasl authentication server.
      - use dovecot LDA (deliver).
      - use tls for smtp{d} services.
    - fix certificates paths in postfix' main.cf
    - add reject_unauth_destination to postfix' recipient restrictions
    - add reject_unknown_sender_domain to postfix' sender restriction
    - rename configuration name on remove, delete on purge
    - restart dovecot after linking certificates
    - handle use case when postfix is unconfigurated
  + debian/dovecot-postfix.dirs: create backup directory for postfix's config
    configuration
  + restart postfix and dovecot.
  + debian/dovecot-postfix.postrm:
    - remove all dovecot related configuration from postfix.
    - restart postfix and dovecot.
  + debian/dovecot-common.init:
    - check if /etc/dovecot/dovecot-postfix.conf exists and use it
      as the configuration file if so.
  + debian/patches/warning-ubuntu-postfix.dpatch
    - add warning about dovecot-postfix.conf in dovecot default
      configuration file
  + debian/patches/dovecot-postfix.conf.diff:
    - Ubuntu server custom changes to the default dovecot configuration for
      better interfation with postfix.
    - enable sieve plugin.
    - Ubuntu server custom changes to the default dovecot configuration for
      better integration with postfix:
      - enable imap, pop3, imaps, pop3s and managesieve by default.
      - enable dovecot LDA (deliver).
      - enable SASL auth socket in postfix private directory
   + debian/rules:
     - copy, patch and install dovecot-postfix.conf in /etc/dovecot/.
     - build architecure independent packages too
   + Use Snakeoil SSL certificates by default.
     - debian/control: Depend on ssl-cert.
     - debian/patches/ssl-cert-snakeoil.dpatch: Change default SSL cert
       paths to snakeoil.
     - debian/dovecot-common.postinst: Relax grep for SSL_* a bit.
   + Add autopkgtest to debian/tests/*.
   + Fast TearDown: Update the lsb init header to not stop in level 6.
   + Add ufw integration:
     - Created debian/dovecot-common.ufw.profile.
     - debian/rules: install profile.
     - debian/control: suggest ufw.
   + debian/{control,rules}: enable PIE hardening.
   + dovecot-imapd, dovecot-pop3: Replaces dovecot-common (<< 1:1.1). (LP: #254721)
   + debian/control: Update Vcs-* headers.
   + Add SMTP-AUTH support for Outlook (login auth mechanism)
* New upstream release.
* debian/patches/gold-fix.patch: Removed. Fixed upstream.
* Moved libexec to lib corrections in dovecot-managesieve.patch and
  dovecot-managesieve-dist.patch to dovecot-example.patch
* debian/patches/dovecot-mboxlocking.patch: Regenerated to avoid FTBFS
  when quilt isn't installed.
* debian/patches/quota-mountpoint.patch: Removed. Not needed anymore.
* debian/patches/dovecot-quota.patch: Removed. Quotas aren't properly
  enabled unless mail_plugins = quota imap_quota.
* debian/patches/gold-fix.patch: Fixed configure script to build even
  with binutils-gold or --no-add-needed linker flag (Closes: #554306)
* debian/dovecot-common.init: fixed LSB headers. Thanks to Pascal Volk.
  (Closes: #558040)
* debian/changelog: added CVE references to previous changelog entry.
* debian/rules: checked up the build system. It's not fragile anymore.
  (Closes: 493803)
* debian/dovecot-common.postinst: Now invoking dpkg-reconfigure
  on dovecot-common is enough to generate new certificates
  if the previous ones were removed. (Closes: #545582)
* debian/rules: No longer install convert-tool in /usr/bin.
  It isn't an user utility and it should stay in /usr/lib/dovecot
  like all other similar tool.
* New upstream release. (Closes: #557601)
* [SECURITY] Fixes local information disclosure and denial of service.
  (see: http://www.dovecot.org/list/dovecot-news/2009-November/000143.html
  and CVE-2009-3897)
* Added myself to uploaders.
* Switched to the new source format "3.0 (quilt)":
  - removed dpatch from build-depends
  - removed debian/README.source because now we use only standard
    dpkg features
  - regenerated all patches
* Prepared to switch to multi-origin source:
  - recreated dovecot-libsieve.patch and dovecot-managesieve-dist.patch
    starting from the upstream tarball
  - removed all autotools related build-depends and build-conflict
  - renamed dovecot-libsieve and dovecot-managesieve directories
    to libsieve and managesieve.
* debian/rules: Moved the configuration of libsieve and managesieve from
  the build phase to the configuration phase
* Added dovecot-dbg package  with debugging symbols.  Thanks Stephan Bosch.
  (Closes: #554710)
* Fixed some stray libexec'isms in the default configuration.
* New upstream release.
* debian/dovecot-common.init:
  - use $CONF when starting the daemon. (Closes: #549944)
  - always output start/stop messages. (Closes: #523810)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
ManageSieve Download and Installation
 
2
=====================================
 
3
 
 
4
 * <ManageSieve Installation for Dovecot v1.0> [ManageSieve.Install.1.0.txt]
 
5
   has a separate page.
 
6
 
 
7
Downloading
 
8
-----------
 
9
 
 
10
Tarball releases
 
11
----------------
 
12
 
 
13
The latest released versions of the <ManageSieve.txt> implementation for
 
14
Dovecot can be downloaded from the following locations:
 
15
 
 
16
 * Dovecot v1.1: http://www.rename-it.nl/dovecot/1.1/
 
17
    * Patch filenames look as follows:
 
18
      *'dovecot-1.1.'*'X'*'-managesieve-'*'<version>'*'.diff.gz'* Package
 
19
      filenames look as
 
20
      follows:*'dovecot-1.1-managesieve-'*'<version>'*'.tar.gz'*
 
21
 * Dovecot v1.2: http://www.rename-it.nl/dovecot/1.2/
 
22
    * Patch filenames look as follows:
 
23
      *'dovecot-1.2.'*'X'*'-managesieve-'*'<version>'*'.diff.gz'* Package
 
24
      filenames look as
 
25
      follows:*'dovecot-1.2-managesieve-'*'<version>'*'.tar.gz'*
 
26
 
 
27
The tarball releases are signed with public key 0x3DFBB4F4, which can be found
 
28
at wwwkeys.pgp.net.
 
29
 
 
30
Mercurial repositories
 
31
----------------------
 
32
 
 
33
The <ManageSieve.txt> implementation is maintained in a set of Mercurial
 
34
repositories, just like Dovecot itself. If you need to use the very latest
 
35
version, even before it is released as a tarball, you can download it through
 
36
Mercurial. The<ManageSieve.txt> repositories for the various Dovecot versions
 
37
are publicly available at:
 
38
 
 
39
---%<-------------------------------------------------------------------------
 
40
http://hg.rename-it.nl/
 
41
---%<-------------------------------------------------------------------------
 
42
 
 
43
For each Dovecot version, there is a dovecot-1.X-managesieve and a
 
44
dovecot-1.X-managesieve-patch repository. The -patch repositories contain the
 
45
patches against the various dovecot versions. These are so-called Mercurial
 
46
Queues (MQ) repositories. This provides an easy (quilt-like) means to manage
 
47
patches over an upstream source repository like the one that exists for
 
48
Dovecot. The patches are managed in a repository called 'patches' below the .hg
 
49
directory in your main repository. Currently, these MQ repositories only have
 
50
the managesieve.patch, which is the actual patch that is refreshed and released
 
51
each time Timo makes a new Dovecot release. The dovecot-1.x-managesieve
 
52
repositories contain the actual<ManageSieve.txt> implementation.
 
53
 
 
54
Using these repositories is explained in the next two sections that deal with
 
55
patching the Dovecot tree and compiling Dovecot and<ManageSieve.txt>.
 
56
 
 
57
Patching Dovecot
 
58
----------------
 
59
 
 
60
Applying the patch to Dovecot varies a little between the different versions.
 
61
Downloading from Mercurial is a special case.
 
62
 
 
63
The <ManageSieve.txt> implementations for v1.1 and v1.2 consist of a patch in
 
64
'.diff.gz' format and a separate '.tar.gz' package. You first need to patch and
 
65
compile the Dovecot sources. Applying the patch is achieved by executing the
 
66
following command line inside the dovecot source tree (''../patchfile.diff.gz''
 
67
must be substituted with the location of the patch file you downloaded):
 
68
 
 
69
---%<-------------------------------------------------------------------------
 
70
gzip -dc ../pathfile.diff.gz | patch -p1
 
71
---%<-------------------------------------------------------------------------
 
72
 
 
73
Once patched, you can compile Dovecot using the usual <build process>
 
74
[CompilingSource.txt]. So you do not need autotools.
 
75
 
 
76
Mercurial
 
77
---------
 
78
 
 
79
The following command sequence shows how to incorporate the <ManageSieve.txt>
 
80
patch repository in a freshly cloned dovecot-1.1 tree:
 
81
 
 
82
---%<-------------------------------------------------------------------------
 
83
hg clone http://hg.dovecot.org/dovecot-1.1
 
84
cd dovecot-1.1
 
85
hg clone http://hg.rename-it.nl/dovecot-1.1-managesieve-patch .hg/patches
 
86
hg qpush
 
87
---%<-------------------------------------------------------------------------
 
88
 
 
89
The procedure is identical for the other dovecot versions.
 
90
 
 
91
When updating the dovecot tree it is important to unapply all patches before
 
92
performing ''hg pull'' on the dovecot tree:
 
93
 
 
94
---%<-------------------------------------------------------------------------
 
95
hg qpop --all
 
96
hg pull
 
97
hg update
 
98
hg qpush
 
99
---%<-------------------------------------------------------------------------
 
100
 
 
101
This otherwise results in a multi-head situation which can be resolved using a
 
102
''hg rollback'' or using ''hg qpop --all'' afterwards, which should gracefully
 
103
clean up the situation (never merge the heads!).
 
104
 
 
105
Updating the patch repository works as follows:
 
106
 
 
107
---%<-------------------------------------------------------------------------
 
108
hg qpop --all
 
109
hg -R .hg/patches pull
 
110
hg -R .hg/patches update
 
111
hg qpush
 
112
---%<-------------------------------------------------------------------------
 
113
 
 
114
After ''hg qpush'', the dovecot repository is patched and can be compiled using
 
115
the usual Mercurial<build process> [CompilingSource.txt] (don't forget
 
116
./autogen.sh).
 
117
 
 
118
Compiling
 
119
---------
 
120
 
 
121
The first prerequisite for compiling the <ManageSieve.txt> service is a patched
 
122
and compiled dovecot tree, as explained in the previous section. Note that the
 
123
service will compile against an unpatched dovecot tree, but keep in mind that
 
124
Dovecot will not know about the existence of<ManageSieve.txt> without the
 
125
patch. The second prerequisite is a compiled dovecot-sieve source tree.
 
126
Compiling the Sieve plugin is described<here> [LDA.Sieve.txt].
 
127
 
 
128
Now that you have both a compiled dovecot and a compiled dovecot-sieve source
 
129
tree, you can continue building the<ManageSieve.txt> service. You can either
 
130
unpack the '.tar.gz' package somewhere or clone the Mercurial repository. When
 
131
you have cloned the repository, you must first execute ''./autogen.sh'' inside
 
132
the source tree. For both alternatives the following commands subsequently need
 
133
to be executed inside the source tree:
 
134
 
 
135
---%<-------------------------------------------------------------------------
 
136
./configure --with-dovecot=<dovecot source tree>
 
137
--with-dovecot-sieve=<dovecot-sieve source tree>
 
138
make
 
139
sudo make install
 
140
---%<-------------------------------------------------------------------------
 
141
 
 
142
The parameters to './configure' represent the following:
 
143
 
 
144
 * --with-dovecot=<path>
 
145
    * Path to the compiled dovecot tree
 
146
 * --with-dovecot-sieve=<path>
 
147
    * Path to the compiled dovecot-sieve tree 
 
148
 
 
149
(This file was created from the wiki on 2009-10-16 04:42)