This is the GNU mailutils package.
This document describes the actions needed to build the pre-release
or CVS version of the package. See end of file for copying conditions.
This is a *pre-release* version, and not ready for production use
yet. If you are taking source from CVS, you will need to have libtool,
automake, and autoconf installed to help contribute. See the chapter
`Building' for the detailed instructions. The script autogen.sh is
provided to help autoconfigure mailutils from the cvs src. After you
run autogen.sh, there should be a file 'INSTALL' with (generic)
installation instructions. Package-specific installation instructions
are set forth in the file README.
Please, note that the accompanying documentation may be inaccurate
or incomplete. The ChangeLog file is the authoritative documentation of
all recent changes.
Report bugs to <firstname.lastname@example.org>
* Checking Out the Sources
The following instructions apply if you wish to obtain sources from
the CVS repository:
To checkout the source tree from CVS issue the following command:
cvs -d :ext:email@example.com:/cvsroot/mailutils checkout mailutils
Make sure SSHv2 is used.
This will give you read-only access. If you think you need write access,
contact the mailing list.
In order to build this you will first need to have right versions
of autotools and some auxiliary GNU programs. At the time of this
writing these are:
Package Version (>=)
You will also need bison (or yacc) and flex. The grammar sources
were written so that any version of yacc or bison should be able to
handle them, however using recent bison is anyway recommended. The lex
sources could theoretically be compiled with AT&T lex. I have not
tested this, however, so using flex is higly recommended. I use flex
To prepare the package for building run autogen.sh. Then run
./configure with the desired options (See INSTALL and README for the
detailed instructions). Finally, run make. Notice that the first make
of the package should be made in the source directory. Subsequent
makes can use build directory different from the source one.
To enable additional debugging information, configure the package
with --enable-debug option.
Unless you compile mailutils statically, you will need to run
following command to debug any utility:
libtool --mode execute gdb UTILITY-NAME
Sometimes it is impossible or inconvenient to start a utility from
the debugger. In this case, use --HANG option, which is supported by
any of the mailutils programs. The option instructs the program to
sleep for a given number of seconds (3600 by default) right after
startup. For example, to debug `mimeview' utility, run
mimeview --HANG [OTHER-OPTIONS]
Then switch to another terminal, get the PID of the ivoked utility and
attach to it using gdb:
gdb mimeview PID
Once in gdb, issue the following command
Now set your breakpoints and proceed as usual.
* Importing gnulib files
Mailutils imports several source files from gnulib. These go
mainly to the conventional library libmailutils (directory lib/), but
several of them are incorporated into the main library libmailbox
(directory mailbox/). The imported sources are kept in the CVS
repository to avoid using eventually unstable versions appearing in
the main gnulib CVS. Once in a time we update the sources. The update
procedure is quite straightforward: change to the root directory of
the mailutils tree and run `gnulib-sync' script:
$ cd mailutils
$ scripts/gnulib-sync $HOME/src/gnulib
The script takes a single argument: name of the directory with the
copy of gnulib source tree (see http://savannah.gnu.org/projects/gnulib
for information on how to obtain gnulib sources). After incorporating
the files, gnulib-sync leaves in the current directory two files named
gnulib.changelog and gnulib.cvs. The file gnulib.changelog contains
an entry to be prepended to ChangeLog, the file gnulib.cvs is a shell
script with the commands necessary to incorporate all the changes into
If you need to add more gnulib modules to mailutils, add their
names to gnulib.modules file, following the instructions in its
heading comment. Please avoid placing modules in :mailbox section, as
this may lead to unwanted name clashes when linking user programs with
* Copyright information:
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
paragraph-separate: "[ ]*$"