summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/doc/README.sgml
blob: 1ddbf965608b47e615876e962e7695605742be83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN">

<book id="libetpan-readme">
  <bookinfo>
    <date>2003-12-03</date>
    <title>libEtPan!</title>
    <authorgroup>
      <author>
        <firstname>Viet Hoa</firstname>
        <surname>DINH</surname>
      </author>
    </authorgroup>
    <copyright>
      <year>2003</year>
      <holder>DINH Viet Hoa</holder>
    </copyright>
  </bookinfo>
  <toc></toc>
  
  <chapter id="introduction">
    <title>Introduction</title>
    
    <!-- description -->
    <sect1 id="description">
      <title>Description</title>
      <para>
        The purpose of this mail library is to provide a portable,
        efficient middleware for different kinds of mail access
        (IMAPrev4, POP3, NNTP, mbox, MH, Maildir).
      </para>
      
      <para>
        You have two kinds of mailbox access, either using low-level
        functions with a different interface for each kind of access
        or using higher-level functions, using a driver to wrap the
        higher-level API. The API will be the same for each kind of
        mail access using the higher-level API.
      </para>
    </sect1>
    
    <!-- authors -->
    <sect1 id="author">
      <title>Author</title>
      <sect2 id="main-auth">
        <title>Main author</title>
        <para>
          DINH Viet Hoa <email>hoa@users.sourceforge.net</email>
        </para>
      </sect2>
      <sect2 id="contrib">
        <title>Contributors</title>
        <para>
          <itemizedlist>
            <listitem>
              <para>
                Wim Delvaux <!-- wim.delvaux.adaptiveplanet.com -->
              </para>
            </listitem>
            <listitem>
              <para>
                Melvin Hadasht <!-- melvin.hadasht@free.fr -->
              </para>
            </listitem>
            <listitem>
              <para>
                David Woodhouse <!-- dwmw2@infradead.org -->
              </para>
            </listitem>
            <listitem>
              <para>
                Juergen Graf <!-- libetpan@codeguy.org -->
              </para>
            </listitem>
            <listitem>
              <para>
                Zsolt VARGA <!-- redax@redax.hu -->
              </para>
            </listitem>
            <listitem>
              <para>
                Gael Roualland <!-- gael.roualland@dial.oleane.com -->
              </para>
            </listitem>
          </itemizedlist>
        </para>
      </sect2>
    </sect1>
  </chapter>
  
  <!-- installation -->
  <chapter id="installation">
    <title>Installation</title>
    
    <sect1 id="dependencies">
      <title>Dependencies</title>
      
      <!-- dependencies for users -->
      <sect2 id="depend-users">
        <title>Dependencies for users</title>
        
        <itemizedlist>
          <listitem>
            <para>
              <ulink url="http://www.openssl.org">OpenSSL</ulink>
              (optional but recommended)
            </para>
          </listitem>
          <listitem>
            <para>
              <ulink url="http://www.sleepycat.com">Berkeley
              DB</ulink> (optional but recommended)
            </para>
          </listitem>
          <listitem>
            <para>
              POSIX Thread (required)
            </para>
          </listitem>
        </itemizedlist>
      </sect2>
      <!-- dependencies for developers -->
      <sect2 id="depend-developers">
        <title>Dependencies for developers</title>
        
        <itemizedlist>
          <listitem>
            <para>
              <ulink url="http://www.gnu.org/software/autoconf">
                autoconf
              </ulink>
              2.13
            </para>
          </listitem>
          <listitem>
            <para>
              <ulink url="http://www.gnu.org/software/automake">
                automake
              </ulink>
              1.4
            </para>
          </listitem>
          <listitem>
            <para>
              <ulink
                url="http://www.gnu.org/software/libtool/libtool.html">
                libtool
              </ulink>
              1.4.3
            </para>
          </listitem>
        </itemizedlist>
      </sect2>
    </sect1>
    <!-- packages -->
    <sect1 id="packages">
      <title>Existing packages</title>

      <itemizedlist>
        <listitem>
          <para>
            Before you try to compile it, you have to know that packages 
            exist for FreeBSD. (ports/mail/libetpan).
            This is currently 0.29 for -stable, 0.30 for -current.
          </para>
        </listitem>
      </itemizedlist>
    </sect1>
    
    <!-- compilation -->
    <sect1 id="compilation">
      <title>Compilation</title>
      
      <para>
        Generic installation instructions are in the
        <filename>INSTALL</filename> file
        You can pass the following extra options to configure :
      </para>

      <!-- FreeBSD -->
      <sect2 id="freebsd">
        <title>FreeBSD</title>
        <itemizedlist>
          <listitem>
            <para>
              make sure libiconv is installed from the ports collection (see
              <command>pkg_info</command>).
            </para>
          </listitem>
          <listitem>
            <para>
              issue configure with the following parameter:
              <screen>
