1
ManageSieve Download and Installation
2
=====================================
4
* <ManageSieve Installation for Dovecot v1.0> [ManageSieve.Install.1.0.txt]
13
The latest released versions of the <ManageSieve.txt> implementation for
14
Dovecot can be downloaded from the following locations:
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
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
25
follows:*'dovecot-1.2-managesieve-'*'<version>'*'.tar.gz'*
27
The tarball releases are signed with public key 0x3DFBB4F4, which can be found
30
Mercurial repositories
31
----------------------
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:
39
---%<-------------------------------------------------------------------------
40
http://hg.rename-it.nl/
41
---%<-------------------------------------------------------------------------
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.
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>.
60
Applying the patch to Dovecot varies a little between the different versions.
61
Downloading from Mercurial is a special case.
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):
69
---%<-------------------------------------------------------------------------
70
gzip -dc ../pathfile.diff.gz | patch -p1
71
---%<-------------------------------------------------------------------------
73
Once patched, you can compile Dovecot using the usual <build process>
74
[CompilingSource.txt]. So you do not need autotools.
79
The following command sequence shows how to incorporate the <ManageSieve.txt>
80
patch repository in a freshly cloned dovecot-1.1 tree:
82
---%<-------------------------------------------------------------------------
83
hg clone http://hg.dovecot.org/dovecot-1.1
85
hg clone http://hg.rename-it.nl/dovecot-1.1-managesieve-patch .hg/patches
87
---%<-------------------------------------------------------------------------
89
The procedure is identical for the other dovecot versions.
91
When updating the dovecot tree it is important to unapply all patches before
92
performing ''hg pull'' on the dovecot tree:
94
---%<-------------------------------------------------------------------------
99
---%<-------------------------------------------------------------------------
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!).
105
Updating the patch repository works as follows:
107
---%<-------------------------------------------------------------------------
109
hg -R .hg/patches pull
110
hg -R .hg/patches update
112
---%<-------------------------------------------------------------------------
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
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].
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:
135
---%<-------------------------------------------------------------------------
136
./configure --with-dovecot=<dovecot source tree>
137
--with-dovecot-sieve=<dovecot-sieve source tree>
140
---%<-------------------------------------------------------------------------
142
The parameters to './configure' represent the following:
144
* --with-dovecot=<path>
145
* Path to the compiled dovecot tree
146
* --with-dovecot-sieve=<path>
147
* Path to the compiled dovecot-sieve tree
149
(This file was created from the wiki on 2009-10-16 04:42)