<prompt>$</prompt> <userinput>./configure --with-libiconv-prefix=/usr/local</userinput>
              </screen>
            </para>
          </listitem>
        </itemizedlist>
      </sect2>
      
      <!-- MacOS X -->
      <sect2 id="macosx">
        <title>Mac OS X</title>
        <itemizedlist>
          <listitem>
            <para>
              You have to configure using the following command line :
              <command>CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib
                ./configure</command>
            </para>
          </listitem>
          <listitem>
            <para>
              in tests/option-parser.c, change the inclusion
              of <filename>getopt.h</filename> to
              <filename>gnugetopt/getopt.h</filename>
            </para>
          </listitem>
          <listitem>
            <para>
              in <filename>tests/Makefile</filename>, add
              <command>-I/sw/include</command> for the
              <command>CFLAGS</command> and
                -L/sw/lib -lgnugetopt for the LDFLAGS.
            </para>
          </listitem>
        </itemizedlist>
      </sect2>

      <!-- Linux -->
      <sect2 id="linux">
        <title>Linux</title>
        <itemizedlist>
          <listitem>
            <warning>
              <para>
                Since libEtPan! is making high usage of
                <command>mmap()</command> even for
                writing, when your mailboxes are on
                <command>NFS</command> filesystem with
                a Linux server, it is advised to use option
                <command>no_subtree_check</command> in
                <filename>/etc/exports</filename>.
                This should avoid corruption of data.
              </para>
              <para>
                The problem exist in Linux 2.4.22 and earlier versions.
              </para>
            </warning>
          </listitem>
          <listitem>
            <para>
              On RedHat systems, you have to configure using the
              following command line :
              <command>./configure --with-openssl=/usr/kerberos</command>
            </para>
          </listitem>
          <listitem>
            <para>
              On Debian systems, if the <command>./autogen</command>
              script fails on missing <command>AM_ICONV</command>, you
              have to install <command>gettext</command> package.
            </para>
          </listitem>
        </itemizedlist>
      </sect2>
      
      <!-- configure -->
      <sect2 id="configure">
        <title>configure</title>
        <para>
          You can use the following options :
        </para>
        <itemizedlist>
          <listitem>
            <para>
              <command>--enable-debug</command>    Compiles with
              debugging turned on
            </para>
          </listitem>
          <listitem>
            <para>
              <command>--enable-optim</command>    Turns on some
              optimizations flags for gcc
            </para>
          </listitem>
          <listitem>
            <para>
              <command>--without-openssl</command> Disables OpenSSL (do
              not look for it)
            </para>
          </listitem>
        </itemizedlist>
      </sect2>
      <sect2 id="install">
        <title>Compile and install</title>
        <para>
          Download the package and do the following :
        </para>
        <programlisting>
$ tar xzvf libetpan-XX.XX.tar.gz      # to decompress the package

$ cd libetpan-XX.XX

$ ./configure --help                 # to get options of configure

$ ./configure                        # you can specify your own options

$ make                               # to compile the package

$ su

# make install

# logout
        </programlisting>
      </sect2>
    </sect1>
  </chapter>
</book>